当我不知道行数时,是否可以使网格项目从第一行到最后一行?
可以说我有以下HTML,其中的框数未知。
如何使.box第一个网格线到最后一个网格线的第三个跨度?
.box
.container { display: grid; grid-template-columns: repeat(3, minmax(10rem, 1fr)) [last-col] 35%; grid-template-rows: auto [last-line]; } .box { background-color: blue; padding: 20px; border: 1px solid red; } .box:nth-child(3) { background-color: yellow; grid-column: last-col / span 1; grid-row: 1 / last-line; } <div class="container"> <div class="box"></div> <div class="box"></div> <div class="box">3</div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div>
您可以将grid-row-start添加到该框中的css,并将其设置为跨越一个非常大的数字。
.container { display: grid; grid-template-columns: repeat(3, minmax(10rem, 1fr)) [last-col] 35%; grid-template-rows: auto [last-line]; } .box { background-color: blue; padding: 20px; border: 1px solid red; } .box:nth-child(3) { background-color: yellow; grid-column: last-col / span 1; grid-row: 1 / last-line; grid-row-start: span 9000; } <div class="container"> <div class="box"></div> <div class="box"></div> <div class="box">3</div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> <div class="box"></div> </div>
编辑-免责声明:
这是非最佳解决方案,并非在所有浏览器中都有效,请当心!尽管这在某些浏览器(Chrome)中似乎可行,但其他浏览器(Firefox)会创建数量众多的荒谬行,从而导致问题。