需要帮助对齐网格间隙中的元素
Need help to align element in Grid Gap
我需要网格方面的帮助,绿色是网格,黑色是网格间隙。如何在间隙中对齐冒号?
我尝试使用 flex 和 grid,但没有任何效果。
结果如下:
冒号是视觉线索,而不是数据的组成部分。
这意味着它们可以使用伪元素添加。
在这个片段中,每个数字都在一个 div 中,它有一个 after 伪元素,它被赋予与网格间隙相同的宽度。它位于数字 div 之后,因此正好位于两个网格项之间。
这是一个基本示例。显然,您需要更改尺寸和颜色以满足您的特定要求。
.grid {
width: 600px;
max-width: 100vw;
height: 200px;
display: grid;
grid-template-columns: repeat(4, 1fr);
--gap: 30px;
gap: var(--gap);
grid-template-rows: 1fr;
background: black;
}
.grid>* {
color: white;
background: teal;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: sans-serif;
}
.grid>* *:first-child {
font-weight: bold;
font-size: 72px;
position: relative;
width: 100%;
text-align: center;
}
.grid>* *:first-child::after {
content: ':';
position: absolute;
left: 100%;
text-align: center;
width: var(--gap);
}
.grid>*:last-child *:first-child::after {
display: none;
}
<div class="grid">
<div>
<div>1</div>
<div>Days</div>
</div>
<div>
<div>2</div>
<div>Hours</div>
</div>
<div>
<div>36</div>
<div>Minutes</div>
</div>
<div>
<div>04</div>
<div>Seconds</div>
</div>
</div>
我需要网格方面的帮助,绿色是网格,黑色是网格间隙。如何在间隙中对齐冒号? 我尝试使用 flex 和 grid,但没有任何效果。
结果如下:
冒号是视觉线索,而不是数据的组成部分。
这意味着它们可以使用伪元素添加。
在这个片段中,每个数字都在一个 div 中,它有一个 after 伪元素,它被赋予与网格间隙相同的宽度。它位于数字 div 之后,因此正好位于两个网格项之间。
这是一个基本示例。显然,您需要更改尺寸和颜色以满足您的特定要求。
.grid {
width: 600px;
max-width: 100vw;
height: 200px;
display: grid;
grid-template-columns: repeat(4, 1fr);
--gap: 30px;
gap: var(--gap);
grid-template-rows: 1fr;
background: black;
}
.grid>* {
color: white;
background: teal;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: sans-serif;
}
.grid>* *:first-child {
font-weight: bold;
font-size: 72px;
position: relative;
width: 100%;
text-align: center;
}
.grid>* *:first-child::after {
content: ':';
position: absolute;
left: 100%;
text-align: center;
width: var(--gap);
}
.grid>*:last-child *:first-child::after {
display: none;
}
<div class="grid">
<div>
<div>1</div>
<div>Days</div>
</div>
<div>
<div>2</div>
<div>Hours</div>
</div>
<div>
<div>36</div>
<div>Minutes</div>
</div>
<div>
<div>04</div>
<div>Seconds</div>
</div>
</div>