【发布时间】:2022-08-08 13:52:15
【问题描述】:
我想设计一个类似于 BBC 网站的英雄栏目。我开始使用CSS Grid 来解决这个问题,我认为它可以用最少的代码获得相同的设计。
我已经设法进行了基本设计,但我希望 item1 占据容器宽度的 50%,而其余项目每个占据 25% 的空间,使其看起来像上图。我可以跨行,但我不确定如何正确跨列,我试过这个:
.item1 {
grid-column-end: span 2;
}
但它打破了设计,同样的事情发生在:
.item1 {
grid-column: auto / span 2;
}
我的代码:
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
grid-gap: 10px;
background-color: #2196F3;
padding: 0px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 0px 0;
font-size: 30px;
}
.item1 {
grid-row-end: span 2;
}
.grid-container div img {width:100%; max-width:600px;}
<div class=\"grid-container\">
<div class=\"item1\">
<img src=\"https://dummyimage.com/600x400/f09c00/fafafa&text=1\"/>
</div>
<div class=\"item2\">
<img src=\"https://dummyimage.com/600x400/0010f0/fafafa&text=2\"/>
</div>
<div class=\"item3\">
<img src=\"https://dummyimage.com/600x400/5310f0/fafafa&text=3\"/>
</div>
<div class=\"item4\">
<img src=\"https://dummyimage.com/600x400/0010f0/fafafa&text=4\"/>
</div>
<div class=\"item5\">
<img src=\"https://dummyimage.com/600x400/0010f0/fafafa&text=5\"/>
</div>
</div>