如何覆盖网格模板区域



如何使div覆盖所有模板区域并移到前面,以便item6将显示在所有其他项的前面?

我尝试使用grid-row-start和grid-row-end,但似乎不起作用

<!DOCTYPE html>
<html>
<head>
<style>
.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }
.item5 { grid-area: footer; }
.item6 { grid-row-start: 0;
grid-row-end: 6}
.grid-container {
display: grid;
grid-template-areas:
'header header header header header header'
'menu main main main right right'
'menu footer footer footer footer footer';
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="item1">Header</div>
<div class="item2">Menu</div>
<div class="item3">Main</div>  
<div class="item4">Right</div>
<div class="item5">Footer</div>  
<div class="item6">Override everything</div>
</div>
</body>
</html>

没有grid-column-start: 0,它们都以1开头。

您还必须指定要覆盖的grid-columns

<!DOCTYPE html>
<html>
<head>
<style>
.item1 {
grid-area: header;
}

.item2 {
grid-area: menu;
}

.item3 {
grid-area: main;
}

.item4 {
grid-area: right;
}

.item5 {
grid-area: footer;
}

.item6 {
grid-row-start: 1;
grid-row-end: 6;
grid-column-start: 1;
grid-column-end: -1
}

.grid-container {
display: grid;
grid-template-areas: 'header header header header header header' 'menu main main main right right' 'menu footer footer footer footer footer';
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}

.grid-container>div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="item1">Header</div>
<div class="item2">Menu</div>
<div class="item3">Main</div>
<div class="item4">Right</div>
<div class="item5">Footer</div>
<div class="item6">Override everything</div>
</div>
</body>
</html>

最新更新