将网格中的文本与 svg 对齐
Aligning text in grid with svg
我在网格中有以下 svg
.timeline__grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
}
svg {
width: 100%;
height: auto;
grid-column: 1/-1;
grid-row: 1/11;
}
<div class="timeline__grid">
<svg width="415" height="1200" viewBox="0 0 415 1200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M395 0V0C395 66.2742 341.274 120 275 120H140C73.7258 120 20 173.726 20 240V240" stroke="black" stroke-width="4"/>
<path d="M395 480V480C395 413.726 341.274 360 275 360H140C73.7258 360 20 306.274 20 240V240" stroke="black" stroke-width="4"/>
<path d="M395 480V480C395 546.274 341.274 600 275 600H140C73.7258 600 20 653.726 20 720V720" stroke="black" stroke-width="4"/>
<path d="M20 720V720C20 786.274 73.7258 840 140 840H275C341.274 840 395 893.726 395 960V960" stroke="black" stroke-width="4"/>
<path d="M395 960V960C395 1026.27 341.274 1080 275 1080H140C73.7258 1080 20 1133.73 20 1200V1200" stroke="black" stroke-width="4"/>
</svg>
<!-- <h2 style="font-size: 2rem; color:white; grid-column: 3/7; grid-row:2/4">test</h2> -->
</div>
现在,我想在此处的每条水平线之间的 space 中心放置一些内容
但是当我尝试在第 2/7 列和第 2/4 行之间放置一些东西时,由于某种原因,行会缩小
这是个问题,因为我想将内容居中。
谁能告诉我为什么会发生这种情况以及我如何解决它?
您缺少 grid-template-rows
,如果缺少此选项,grid-template-rows
默认使用 auto
以及您放入自适应内容的网格单元格中的所有内容。
.timeline__grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: repeat(10, 1fr); /* New line */
}
我在网格中有以下 svg
.timeline__grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
}
svg {
width: 100%;
height: auto;
grid-column: 1/-1;
grid-row: 1/11;
}
<div class="timeline__grid">
<svg width="415" height="1200" viewBox="0 0 415 1200" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M395 0V0C395 66.2742 341.274 120 275 120H140C73.7258 120 20 173.726 20 240V240" stroke="black" stroke-width="4"/>
<path d="M395 480V480C395 413.726 341.274 360 275 360H140C73.7258 360 20 306.274 20 240V240" stroke="black" stroke-width="4"/>
<path d="M395 480V480C395 546.274 341.274 600 275 600H140C73.7258 600 20 653.726 20 720V720" stroke="black" stroke-width="4"/>
<path d="M20 720V720C20 786.274 73.7258 840 140 840H275C341.274 840 395 893.726 395 960V960" stroke="black" stroke-width="4"/>
<path d="M395 960V960C395 1026.27 341.274 1080 275 1080H140C73.7258 1080 20 1133.73 20 1200V1200" stroke="black" stroke-width="4"/>
</svg>
<!-- <h2 style="font-size: 2rem; color:white; grid-column: 3/7; grid-row:2/4">test</h2> -->
</div>
现在,我想在此处的每条水平线之间的 space 中心放置一些内容
但是当我尝试在第 2/7 列和第 2/4 行之间放置一些东西时,由于某种原因,行会缩小
这是个问题,因为我想将内容居中。
谁能告诉我为什么会发生这种情况以及我如何解决它?
您缺少 grid-template-rows
,如果缺少此选项,grid-template-rows
默认使用 auto
以及您放入自适应内容的网格单元格中的所有内容。
.timeline__grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: repeat(10, 1fr); /* New line */
}