【发布时间】:2017-10-13 05:15:15
【问题描述】:
我正在尝试使用原生 CSS 网格属性创建一个简单的 CSS 网格。它可以按我的意愿工作,只是我想创建一个可以在网格中居中列的实用程序类。
有没有办法创建__centered 实用程序类,以便我可以将它应用到中心列?我知道我可以在列之前添加空列 div,但我想要一个更简洁的解决方案。
.l-wrap {
width: 100%;
max-width: 1196px;
margin: 0 auto;
}
.l-grid {
display: grid;
grid-gap: 52px;
grid-template-columns: repeat(6, 1fr);
background-color: orangered;
}
.l-grid--col {
grid-column: auto/span 6;
}
.l-grid--col-1 {
grid-column: auto/span 1;
background-color: lightblue;
}
.l-grid--col-2 {
grid-column: auto/span 2;
background-color: lightblue;
}
.l-grid--col-3 {
grid-column: auto/span 3;
background-color: lightblue;
}
.l-grid--col-4 {
grid-column: auto/span 4;
background-color: lightblue;
}
.l-grid--col-5 {
grid-column: auto/span 5;
background-color: lightblue;
}
.l-grid--col-6 {
grid-column: auto/span 6;
background-color: lightblue;
}
<div class="l-wrap">
<div class="l-grid l-grid__centered">
<div class="l-grid--col-2">
<p>This should span 2 and be centered.</p>
</div>
</div>
</div>
【问题讨论】:
-
为了明确,我想创建一个实用程序类,很像 Zurb Foundation 中的
.centered类:foundation.zurb.com/sites/docs/grid.html#centered-columns(仅适用于 css 网格)
标签: html css grid-layout css-grid