我正在尝试用 div 创建一个 2x2 网格。某些 div 可能包含图像,但它可能会被设置为背景,并带有选项background-size: cover
.
这是我创建的笔:http://codepen.io/qarlo/pen/vLEprq http://codepen.io/qarlo/pen/vLEprq
.container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: auto;
max-width: 960px;
width: 80%;
}
.container__item {
align-content: center;
border: 1px solid #333;
display: flex;
flex-basis: 1;
font-size: 3em;
justify-content: center;
height: 100%;
margin-bottom: 1em;
min-height: 300px;
width: 47%;
}
<div class="container">
<div class="container__item">?</div>
<div class="container__item">?</div>
<div class="container__item">?</div>
<div class="container__item">?</div>
</div>
我想强制 div 为正方形并在调整其大小时保持纵横比。我错误地希望这对于 Flexbox 来说是简单的,但除非我遗漏了一些东西,否则我错了。
要保持项目的长宽比,一个非常简单的方法是使用CSS 视口单位 http://tutorialzine.com/2015/05/simplify-your-stylesheets-with-the-magical-css-viewport-units/
我修改了你的笔来看看这个单位是如何工作的:http://codepen.io/vladbicu/pen/wMBmOb http://codepen.io/vladbicu/pen/wMBmOb
.container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: auto;
max-width: 960px;
width: 80%;
}
.container__item {
align-content: center;
border: 1px solid #333;
display: flex;
flex-basis: 1;
font-size: 3em;
justify-content: center;
margin-bottom: 1em;
// maintain aspect ratio
width: 30vw;
height: 30vw;
}
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)