您的位置:首页 > Web前端 > CSS

关于CSS+DIV一些兼容问题常见的例子

2011-09-14 14:30 537 查看
有些网站在IE6.0、Mozilla Firefox1.0、Opera 7.12中浏览发生变形和错位。 Www_Chinaz_com

在IE里居中,但Mozilla里没有。在IE中设置body {TEXT-ALIGN: center;}就已经可以居中了,但在Mozilla中必须对需要居中的层再加入以下样式设置:MARGIN-RIGHT: auto;MARGIN-LEFT: auto; [中国站长站]

超出宽度。在Mozilla里看正常的页面,在IE里因为超出宽度而变形,并排的层移到下面去了。这个情况是因为IE和Mozilla对盒模型解释不同造成的,有很多解决办法,比如"!important"方法。

web标准和CSS布局已经被越来越多的设计师了解和掌握。CSS布局经过一段时间的消化理解和应用,会有更多技术美观兼顾的网页涌现。

=========================常见错误=============================

 CSS+DIV是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用css+div的方式实现各种定位。应用应用DIV+CSS编码时很容易犯一些错误。本文列举了一些常见的错误:

  1. 检查HTML元素是否有拼写错误、是否忘记结束标记

  即使是老手也经常会弄错div的嵌套关系。可以用dreamweaver的验证功能检查一下有无错误。

  2. 检查CSS是否正确

  检查一下有无拼写错误、是否忘记结尾的 } 等。可以利用CleanCSS来检查 CSS的拼写错误。CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误。

  3. 确定错误发生的位置

  如果错误影响了整体布局,则可以逐个删除div块,直到删除某个div块后显示恢复正常,即可确定错误发生的位置。

  4. 利用border属性确定出错元素的布局特性

  使用float属性布局一不小心就会出错。这时为元素添加border属性确定元素边界,错误原因即水落石出。

  5. float元素的父元素不能指定clear属性

  MacIE下如果对float的元素的父元素使用clear属性,周围的float元素布局就会混乱。这是MacIE的著名的bug,倘若不知道就会走弯路。

  6. float元素务必指定width属性

  很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何,一定要为其指定width属性。另外指定元素时尽量使用em而不是px做单位。

  7. float元素不能指定margin和padding等属性

  IE在显示指定了margin和padding的float元素时有bug。因此不要对float元素指定margin和padding属性(可以在float元素内部嵌套一个div来设置margin和padding)。也可以使用hack方法为IE指定特别的值。

  8. float元素的宽度之和要小于100%

  如果float元素的宽度之和正好是100%,某些古老的浏览器将不能正常显示。因此请保证宽度之和小于99%。

  9. 是否重设了默认的样式?

  某些属性如margin、padding等,不同浏览器会有不同的解释。因此最好在开发前首先将全体的margin、padding设置为0、列表样式设置为none等。

  10. 是否忘记了写DTD?

  如果无论怎样调整不同浏览器显示结果还是不一样,那么可以检查一下页面开头是不是忘了写下面这行DTD:

以下是引用片段:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

11、使div居中

代码:<div style="margin:0 auto"> </div>

需要注意的问题是,页面DOCTYPE编码声明一定不要忘了,不然还是不能居中的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

此问题可以参考我以前写过的一篇日志:http://lintex.blog.sohu.com/8583306.html

12、文字垂直居中

代码:<div style="height:50px; line-height:50px;">It's a test.</div>

关键是line-height需要设置成和高度一样,就可以使文字垂直居中了。

13、IE 6 的双倍边距 BUG

这个问题网上介绍的很多,但是这个也是避免不了的问题

<div style="float:left; margin:5px;">

IE 6 下会理解为10px,解决办法是在style里面加入“display:inline”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: