.hero__grid {
display: grid;
grid-template-columns: 1fr auto 1fr;
grid-template-rows: 1fr auto 1fr;
}
.vertical-line {
height: 169px;
width: 0.5px;
background-color: red;
}
.horizontal-line {
width: 300px;
height: 0.5px;
background-color: red;
}<div class="hero__grid">
<div class="hero__grid-cell"></div>
<div class="hero__grid-cell">
<div class="vertical-line"></div>
</div>
<div class="hero__grid-cell"></div>
<div class="hero__grid-cell">
<div class="horizontal-line"></div>
</div>
<div class="hero__grid-cell"><i class="far fa-heart"></i></div>
<div class="hero__grid-cell">
<div class="horizontal-line"></div>
</div>
<div class="hero__grid-cell"></div>
<div class="hero__grid-cell">
<div class="vertical-line"></div>
</div>
<div class="hero__grid-cell"></div>
</div>
我试着做到这一点:

一开始我只是想:
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;并以某种方式将这些线条和图标放置在那里,但它似乎最终无法工作。我想做的是制作一个网格3x3,这样就可以:
grid-template-columns: 1fr auto 1fr;
grid-template-rows: 1fr auto 1fr;在auto (第二行和第二列)中,div只是把这些内容放在一起,但在我看来不太对。我知道CSS不是十全十美的,所以也许它实际上是处理它的最好方法?
border-bottom,但它的宽度/高度都很高。发布于 2021-03-22 18:24:28
此方法对行和列之间的沟槽使用grid-gap。
body {
font-family: sans-serif;
font-size: 10px;
}
.hero__grid {
display: grid;
grid-template-columns: 1fr auto 1fr;
grid-template-rows: 1fr auto 1fr;
grid-gap: 2.4em;
width: 500px;
}
.vertical-line,
.horizontal-line {
background-color: #BBB;
}
.vertical-line {
height: 100%;
width: 0.5px;
}
.horizontal-line {
height: 0.5px;
}
.hero__grid-cell {
position: relative;
}
.cell-content {
padding: 0.8em 0;
}
.hero__grid-cell .far {
position: absolute;
top: 0;
left: 0;
transform: translate(-50%, -50%);
color: #e56260;
font-size: 2.4em;
}
h1 {
font-size: 1.5em;
margin: 0 0 0.3em;
}
p {
font-size: 1.3em;
margin: 0;
color: gray;
}<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" />
<div class="hero__grid">
<div class="hero__grid-cell cell-content">
<h1>Heading</h1>
<p>Donec sollicitudin molestie malesuada.</p>
</div>
<div class="hero__grid-cell">
<div class="vertical-line"></div>
</div>
<div class="hero__grid-cell cell-content">
<h1>Heading</h1>
<p>Praesent sapien massa, convallis.</p>
</div>
<div class="hero__grid-cell">
<div class="horizontal-line"></div>
</div>
<div class="hero__grid-cell"><i class="far fa-heart"></i></div>
<div class="hero__grid-cell">
<div class="horizontal-line"></div>
</div>
<div class="hero__grid-cell cell-content">
<h1>Heading</h1>
<p>Cras ultricies ligula sed magna dictum porta.</p>
</div>
<div class="hero__grid-cell">
<div class="vertical-line"></div>
</div>
<div class="hero__grid-cell cell-content">
<h1>Heading</h1>
<p>Vivamus suscipit tortor eget felis porttitor.</p>
</div>
</div>
gap (网格-间隙) gap CSS属性设置行和列之间的间隙(沟槽)。它是行隙和列隙的缩写.
https://stackoverflow.com/questions/66750859
复制相似问题