在传统div上使用html5语义标记是否有任何弊端?

时间:2018-11-28 19:49:40

标签: html css html5 browser compatibility

The inverse question has been asked multiple times。但是,我既找不到任何缺点,也没有令人信服的证据证明它们完全不存在。

我全力争取进步和语义文件。实际上,前一段时间我已经开始在标记中使用新的语义标记(感觉不错!)。我仍然想知道是否应该知道一些警告(可能晦涩)。

  • 在滚动IE的史前版本的办公计算机上,渲染中断(更多)吗?
  • article这样的css选择器是否向后兼容?
  • 对DOM的奇怪副作用?
  • ...(任何东西)?

1 个答案:

答案 0 :(得分:2)

某些较旧的浏览器无法识别html5元素。充其量,这意味着您必须为CSS中的那些元素定义默认样式规则。

在某些情况下,您可能需要应用匀场片,或者在这种情况下,需要使用Shiv: https://css-tricks.com/snippets/javascript/make-html5-elements-work-in-old-ie/

同样,旧的浏览器(我正在看着你,IE)甚至都不会将它们识别为元素,所以是的,它很可能会改变DOM的结构。另外,我已经看到旧的浏览器只是将html5标签输出为纯文本,因此您在内容中看到了<article>标签。


如果碰巧无法支持新的html5元素,则一种简便的解决方法是使用div并为它们提供与所需元素名称匹配的类。因此,例如,您将使用:

<div class="article"> 代替 <article>

这种方法的优点是坚持使用新的“心理模型”,您仍然可以从文章和背景等方面来思考自己的内容。这种方法的好处还在于,它可以在将来的某个时候相对简单地将代码升级到完整的html5规范,因为您要做的就是搜索类并适当地替换div。