css3 box里面存在li标签,li宽度自适应,每行li最多显示3个,溢出换行,li添加圆角的规则是靠近box四个顶角部分的方块对应的角始终保持是圆角
时间: 2024-09-23 08:09:30 浏览: 44
CSS3中可以利用`display: flex`或者`grid`属性以及一些布局技巧来实现这样的布局。这里我们以`flex-wrap: wrap`和`justify-content: space-between`结合圆角的方式来演示,假设有一个`.container`的盒子,内部包含`.list-item`的列表项:
```css
.container {
display: flex;
flex-wrap: wrap; /* 溢出换行 */
justify-content: space-between; /* 自动平均分配空间,并保持每个item之间有间隔 */
padding: 10px; /* 添加外边距 */
}
.list-item {
list-style-type: none; /* 移除默认的项目符号 */
margin-bottom: 10px; /* 间距调整 */
width: calc(100% / 3 - (2 * 10px)); /* 计算每列最大宽度,减去两边margin */
border-radius: 10px; /* 圆角 */
&:last-child { /* 最后一个item防止被挤掉圆角 */
margin-right: 0; /* 取消右边margin */
}
}
/* 如果你想让四个角落总是保持圆角 */
.box-corners {
border-radius: 10px 10px 0 0; /* 上左、上右保持圆角 */
&::after {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border-radius: 0 0 10px 10px; /* 下部两边保持圆角 */
}
}
```
将`.list-item`应用`.box-corners`类,如果每个`.list-item`都有独立的`.box-corners`,那么它们各自角落的圆角会保留。
阅读全文