第一宗罪:内联元素嵌套块元素
HTML 有两种显示方式:块(block)、内联(inline)。每个标签默认显示其中的一个。
块元素包括
等结构性标签。而内联元素应该包含在块元素里面并且连接文档流,例如锚点和。所以,内联元素应该始终位于块元素之中,而不存在其他方式。
第二宗罪:图片没有 alt 属性
网页中的图像必须包括 alt 属性,它可以让用户知道这是一个什么图片。当用户使用的是屏幕阅读器或者网速慢的时候会显示出来。alt
属性应该是对图片的描述,因此
alt=”图片”不是一个好习惯。如果图片纯粹是装饰性的,只需要加上一个空白的值即可:alt=””。
第三宗罪:必要的时候不使用列表
ul
(还有ol)用途很广并且在显示网页项目上非常灵活。毫无疑问,ul在显示列表上做的非常出色。所以,不要再用换行来代替列表了。
第四宗罪:使用和表示粗体和斜体
和分别显示粗体和斜体,但在语义上它们属于表现标签。因此用
CSS 的font-weight 和font-style 代替会更好。如果要显示的文字很重要,则可以通过
或
来进行强调。其效果和
、一样。但更棒。
即 bold ,粗体的意思。故
只是表示加粗而已。而
则表示加强,有强调的意思,只是默认的表现方式跟
一样而已。
第五宗罪:过多地使用换行符
换行符
只能用于截断文档流另起新行,而不应该用于产生元素之间的间距。替代方法是用
标签进行分割,然后用 css 的margin 属性来控制。
第六宗罪:使用错误的删除线标签
以前, 和
用来包含允许编辑的网页文本。但是现在它们被列入不推荐使用的标签之列。这意味着它们在 Transitional
模式下依然能正常工作。不过现在又一组新的标签 和
。它们通常一起使用,表示被删除和随后插入的文本。
第七宗罪:使用行内样式
使用行内样式很糟糕,这你可能已经听过上千次了。HTML 和 CSS 的意义就在于将结构和表现分离。没有理由将样式写在 HTML
里面。请记住,永远保持你的样式在外部样式表中。
第八宗罪:在HTML中添加或删除边框
border 属性是另外一个表现元素,所以应该用CSS来定义它。即便是去掉一个默认的边框。
第九宗罪:不使用标题标签
标题标签
到
都是可用的。可以很方便地通过作为标题来分隔你的文档。如果你有一段文字用来说明其次出现的内容,标题标签是一个不错的选择。你应该根据文档,从
到
选择一个合适的。
第十宗罪:使用 和
标签
和
不是W3C官方的 HTML
标准所赞同的。而且纯粹就是一种丑陋。
注意,我敢肯定你能够找出一堆方法让注意力转移到某个区域,而不是通过不停闪烁或者滚动网页。