CSS ,为什么要解决 "nav a" 而不是 "li"?
CSS , why adress the "nav a" and not the "li"?
我有一个教程,其中下面的 CSS 用于将列表项彼此分开。
但为什么我要称呼 nav a
而不是 li
?有人可以告诉我不在 li
中定义 padding
的正当理由吗?它有类似的效果。
main-header .header-logo {
float:left;
}
.main-header nav {
float: right;
}
.main-header ul {
list-style: none;
}
.main-header li{
float:left;
}
.main-header nav a {
padding: 20px;
}
<div class="container">
<div class="main-header-container">
<header class="main-header clearfix">
<a class="header-logo" href="index.html"><h1>ContactFile</h1></a>
<nav>
<ul class="header-main-menu clearfix">
<li><a href="contact.html">contact</a></li>
<li><a href="contact2.html">contact2</a></li>
<li><a href="contact3.html">contact3</a></li>
<li><a href="contact4.html">contact4</a></li>
</ul>
</nav>
</header>
</div>
</div>
如果您将样式应用于 li,一切都会完美无缺,但请考虑为 li
元素而不是 a
元素提供填充。它将创建这种类型的效果,其中只有文本作为 link 可单击,而所有其他 space 将不可单击,因为它将是 li
而不是 a
我有一个教程,其中下面的 CSS 用于将列表项彼此分开。
但为什么我要称呼 nav a
而不是 li
?有人可以告诉我不在 li
中定义 padding
的正当理由吗?它有类似的效果。
main-header .header-logo {
float:left;
}
.main-header nav {
float: right;
}
.main-header ul {
list-style: none;
}
.main-header li{
float:left;
}
.main-header nav a {
padding: 20px;
}
<div class="container">
<div class="main-header-container">
<header class="main-header clearfix">
<a class="header-logo" href="index.html"><h1>ContactFile</h1></a>
<nav>
<ul class="header-main-menu clearfix">
<li><a href="contact.html">contact</a></li>
<li><a href="contact2.html">contact2</a></li>
<li><a href="contact3.html">contact3</a></li>
<li><a href="contact4.html">contact4</a></li>
</ul>
</nav>
</header>
</div>
</div>
如果您将样式应用于 li,一切都会完美无缺,但请考虑为 li
元素而不是 a
元素提供填充。它将创建这种类型的效果,其中只有文本作为 link 可单击,而所有其他 space 将不可单击,因为它将是 li
而不是 a