网站建设公司,北京网站建设
北京网站建设   添加收藏 www.ok009.com设为首页 北京网站建设
网站建设报价
 
蜂巢互联网
  网站建设 >> WEB标准专栏  

WEB标准-元素水平居中方案总结


作者:yangguang lan    文章来源:不明   点击数:519     发布时间:2007-7-3 9:28:39

先来看我一个简单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都支持!

相关链接:北京网站建设



蜂巢互联网关联导航
蜂巢互联网
 网站建设套餐介绍  
 用户评价  
 成功案例  
 服务报价  
 建站流程  
 业务介绍  
 最新案例  
 WEB标准专栏  
 中国网站建设公司目录  
 网站建设相关知识热点与重点推荐  
 分类案例  

2008. 十月
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31



 
设计团队 | 联系我们 | 关于我们 | 网站地图 | 实习培训 | 人才招聘 | 蜂巢新闻 |网站点评 
 蜂巢联合科技有限公司 版权所有 网站建设,北京网站建设
网站建设,北京网站建设  经营许可证 
京ICP证050691号 
本站关键词:网站建设 北京网站建设 网站建设 网站制作 北京网站建设公司 网站建设公司 网站建设 上海网站建设 网页设计 
 咨询热线:(010)51265897/52721601/52721602 客服热线:(010) 82254248/82254548 传真: 010-51265897转822 

Update Oct 12, 2008