在HTML5+CSS中,<nav class="nav">是多余的吗?

In HTML5+CSS, is <nav class="nav"> redundant?

在在线教程中,我最近被告知要为名为 "nav" 的导航元素创建 class。我是 CSS 的初学者,但这只是我,还是这 redundant/confusing/bad 练习?

没有这不是多余的。

YES 这是多余的 如果 你认为在你的具体情况下你可以 nav{ /*blaah blaah*/ }

<nav> 是一个语义 HTML5 标签,代表 SEO 导航。导航就是您想要的一切。因此,如果您在我们的页面中有 multiple nav 元素,并且您可以直接使用 tag 元素来定位样式nav我会很高兴看到这一点。

这不是多余的。 DOM 元素 nav 不同于 CSS class nav.

如果您想通过 class 设置此元素的样式,您可以使用此样式声明(例如):

.nav { background-color : #F00; }

如果按元素类型设置样式,则为:

nav { background-color : #F00; }

这看似微不足道,但那段时期 . 却大不相同。这意味着您通过 class 而不是元素名称来标识项目。如果您使用 class 语法(使用 .),那么您也可以这样写:

<div class="nav"></div>

如果您包含 class 定义,这将以红色背景显示,但如果您直接设置元素类型的样式则不会。

在简单的应用程序中,您可以直接使用样式元素类型(例如 <nav>)而不是 classes(例如 class="nav"),但是当您获得您将要使用 classes 的更复杂的布局。此外,如果您使用基于选择器的库,例如 jQuery 或 document.querySelect(),您可能有充分的理由指定 class.

如果您确实知道所有 <nav> 元素在您的所有页面中都可以设置相同的样式,那么无论如何只需使用元素选择器,但为了给自己留下灵活性,最好使用 classes.