我在Firefox中使用flexbox和height: auto遇到了问题:
.portfolio {
width: 100%;
position: relative;
overflow: visible;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
background-color: red;
}
.portfolio a {
display: block;
background-color: black;
width: 30%;
height: auto;
padding-top: 30%;
/* 1:1 Aspect Ratio */
position: relative;
/* If you want text inside of it */
margin-bottom: 5%;
}
<div class="portfolio">
<a href="#">
<div class="portfolio_item">
</div>
</a>
<a href="#">
<div class="portfolio_item">
</div>
</a>
<a href="#">
<div class="portfolio_item">
</div>
</a>
<a href="#">
<div class="portfolio_item">
</div>
</a>
<a href="#">
<div class="portfolio_item">
</div>
</a>
<a href="#">
<div class="portfolio_item">
</div>
</a>
</div>
.portfolio a
的高度设置为30%时(至少在FF中),.portfolio
没有高度;它占据了其父元素内部空间的30%,而该父元素的高度为0。 - James Douglasheight: auto;
和不指定高度是完全相同的,因此为 _auto_。请参见下面的答案: - James Douglasheight: auto
。问题在于padding-top: 30%
。 - Michael Benjamin