我正在创建导航菜单。我想使用css,以便锚标签包裹在li元素周围,但锚标签位于li元素内。
这是html
<ul>
<li><a href="">Uutiset</a></li>
<li><a href="">Foorumi</a></li>
<li><a href="">Kauppa</a></li>
<li><a href="">Messut</a></li>
<li><a href="">Asiakaspalvelu</a></li>
<li><a href="">Nakoislehti</a></li>
<li><a href="">Nae meidat</a></li>
</ul>
这是我的少css
ul {
list-style-type: none;
padding: 0;
margin: 0;
li {
padding: 2% 4%;
border: 1px solid green;
a {
text-decoration: none;
display: block;
}
}
}
答案 0 :(得分:42)
<ul>
内允许的唯一合法元素是<li>
。你不能在<li>
周围放置一个锚点。这在HTML5中也适用,其中锚可以包围其他块级元素。
CSS中的内容几乎就在那里,只需添加:
a {
text-decoration: none;
display: block;
width: 100%;
height: 100%;
}
你的锚将填满<li>
的整个空间。
答案 1 :(得分:3)
请勿在{{1}}中使用填充,而是使用li
作为锚文本。这将使其覆盖line-height
元素的全高。
在这里,看一下这个Example
答案 2 :(得分:2)
你无法点击可点击,但你可以做的是将a-link扩展为li的大小,如下所示:https://stackoverflow.com/a/1121754/1068495
答案 3 :(得分:0)
试试这个,给padding而不是li。李不可能留在外面。做你的锚而不是李。让我的行为就像一个包装。
ul {
list-style-type: none;
padding: 0;
margin: 0;
li {
a {
padding: 2% 4%;
border: 1px solid green;
text-decoration: none;
display: block;
}
}
}