Css网格没有响应
我正在制作一个具有3列3行的grid
一切正常,但它不是responsive
我尝试使用media queries
,但它看起来像this。
有什么解决方案吗?
<div class="projectPhotos">
<div class="_a p1">1</div>
<div class="_a p2">2</div>
<div class="_a p3">3</div>
<div class="_a p4">4</div>
<div class="_a p5">5</div>
<div class="_a p6">6</div>
<div class="_a p7">7</div>
</div>
._a{
width:220px;
height:120px;
background:gray;
border: 1px solid #fff;
font-size: 30px;
text-align: center;
color:white;
margin: auto;
}
.projectPhotos{
display: grid;
grid-template-columns: auto auto auto;
box-sizing: border-box;
grid-gap: 40px 60px;
box-sizing: border-box;
}
@media only screen and (max-width: 600px) {
.projects{
width:350px;
}
.projectPhotos{
grid-gap:10px 10px;
}
.projectPhotos ._a{
width:300px;
height:100px;
}
}
解决方案
我想当您使用grid-template-columns: auto auto auto;
时,这意味着您将始终拥有一个包含3列的网格。
我建议您只需在媒体查询中应用"网格-模板-列",例如:
@media only screen and (max-width: 600px) {
.projects{
width:350px;
}
.projectPhotos{
grid-template-columns: auto;
grid-gap:10px 10px;
}
.projectPhotos ._a{
width:300px;
height:100px;
}
}
通过这种方式,您可以设置当媒体查询为真时,您的网格将只有一列。
相关文章