首页 > 解决方案 > 将网格中的文本与 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>

现在,我想在每条水平线之间的空间中放置一些内容

在此处输入图像描述

但是当我尝试在第 2/7 列和第 2/4 行之间放置一些东西时,由于某种原因,行会缩小

在此处输入图像描述

这是一个问题,因为我想将内容放在两行之间。

谁能告诉我为什么会发生这种情况以及我如何解决它?

标签: htmlcsscss-grid

解决方案


你错过了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 */
}

网格模板行


推荐阅读