<figure>
<ul>
<li>
figure边框为灰色<br>
ul边框为红色<br>
li边框为黑色<br>
li的宽度为100%,所以li的宽度应该和她父元素ul的宽度一样,对吗?<br>
可是为什么li的宽度和figure的宽度是一样的
</li>
<li>
</li>
<li>
</li>
<li>
</li>
</ul>
</figure>
* {
margin: 0;
padding: 0;
}
a {
text-decoration: none;
}
li {
list-style-type: none;
}
figure {
width: 100%;
height: 400px;
border: 10px solid #999;
}
ul {
width: 400%;
height: 400px;
display: flex;
flex-direction: row;
border: 1px solid red;
}
li {
width: 100%;
height: 100%;
border: 5px solid #000;
}
因为
ul
这两条属性的影响和
li
这个属性的影响你把li的个数留一个再试试
补充一下:
width:100%
还是生效了的,但是并列子元素的宽度和大于了父元素宽度,由于你没有设置li
的flex-shrink
跟flex-basis
,默认以width
作为flex-basis
,初始width
都是100%,则100%:100%:100%:100% = 1:1:1:1压缩(比如4个li加起来超出了800px,则各自在原有宽度上减去200px),所以都是ul的1/4宽度。压缩比例计算方法:压缩比= ‘元素1’的
flex-basis
Xflex-shrink
:‘元素2’的flex-basis
Xflex-shrink
:‘元素3’的……