有人可以向我解释一下,为什么li和ul不会在plunkr波纹中扩展?
我知道很多人已经写过这个,但我发现的只是玩溢出,高度,位置和显示css属性。我没有使用任何一种。
a {
padding: 1em;
background-color: red;
}
ul {
list-style: none;
background-color: yellow;
display: flex;
}
li {
background-color: green;
display: inline-block;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<ul>
<li>
<a href="http://google.si">google</a>
</li>
<li>
<a href="http://sometest.com">test item</a>
</li>
</ul>
</body>
</html>
答案 0 :(得分:3)
有人可以向我解释,为什么li和ul不会扩展
因为您的链接仍然是内联的,因此他们的填充流出了行框。
为链接添加display: block
。
答案 1 :(得分:1)
在display:block
中设置a
,因为a
是内联级别元素,因此将其设置为阻止级别
display:inline-block
中也不需要li
,因为display:flex
中有ul
您还可以从padding
ul
a {
padding: 1em;
background-color: red;
display: block
}
ul {
list-style: none;
padding:0;
background-color: yellow;
display: flex;
}
<ul>
<li>
<a href="http://google.si">google</a>
</li>
<li>
<a href="http://sometest.com">test item</a>
</li>
</ul>
答案 2 :(得分:1)
默认情况下,a
是inline
元素,因此它不会包含padding
高度,只需将其更新为block
标签元素即可。那么ul
和li
将耗费。
要将其更新为block label
,您可以添加display:block
或display: inline-block
或float: left
。
答案 3 :(得分:1)
只需添加display:block in anchor tag
ul {
list-style: none;
background-color: yellow;
display: flex;
margin:0px;
padding:0px;
}
ul li {
background-color: green;
display: inline-block;
}
ul li a {
padding: 1em;
background-color: red;
display:block;
}
&#13;
<ul>
<li>
<a href="http://google.si">google</a>
</li>
<li>
<a href="http://sometest.com">test item</a>
</li>
</ul>
&#13;