我注意到IE9,Firefox和Chrome都允许你使用任意的html标签,并使用CSS设置这些标签的样式。
这是我用来测试它的示例 HTML 文件,它适用于所有现代浏览器:
<html>
<head>
<title>Test</title>
<style>
h3 { font-family: Arial; }
animals { padding: 20px; display: block; background-color: #eee; }
dog { background-color: brown; color: white; display: block; padding: 10px; }
</style>
</head>
<body>
<animals>
<dog>
<h3>Dog</h3>
</dog>
<cat>
<h3>Cat</h3>
</cat>
<giraffe>
<h3>Giraffe</h3>
</giraffe>
</animals>
</body>
</html>
撇开向后兼容性不谈,如果现代浏览器支持自定义标签,为什么我不应该使用它们(结合现有的官方标签规范)来使我的标记在语义上与内容、应用程序元素等更相关?
如果您坚持使用已建立的HTML5标签,则您的页面将更好地与浏览器以外的其他工具(尤其是屏幕阅读器)配合使用。 唯一能理解你的新语义的程序是你的,你也可以编写你的程序来理解<ul class='animals'>
。
当人们争论HTML中的"更好的语义"时,他们的意思是"选择最能代表含义的标签",通常不是表格。他们的意思不是,"发明一个除了你之外没有人能理解的标签。
我仍然收到一些网站在IE6上崩溃的错误报告。虽然IE9是朝着正确方向迈出的一步,但IE用户传统上拥有巨大的动力,旧版本在本应被埋葬几十年后才被使用。
您可能必须记住的另一个问题是向前兼容性。未来的标准可能会为您以通用方式使用的标记引入不需要的行为。
然后是一些人对所有代码通过各种验证的永恒愿望,当然,除非您实际使用 XHTML 并注意让您的标记实际验证为 XML,否则这是不可能的......