Al-*_*-76 3 html css css3 css-grid
我有以下桌面,它创建4个相等的列,全部为25%.
.footer-inner {
display: grid;
grid-template-columns: repeat(4, 1fr);
}Run Code Online (Sandbox Code Playgroud)
<div class="footer-inner">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
</div>Run Code Online (Sandbox Code Playgroud)
但是,如何在媒体查询中调整这些大小以使第一列达到100%并且其余列自然地包裹在下面,现在仍然使用CSS网格33.333%?
.footer-inner {
display: grid;
grid-template-columns: 100% 1fr 1fr 1fr;
/* AND THIS */
grid-template-columns: 100% 33.333% 33.333% 33.333%;
}
Run Code Online (Sandbox Code Playgroud)
将网格更改为三列,并将第一个div设置为在适当的位置跨越它们.
.footer-inner {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
.footer-inner div {
border: 1px solid grey;
text-align: center;
}
.footer-inner :first-child {
grid-column: 1 / -1;
}Run Code Online (Sandbox Code Playgroud)
<div class="footer-inner">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
</div>Run Code Online (Sandbox Code Playgroud)
grid-column: span 3您可以使用以下设置来完成此操作:first-child:
.footer-inner {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 650px) {
.footer-inner {
grid-template-columns: repeat(3, 1fr);
}
.footer-inner > div:first-child {
grid-column: span 3;
border: 1px solid;
}
}Run Code Online (Sandbox Code Playgroud)
<div class="footer-inner">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
</div>Run Code Online (Sandbox Code Playgroud)