CSS 获得块级透明度
CSS getting block-level transparency
我正在使用网格算法并找到要生成的图像。出于某种原因,覆盖属性给我的覆盖视图与我想要的网格不同。
.grid {
display: grid;
grid-template-columns: 40fr 40fr 40fr 40fr;
grid-template-rows: 100px 100px 100px;
grid-template-areas: " item1 item1 item1 item1", "item2 item2 item2 item2";
}
.item1 {
grid-row: span 3;
grid-column: span 3;
grid-row-end: span;
grid-column-end: span;
border: .1em solid #c09dac;
background-color: lightgrey;
border-color: #80949b;
border-radius: 25px;
text-align: center;
}
.item2 {
grid-row: 2/4;
grid-column: 2/4;
grid-column-end: span 1;
z-index:1;
grid-row-end: span;
border: .1em solid #e2bec5;
background-color: #e4bcc4;
border-color: #e2bec5;
border-radius: 25px;
text-align: center;
}
<div class="grid">
<div class="item1">One</div>
<div class="item2">Two</div>
</div>
我回答了我自己的问题。
.grid {
display: grid;
grid-template-columns: 40fr 40fr 40fr 40fr;
grid-template-rows: 100px 100px 100px;
grid-template-areas: " item1 item1 item1 item1", "item2 item2 item2 item2";
}
.item1 {
grid-row: 1 / 3;
grid-column: 1 / 4;
grid-row-end: span;
grid-column-end: span;
border: .1em solid #c09dac;
background-color: lightgrey;
border-color: #80949b;
border-radius: 25px;
text-align: center;
}
.item2 {
grid-row: 2/4;
grid-column: 2/5;
grid-column-end: span ;
z-index:1;
grid-row-end: span;
border: .1em solid #e2bec5;
background-color: #e4bcc4;
border-color: #e2bec5;
border-radius: 25px;
text-align: center;
}
<div class="grid">
<div class="item1">One</div>
<div class="item2">Two</div>
</div>
您可以像下面这样简化您的代码:
.grid {
display: grid;
grid-auto-rows: 100px;
}
.grid > * {
border-radius: 25px;
text-align: center;
/* take 2 rows and 3 columns and start at 1,1 by default */
grid-row:var(--s,1) / span 2;
grid-column:var(--s,1) / span 3;
border: .1em solid #80949b;
background-color: lightgrey;
}
.item2 {
--s: 2; /* we change the starting to 2,2*/
background-color: #e4bcc4;
border-color: #e2bec5;
}
<div class="grid">
<div class="item1">One</div>
<div class="item2">Two</div>
</div>
我正在使用网格算法并找到要生成的图像。出于某种原因,覆盖属性给我的覆盖视图与我想要的网格不同。
.grid {
display: grid;
grid-template-columns: 40fr 40fr 40fr 40fr;
grid-template-rows: 100px 100px 100px;
grid-template-areas: " item1 item1 item1 item1", "item2 item2 item2 item2";
}
.item1 {
grid-row: span 3;
grid-column: span 3;
grid-row-end: span;
grid-column-end: span;
border: .1em solid #c09dac;
background-color: lightgrey;
border-color: #80949b;
border-radius: 25px;
text-align: center;
}
.item2 {
grid-row: 2/4;
grid-column: 2/4;
grid-column-end: span 1;
z-index:1;
grid-row-end: span;
border: .1em solid #e2bec5;
background-color: #e4bcc4;
border-color: #e2bec5;
border-radius: 25px;
text-align: center;
}
<div class="grid">
<div class="item1">One</div>
<div class="item2">Two</div>
</div>
我回答了我自己的问题。
.grid {
display: grid;
grid-template-columns: 40fr 40fr 40fr 40fr;
grid-template-rows: 100px 100px 100px;
grid-template-areas: " item1 item1 item1 item1", "item2 item2 item2 item2";
}
.item1 {
grid-row: 1 / 3;
grid-column: 1 / 4;
grid-row-end: span;
grid-column-end: span;
border: .1em solid #c09dac;
background-color: lightgrey;
border-color: #80949b;
border-radius: 25px;
text-align: center;
}
.item2 {
grid-row: 2/4;
grid-column: 2/5;
grid-column-end: span ;
z-index:1;
grid-row-end: span;
border: .1em solid #e2bec5;
background-color: #e4bcc4;
border-color: #e2bec5;
border-radius: 25px;
text-align: center;
}
<div class="grid">
<div class="item1">One</div>
<div class="item2">Two</div>
</div>
您可以像下面这样简化您的代码:
.grid {
display: grid;
grid-auto-rows: 100px;
}
.grid > * {
border-radius: 25px;
text-align: center;
/* take 2 rows and 3 columns and start at 1,1 by default */
grid-row:var(--s,1) / span 2;
grid-column:var(--s,1) / span 3;
border: .1em solid #80949b;
background-color: lightgrey;
}
.item2 {
--s: 2; /* we change the starting to 2,2*/
background-color: #e4bcc4;
border-color: #e2bec5;
}
<div class="grid">
<div class="item1">One</div>
<div class="item2">Two</div>
</div>