我一直在学习语义HTML,并且我一直在阅读如何避免像<i>
和<b>
这样的标签。但是,如果我不想强调某些内容,只是在视觉上加粗,为什么<b>
会比<span class="bold">
更糟糕?使用更详细的<span class="bold">
语法有什么好处?
答案 0 :(得分:7)
b
和i
元素的问题在于它们不是语义的,也就是说,它们是关于事物看起来的方式,而不是它们意味着什么
<span class="bold">
实际上并不是更好,因为它也是关于某些内容应该如何显示并嵌入页面的内容(类名“粗体”也不是语义)。最好使用有意义的类名。
语义标签,例如strong
更好。
至于班级名称 - 首选使用描述性名称 - 因此<span class="sub-header">
优于<span class="bold">
,因为含义。< / p>
答案 1 :(得分:2)
关于标记的性质。带走演示文稿,您留下的内容仍应传达您的信息。
不推荐使用<b>
和<i>
代码,这就是您不应该使用它们的原因,但如果您想强调普通文本,则应使用<strong>
并且<em>
通过CSS解决方案。在HTML中使用此功能意味着禁用并使用屏幕阅读器等替代浏览技术的用户仍然会知道您的重点。添加粗体和斜体的CSS规则看起来很漂亮但无法访问。
另请注意,您可以使用CSS将样式应用于<strong>
和<em>
标记。
答案 2 :(得分:0)
为什么?
来自http://www.w3.org/International/questions/qa-b-and-i-tags:
您应该始终牢记b元素的内容可能不会 总是粗体,而i元素的粗体可能并不总是斜体。该 实际样式取决于CSS样式定义。
答案 3 :(得分:0)
<b>
表示“以粗体显示一些文字” - 这是与演示文稿相关的信息,应该是CSS,而不是HTML代码。
<span class="bold">
本身没有任何意义;我认为应该避免使用这个解决方案:有了这个,你的HTML本身并不意味着什么,需要CSS,所以你的文本被认为是重要的......
这适用于图形浏览器......但是其他咨询页面的方式呢?
喜欢说唱合成还是盲文片?
最后,<strong>
,另一方面,意味着“这篇文章很重要” - 这可能就是你首先的意思; - )
答案 4 :(得分:0)
span class bold很糟糕,我看到了太多的CSS规则
.blue-40 {
// 2011-06-08 Change for Bug 12343
color: #800000;
width: 45%;
}
语义HTML类似于
.article-head {
}
.article-body {
}
我个人认为<b>
和<i>
没有问题,尽管人们提出使用<strong>
和<em>
的论据,因为它们更有意义。在这一点上,实用主义开始了:我唯一能够为粗体文本创建类的唯一原因是,如果我不控制写入我控制的容器的HTML。
一个论点总是可访问性:如果您正在阅读带有屏幕阅读器或文本到语音引擎的文档,则不存在粗体概念,但强/重点的概念确实存在。然而,在实践中,b / string和i / em以及同义词并且不太可能改变,就像纯粹主义者所希望的那样。
答案 5 :(得分:0)
我个人认为Mozilla Developer Network对<b>
代码(以及<strong>
&amp; <em>
代码)以及如何使用/ {它们。
要记住的重要一点是,标记的样式信息和语言一样重要。请记住样式与语义差异等差异(即使用粗体而不是强调 [<em
&gt;])。