当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 元素水平居中方案全集

CSS样式表
让图片 div居中实现代码
去掉点击链接时周围的虚线框outline属性
CSS 优先级 详细分析
广告始终定位到网页右下角 css
superLink 让伪链接更有可用性
CSS 模块化 实现方法
css 选择器 介绍
CSS 语法 学习css入门者看
firefox 滚动条消失引起页面抖动的问题
纯CSS定位的固定垂直居中浮动层代码,附经典解说 《详解定位与定位应用》
渲染CSS选择器
CSS 兼容问题
css textarea 高度自适应,无滚动条
CSS 网页表单实现鼠标悬停交互效果
鼠标激活显示背景色网页特效CSS代码
CSS制作用户登录和用户注册的用户体验表单
CSS代码 注释的3种方法
网页头部css代码优化实例
IE7和IE8的兼容性问题
CSS 网页布局网页制作技巧总结

CSS样式表 中的 元素水平居中方案全集


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 63 ::
收藏到网摘: n/a

先来看我一个简单XHTML/HTML文件代码(部分),我们的目的是让#container水平居中。





<body>
<div?id="container">
<h1>content</h1>
<p>Lorem?ipsum?dolor?sit?amet,?consectetuer?adipiscing?elit.Phasellus?varius?eleifend.</p>
</div>
</body>

使用自适应边界(auto?margin)
水平居中任意元素的首选办法是使用边界(margin)性质(property),并把左右之值设置为auto。但你必须为#container指定一个宽度。

div#container?{
margin-left:?auto;
margin-right:?auto;
width:?168px;
}
这个方案在任何当代浏览器上都有效,即使是IE6,前提是在web标准兼容模式下(compliance?mode)。不幸的是,它不会在先前版本的IE/Win中工作。我们为此列一个表格:


浏览的自适应边界支持一览表?浏览器?版本?支持?
Internet Explorer 6.0, compliance?mode?是?
Internet Explorer 6.0, quirks?mode?否?
Internet Explorer 5.5 Windows?否?
Internet Explorer 5.0 Windows?否?
Internet Explorer 5.2 Macintosh?是?
Mozilla 所有当前版本?是?
Mozilla Firefox?所有版本?是?
Netscape?4.x?否?
Netscape?6.x+?是?
Opera?6.0,?7.0?Macintosh?and?Windows?是?
Safari?1.2?是?

尽管受到浏览器支持的限制,大部分设计师还是提倡你尽可能这样做。但我们依然可以使用CSS应付一切情况。

使用文本排列(text-align)
此方案需要使用到text-align性质,应用给body元素并且赋予center的值。

body{
text-align:center;
}
它公正地对待各种浏览器,十分彻底,唾手可得。然而,这是赋予文本的性质,它使#container中的文本也居中了。所以,在布局上我们还得做一些额外工作:

div#container{
text-align:?left;
}
这样才可以把文本的对齐方式返回默认状状态。

综合边界和文本排列
因为文本排列向后兼容,当代浏览器也支持自适应边界,很多设计师把他们结合起来,实现跨浏览器使用。

body{
text-align:?center;
}
#container?{
margin-left:?auto;
margin-right:?auto;
border:?1px?solid?red;
width:?168px;
text-align:?left
}
唉,依然不完美,因为还是一个黑客技巧?(hack)。你不得不为文本排列写下多余的规则。但现在,我们可以使用更完美的跨浏览器的方案。

负边界解决方案
此方案得结合使用绝对定位(absolute?positioning?)。首先,把#container绝对定位并左偏移 50%,这样,#container的左边界就是页面分辨率的一半。下一步,把#container的左边界设置为负值,值大小为#container宽 度(width)的一半。

#container?{
background:?#ffc?url(mid.jpg)?repeat-y?center;
position:?absolute;
left:?50%;
width:?760px;
margin-left:?-380px;
}
看,没有任何黑客技巧(no?hacks)!连Netscape?4.x都支持!