今天早晨,当我写一些html和haml时,我发现使用div的方法很荒谬。为什么不隐含div?试想一下,如果:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
是这样的:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
如果假定元素的“ div class”部分,则HTML会更加语义化,并且使用匹配的结束标记将具有无限的可读性!
这类似于HAML,其中我们具有:
.content Hello, World!
变成:
<div class='content'>Hello, World!</div>
在我看来,要在浏览器中运行此功能,唯一要做的就是浏览器可以开始解释每个元素,而没有现有的html元素定义暗示<div class="<element name>">
。
这可能是完全向后兼容的;对于CSS和jQuery选择器等,“ div.hero-img”仍然可以使用,并且是选择元素所需的语法。
我知道新的Web组件规范,但是比这里建议的要复杂得多。您能想象看到一个网站的源代码并看到类似HTML的代码会多么令人愉快吗?
那么,为什么我们必须使用div?
如果您查看Mozilla的html5元素列表,则每个元素都有语义,然后我们进入<div>
并显示:
“表示没有特殊含义的通用容器。”
..然后,他们列出要添加到html5中的任意元素,例如<details>
。
当然,如果将隐含divs的概念添加到html规范中,则将需要十年时间成为标准,这是Web时间中的一百万年。
因此,我认为一定有一个很好的理由尚未发生。请给我解释一下!