【发布时间】:2017-12-10 17:29:22
【问题描述】:
我对 flexbox 和 height: auto in Firefox 有疑问:
.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>
当 div .portfolio 有 height: auto 时,在 Firefox 中这个 div 是不可见的。 Chrome、Safari 和其他浏览器都可以正常工作...我真的不知道如何使它正常工作...有人吗?
【问题讨论】:
-
只是检查元素,当您将
.portfolio a设置为 height: 30% 时,.portfolio没有高度(至少在 FF 中);它占用其父级内部空间的 30%,即 0。 -
是的,但即使我添加到 .portfolio height: auto 问题仍然存在。
-
height: auto;与不指定高度完全相同。因此自动。请参阅下面的答案: -
问题不是
height: auto。问题是padding-top: 30%。
标签: css firefox flexbox height