我有一些看起来像这样的HTML:
<div class="position-container">
<div class="top-position">1</div>
<div class="current-position">2</div>
</div>
我不打算在这里添加样式,但基本上1和2都是具有特定背景颜色的块元素。我工作的一些家伙并不喜欢我使用这么多div,所以他希望我将“position-container”中的第一个div更改为<strong>
,将第二个div更改为<em>
然后更改其显示阻止。
我的印象是,这些元素应该在一个文本块中使用,以表明在给定的上下文中的重点。我还认为它们在语义上是以内联方式使用的。我不在标记?一旦我的<strong>
计数有点高,我真的应该随意抛弃<em>
和<div>
标签吗?
答案 0 :(得分:2)
问题不应该是你有太多的div元素的HTML元素,但如果你有太多的HTML元素,就会出现问题。
在我看来,你故事中的“一些家伙”是错的。在某些情况下 - 可能还有一些搜索引擎优化的好处 - 一些HTML元素比其他元素更受欢迎,但你不能只看一个HTML页面说“嗯,我看到这么多div标签,为什么不把它改成那个和那个对此,它看起来更漂亮!“我要看的是:如何使我的HTML结构在语义上更具逻辑性。这可能涉及所有新的HTML5元素。 section
,article
,aside
,nav
和role
属性的使用使页面更加直观和合乎逻辑。基本上,使用HTML5,您可以向一个人展示HTML5页面代码的网络编码,只需查看您使用的标签,他就可以轻松地得出重要的内容和不重要的内容。这就是HTML5的魅力。
因此,在随机开始将某些div标签更改为强标签之前,请考虑使用HTML5。而且你可能也想问为什么“有些家伙”希望你改变它。也许他确实有合法的理由,你永远不会知道!
答案 1 :(得分:1)
Strong和Em是内联标记,应该用于粗体或将单词斜体添加到单词本身。基本上就是这样。它们不应该是块元素。不是他们的目的。
那个说你有太多div的人,并建议使用强大或者em作为块元素来缓解这个问题,这在他们的方法中是非常不合适的。
我建议,至少提供不同的东西,使用HTML5元素标签,如文章,部分,页眉,页脚等,使代码更具可读性。假设这就是你要找的东西。
如果您需要支持不能识别较新标签的旧版浏览器。看一看像Modernizr.js这样的东西。