初始代码:
<style>
*{
margin: 0;
padding: 0;
}
li{
list-style: none;
}
.clearfix::after{
display: block;
content: '';
clear: both;
}
.box{
width: 1000px;
margin:30px auto;
background:yellow;
}
.box li{
float: left;
width: 33.3333333333%;
height: 200px;
background:#DBB0B1;
}
</style>
</head>
<body>
<ul class="box clearfix">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</body>
问题1:li里加边框,就掉下来了,如何让li每3个一行显示?
解决:.box li{
float: left;
width: 33.3333333333%;
height: 200px;
background:#DBB0B1;
border:1px solid red;
margin-left:-1px;
margin-top:-1px;
box-sizing: border-box;
} (其他代码不变)
问题:li里加padding,就掉下来了,如何让li每3个一行显示?
解决2:.box li{
float: left;
width: 33.3333333333%;
height: 200px;
background:#DBB0B1;
padding:10px;
box-sizing: border-box;
}(其他代码不变)
问题3:如何使li有边距,还能让li每3个一行显示?
解决:再包一层就可以了。(也可以div里包div,li里最好不要包div哦,所以我用的a标签)
<style>
*{
margin: 0;
padding: 0;
}
li{
list-style: none;
}
.clearfix::after{
display: block;
content: '';
clear: both;
}
.box{
width: 1000px;
margin:30px auto;
background:yellow;
}
.box li{
float: left;
width: 33.3333333333%;
height: 200px;
padding:10px;
box-sizing: border-box;
}
.box li>a{
float:left;
width:100%;
height:100%;
background: red;
}
</style>
</head>
<body>
<ul class="box clearfix">
<li>
<a href="javascript:;">1</a>
</li>
<li>
<a href="javascript:;">2</a>
</li>
<li>
<a href="javascript:;">3</a>
</li>
<li>
<a href="javascript:;">4</a>
</li>
<li>
<a href="javascript:;">5</a>
</li>
<li>
<a href="javascript:;">6</a>
</li>
</ul>
</body>