在我的HTML中,我很好奇是否在语义上正确使用唯一标识符,例如保存图像而不是图像
.例如:
是否首选:
与CSS:
toys { background: url("toys.png") no-repeat scroll 0 0 transparent; width: 181px; height: 93px; margin-top: -8px; }
而不是:我目前有:
 
与CSS:
h1 { background: url("toys.png") no-repeat scroll 0 0 transparent; width: 181px; height: 93px; margin-top: -8px; }
是否使用像
语义正确的唯一标识符?
大多数这些回复都是很好的一般性建议,但不是对这个问题的正确答案,我认为这是完全合法的.
HTML5已经成为移动目标; 浏览器实施规范并以不同的速度进行创新.没有一个叫做"有效HTML"的东西,至少不值得使用.如果你正在为这个星球上的每个人和机器人/爬虫建立一个公共页面,那么你已经要么必须A)检测客户端并相应地进行自定义,对于复杂/高级页面或B)使其真正,非常简单和简单.另一方面,如果你把它放在局域网上或隐藏在登录墙后面或者在最前沿进行开发并计划频繁更新,那么你应该随意进行创新.浏览器开发人员和规范编写者可以满足他们的需求,您也可以这样做.
所以,如果你想要一个自定义标签,请谨慎选择(这里我将指出,将成为浏览器实现的正式规范的一部分的几率完全可以忽略不计),然后去做.但是,为了让你的CSS在IE中工作,你必须像html5shim那样做,并在你的javascript中调用document.createElement('toys').
我还应该补充说,自定义元素正在获得自己的标准和支持,但目前的共识是它们都应该在名称中加上" - ".所以我会推荐像'x-toys'或'my-toys'而不仅仅是'玩具'.就个人而言,我对会议并不感到兴奋,但我理解其中的原因.
最好避免使用自定义标签,因为您永远不知道这些标签何时可以标准化,并且将来会有特殊用途.
如果您想避免使用标头标签,那么您的示例最好的做法如下:
 .toys { background: url("toys.png") no-repeat scroll 0 0 transparent; width: 181px; height: 93px; margin-top: -8px; }
此外:
如果在设计页面时不使用标准html标记,则在禁用样式时它们不会以任何有组织的方式显示.这不是问题,未来,但如果出于任何原因你需要查看没有样式的"玩具"列表,除非你使用
或
使用标签,否则你运气不好.
更新:
正如Flimzy在评论中指出的那样,自定义HTML元素现在有了自己的W3C规范.但是,它们尚未得到完全支持.
规格:https://www.w3.org/TR/custom-elements/
支持:http://caniuse.com/#feat=custom-elements
你当然可以 ; 但是,这样做通常不是一个好主意.在许多方面,HTML5正在转向类似的东西,但是通用化; 具有特定标签,虽然支持在不同浏览器之间可能会有非常不同的结果
更新(因为所有的答案都是旧的):
从Web组件开始,API在每个主流浏览器中实现,在我看来,您无法避免将来使用自定义标签.我认为Web Components很容易成为主流.整个理论建立在它上面:自定义标签,自定义属性自定义JS附加到这些元素.
所以我说:现在使用你自己的标签并不坏,但你仍然需要考虑SEO相关的建设.