CSS 特定列的网格布局更改宽度 class
CSS Grid layout change width of specific columns with class
.grid {
display: grid;
grid-template-columns: 80% 20%;
}
<div class="grid">
<div class="grid-item"></div>
<div class="grid-item"></div>
<div class="grid-item-special"></div>
<div class="grid-item-special"></div>
</div>
到目前为止,上面的内容很简单,每行将包含两列,宽度分别为 80% 和 20%
但是我希望对上面的内容进行调整以使其响应。在较小的屏幕上,任何带有 class“grid-item”的 div 将占据 100% 的宽度(因此每行将包含一列)
以上不是问题,但除此之外,我希望任何 div 和 class “grid item-special” 占据宽度的 50%。
图片显示了我试图完成的事情:
我需要尽可能避免更改 html 标记。
欢迎任何想法。
您可以在较小的屏幕上创建媒体查询和更改网格
.grid {
display: grid;
grid-template-columns: 80% 20%;
text-align: center;
}
.grid-item, .grid-item-special{
border: 1px solid black;
}
@media (max-width: 400px) {
.grid {
grid-template-columns: auto;
}
.grid-item {
grid-column: span 2;
}
}
<div class="grid">
<div class="grid-item">11</div>
<div class="grid-item">11</div>
<div class="grid-item-special">22</div>
<div class="grid-item-special">22</div>
</div>
.grid {
display: grid;
grid-template-columns: 80% 20%;
}
<div class="grid">
<div class="grid-item"></div>
<div class="grid-item"></div>
<div class="grid-item-special"></div>
<div class="grid-item-special"></div>
</div>
到目前为止,上面的内容很简单,每行将包含两列,宽度分别为 80% 和 20%
但是我希望对上面的内容进行调整以使其响应。在较小的屏幕上,任何带有 class“grid-item”的 div 将占据 100% 的宽度(因此每行将包含一列)
以上不是问题,但除此之外,我希望任何 div 和 class “grid item-special” 占据宽度的 50%。
图片显示了我试图完成的事情:
我需要尽可能避免更改 html 标记。
欢迎任何想法。
您可以在较小的屏幕上创建媒体查询和更改网格
.grid {
display: grid;
grid-template-columns: 80% 20%;
text-align: center;
}
.grid-item, .grid-item-special{
border: 1px solid black;
}
@media (max-width: 400px) {
.grid {
grid-template-columns: auto;
}
.grid-item {
grid-column: span 2;
}
}
<div class="grid">
<div class="grid-item">11</div>
<div class="grid-item">11</div>
<div class="grid-item-special">22</div>
<div class="grid-item-special">22</div>
</div>