设计中国
新闻教程设计招聘下载培训图书会员博客聚合
热门文章
·模拟QQ菜单
·Web 2.0网站流行使用的颜...
·网页设计中META标签写法的...
·表格魔鬼教程经典版
·HTML中小meta的大作用
·JavaScript实用的一些技巧
·如何防止网页Demo被盗用
·分析网页文字的字号
·“mailto”标签四则应用技...
·如何利用HTML页面中meta元...

文章搜索

教程推荐





论坛精华
·国外优秀CorelDRAW作品欣...
·《描点大法》升级版
·CD功能之1——POWERCLIP
·各位盟友请将PS大赛作品望...
·NO.2号MM制作过程
·叶子,问个问题?
·FH制作荷花。(简易)
·兔子--再现
·海底世界制作教程
·我的第一副手绘作品,大家...
·很久没来,贴图一张
·翻译了一篇头发教程
·新作一幅!沌鼠标手绘!!!
·Adobe Illustrator 10 发...
·这是我学习ps以来的第一幅...

几种网页元素居中方案小结

作者:佚名     日期:2006-04-12 13:13     点击:
字体大小:      


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

来源:网页教学网整理


相关文章

·弹出网页窗口全攻略(html/hta) ·HTML中小meta的大作用
·分析网页文字的字号 ·HTML语言的标记meta的使用奥妙
·网页设计中META标签写法的常见错误及后果 ·制作强制固定表格大小的效果
·打开新的窗口与保住页面的referrer ·如何利用HTML页面中meta元素?
·图例分析outerHTML的用法 ·XHTML+CSS:调用样式表

其他文章



发表评论: 匿名发表 用户名:    查看评论

验证码:
· 您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
· 留言板管理人员有权保留或删除其管辖留言中的任意内容
· 本站提醒:不要进行人身攻击。谢谢配合。


网站介绍  |  广告业务  |  设计业务  |  免责声明  |  版权声明  |  联系我们

华人设计门户  |  © 2000-2005 设计中国 版权所有