实现不定个数的li等宽自适应ul
想要实现如图的效果,li宽度相等,并且自适应ul的宽度。
li个数不是固定的,图中一行为9个li,当屏幕宽度变小,可能会8个或更少,但在屏幕宽度变化的过程中,要保持li的宽度相等并且始终充满ul的宽度。
应该怎么实现?
回答
grid 布局 或者 flex
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Document</title>
<style>
ul{
padding: 0;
display: flex;
flex-wrap: wrap;
overflow: hidden;
border: 1px solid red;
}
ul li{
background: #eee;
width: calc(100% / 7 - 10px);
font-size: 16px;
list-style: none;
text-align: center;
margin-right: calc(10px + 10px / 6);
margin-bottom: 10px;
line-height: 30px;
}
ul li:nth-child(7n) {
margin-right: 0;
}
@media screen and (max-width: 1200px){
ul li{
width: calc(100% / 5 - 10px);
}
ul li:nth-child(7n) {
margin-right: calc(10px + 10px / 4);;
}
ul li:nth-child(5n) {
margin-right: 0;
}
}
</style>
</head>
<body>
<ul>
<li>推荐</li>
<li>科学</li>
<li>娱乐</li>
<li>旅游</li>
<li>生活</li>
<li>分享</li>
<li>城市</li>
<li>分享</li>
<li>技能</li>
</ul>
</body>
</html>
以上是 实现不定个数的li等宽自适应ul 的全部内容, 来源链接: utcz.com/a/39675.html