DIV布局常见错误汇总

在2003年开始接触网页设计,一直到今年十一才开始深入学习DIV布局模式。在这个需要转变思维的过程中,使用DIV布局时还带有不少操作表格时的思想和习惯,以至于出了不少的错误,在此把容易出错的一些细节整理出来,希望对初学的朋友能有所帮助。

1.最常见的DIV嵌套错误

因为Xhtml 语法比较严格,诸如Firefox 之类的浏览器如果检查发现Xhtml里面有语法错误,那页面是不能正常显示的。刚刚开始学习DIV布局的时候经常会弄错DIV的嵌套关系。我们可以用Dreamweaver的验证功能检查一下有无这方面的错误。

2.由于粗心造成的标点错误
开始一味追求速度,在标点方面不太注意,到最后发现有些属性不起作用。最容易出错的例如:
正确:class=” “,错误:class=“ ”(标点的中英文切换)
正确:font-size: 12px;,错误:font-size: 12px;(标点的中英文切换)
正确:text-decoration: underline;,错误:text_decoration: underline;(是中划线而非下划线)
正确:img {border: 0;}错误:img {border: 0; (注意后边的”}”符号)
正确:<br /><img /><hr />错误:<br><img><hr>(这个错误只是个不好的习惯,不符合标准的写法,这种单标签一定要闭合)

3.在使用float元素时出现内容撑开的问题
在使用左浮动或者右浮动的时候一定要保证float元素的宽度之和小于或者等于100%,一般比较保险的做法是要小于98%。

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

5.重新定义一些默认的样式
某些属性如ul、li、margin、padding等,不同浏览器会有不同的解释。因此最好在开始布局之前先将全体的margin、padding设置为0;ul、li列表样式设置为none等。

6.float元素最好不要指定margin和padding属性
IE在显示指定了margin和padding的float元素时有bug。因此不要对float元素指定margin和padding属性(合理的做法:可在float元素内部嵌套一个div来设置margin和padding)。

7.float元素一定要指定width属性

很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何,一定要为其指定width属性。

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

最好的做法是用Dreamweaver专业软件直接新建网站页面,这样可以保证不会出错。

简单的排除错误的一些方法:

  1. 大概确定错误发生的位置
    如果因为小错误影响了整体布局,可以逐个删除div块,直到删除某个div块后显示恢复正常,即可确定错误发生的位置。
  2. 利用border属性解决Float布局错误
    使用float属性布局一不小心就会出错。这时为相关元素添加border属性以确定元素边界,错误原因即水落石出。

发表评论