我有使用常规CSS制作的照片和缩略图设置,我想知道:可以使用flexbox简化吗?
http://jsfiddle.net/frank_o/n9pM2/10/
HTML:
<div class="one">
<h1>Can this:</h1>
<div class="wrapper">
<div class="photos">
<img src="http://placekitten.com/200/400" />
</div>
<div class="thumbnails">
<img src="http://placekitten.com/70/70" />
<img src="http://placekitten.com/70/70" />
</div>
</div>
</div>
CSS:
.one .photos {
border: 2px solid lightgrey;
float: left;
width: calc(100% - 80px);
}
.one .photos img {
width: 100%;
}
.one .thumbnails {
width: 70px;
float: right;
border: 2px solid red;
}
.one .thumbnails img {
display: block;
margin-bottom: 5px;
}
https://codepen.io/polinq/pen/gObLoZx
请在这里看看。那是您要找的东西吗?如果不清楚,是否愿意提供澄清?
.one .wrapper {
display: flex;
}
.one .thumbnails {
display: flex;
flex-direction: column;
border: 2px solid red;
align-self: flex-start;
margin-left: 5px;
}
.two .wrapper {
display: flex;
flex-direction: column;
}
.two .thumbnails {
display: flex;
flex-direction: row;
border: 2px solid red;
margin-left: 5px;
}
您可以使用网格大大简化它:
.grid {
display: grid;
grid-template-columns: 9fr 1fr;
grid-gap: 10px
}
img {
width: 100%;
max-height: 400px;
object-fit: cover;
border: solid 2px #f00;
}
.grid > img{
border-color: lightgray
}
<h1>Can this:</h1>
<div class="grid">
<img src="http://placekitten.com/200/400" />
<div class="thumbs">
<img src="http://placekitten.com/70/70" />
<img src="http://placekitten.com/70/70" />
</div>
</div>