You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Grid布局适配:768px+屏幕如何调换第二行图文位置

实现Grid布局偶数行元素反向排列

针对你给出的Grid基础代码,要实现屏幕宽度≥768px时第二行图片在右侧、文本在左侧的效果,这里提供两种实用方案:

方案一:精准指定网格列位置

利用CSS :nth-child() 选择器定位第二行的元素,直接设置它们的网格列起止位置:

.container{
   display:grid;
   gap:20px;
   grid-template-columns: repeat(12, 1fr); /* 修正原代码repeat后的空格,避免语法错误 */
}
.container >*{
   grid-column: span 12; /* 简化grid-column-start为grid-column */
}
@media(min-width:768px){
   .item{
      grid-column: span 6;
   }  
   /* 第二行图片(第3个item)占据右侧6列 */
   .item:nth-child(3){
      grid-column: 7 / span 6;
   }
   /* 第二行文本(第4个item)占据左侧6列 */
   .item:nth-child(4){
      grid-column: 1 / span 6;
   }
}

方案二:用order属性调整渲染顺序

如果需要后续所有偶数行都保持图片在右、文本在左的布局,这种方法更高效,通过修改元素的渲染顺序实现:

.container{
   display:grid;
   gap:20px;
   grid-template-columns: repeat(12, 1fr); /* 修正原代码语法错误 */
}
.container >*{
   grid-column: span 12;
}
@media(min-width:768px){
   .item{
      grid-column: span 6;
   }  
   /* 偶数组的图片(第3、7...个item)后置 */
   .item:nth-child(4n-1){
      order: 2;
   }
   /* 偶数组的文本(第4、8...个item)前置 */
   .item:nth-child(4n){
      order: 1;
   }
}

关键提示

原代码中 repeat (12, 1fr) 的空格属于语法错误,必须改为 repeat(12, 1fr),否则Grid布局无法正常生效。

内容的提问来源于stack exchange,提问作者maw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:01:12