Car*_*rlo 7 css aspect-ratio css3 grid-layout flexbox
我正在尝试使用div创建一个2x2网格.某些div可能包含图像,但可能会将其设置为背景,并带有选项background-size: cover.
这是我创建的笔: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%;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="container__item">?</div>
<div class="container__item">?</div>
<div class="container__item">?</div>
<div class="container__item">?</div>
</div>Run Code Online (Sandbox Code Playgroud)
我想在调整大小时强制div为正方形并保持纵横比.我错误地希望这对Flexbox来说很简单,但除非我遗漏了什么,否则我错了.
小智 12
要保持项目宽高比,一种非常简单的方法是使用CSS视口单元
我修改了你的笔,看看这个单位是如何工作的: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;
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
使用旧的“填充底部”技巧来固定纵横比。不过需要额外的 div:
.container {
margin: auto;
width: 80%;
max-width: 960px;
}
.container__square {
float: left;
position: relative;
padding-bottom: 50%;
width: 50%;
background: linear-gradient(45deg, #CCC, #000, #CCC);
}
.container__square__item {
position: absolute;
top: 1em;
bottom: 1em;
left: 1em;
right: 1em;
border: 1px solid #333;
background: #FFF;
}
/* clearfix */
.container::after {
content: "";
display: block;
clear: both;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="container__square">
<div class="container__square__item">?</div>
</div>
<div class="container__square">
<div class="container__square__item">?</div>
</div>
<div class="container__square">
<div class="container__square__item">?</div>
</div>
<div class="container__square">
<div class="container__square__item">?</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12153 次 |
| 最近记录: |