选择类还是 <nav> 元素更可取? [关闭]

Posted

技术标签:

【中文标题】选择类还是 <nav> 元素更可取? [关闭]【英文标题】:Is it preferable to select class or <nav> element? [closed] 【发布时间】:2015-01-28 03:12:53 【问题描述】:

我曾多次被告知不要选择 &lt;nav&gt;&lt;body&gt; 等元素,而应使用类选择器。例如,“&lt;nav&gt; 标记不是用于显示/样式目的,而是使导航部分明确分开。”但这不是破坏了具有语义元素的部分目的吗?

假设我只有一个项目符号导航列表,并且我将它们设为水平,添加背景等,是否仍然可以选择类上方的导航元素?

    <nav class="navigation">
        <ul class="links">
            <li><a href="">Shop</a></li>
            <li><a href="">Discounts</a></li>
            <li><a href="">Profile</a></li>
            <li><a href="">Blog</a></li>
        </ul>
    </nav>

而且,如果您要对我投反对票,请提供解释,而不是仅仅假设我能凭直觉知道您为什么这样做。

【问题讨论】:

相关:CSS Performance revisited。话虽如此,老实说,我认为这个问题应该结束,因为它基本上鼓励主观性。 ) 不,这是个好问题。它遵循帮助中心的规则。 “主观性”难道不能通过简单地覆盖不同的场景来限定,从而使其更加客观吗?例如,“是的,在这些情况下选择 Alohci,很少有人可以认为是真正不主观的。即使是医生的客观意见也是主观的,因此有“获得第二意见”这一短语,重点是关键字“意见”。一个例子是使用 ID 或 Class。 ***.com/questions/544010/css-div-id-vs-div-class 仅仅因为它们都符合 CSS 规范并不意味着其中一个不比另一个更好,许多观点都相信这一点。我相信纳粹的许多规则都忽略了为遵守某些协议而提出的问题的重点,这些协议最终会阻碍而不是帮助。 【参考方案1】:

添加一个类使以后扩展页面更容易。类本身应该带有语义含义。

如果您只选择元素,然后稍后添加更多相同类型的元素,则无论如何您都必须添加类。

【讨论】:

感谢 Jakub,听起来您说选择语义元素就可以了,但是当您添加重复元素时会出现问题,这就是为什么类选择器更可取的原因,因为它在您想要的确切元素,其中语义元素太宽泛。对吗? @Padawan 是的,但请记住,您可以重用一个类。它不仅适用于单个元素,而且适用于某种类型的元素。例如,您可能有一个主按钮类,它可能出现在 50 个不同的页面上,有时甚至不止一次出现在一个页面上,但它仍然非常具体,因为该类说该按钮是主按钮。 K,谢谢,这有帮助。 ...我不知道如何使问题不那么主观,如果您有任何指示,请提出建议。【参考方案2】:

类比元素选择器具有更大的特异性。因此,何时使用它取决于您。

假设这个html

<nav class="nav"></nav>
<ul class="nav"></ul>
<nav class="footer-nav"></nav>

现在,如何使用 &lt;nav class="nav"&gt;&lt;/nav&gt; 的 css 样式?

.nav... ?不,有两个带有导航的类。

下一个:nav ?不,有两个导航元素。

那么,你是怎么保养的呢?

像这样:nav.nav 现在它选择我们想要的特定元素。

所以,这就是我们想要选择的元素。

所以这完全取决于页面中的元素。

【讨论】:

以上是关于选择类还是 <nav> 元素更可取? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WordPress 的“wp_nav_menu”子菜单中的 <a>-tag 中添加类和元素?

CSS 性能:后代选择器还是两个直接后代选择器最好?

表单,音视频,语义化标签与属性选择器,结构伪类选择器,伪元素选择器(按钮禁止点击)

如何在 Wordpress 中使用 wp_nav_menu() 在 <li> 中添加类?

什么时候删除模板实例比删除非模板重载更可取?

nav元素