gird布局隔行格列修改样式

文章详细描述了如何使用CSS的:nth-child伪类选择器以及不同的计算公式an+b(如4n+1,6n+1等),在不同列数的网格布局中实现隔行添加边框效果。
摘要由CSDN通过智能技术生成

使用 nth-child 选择器和公式 an + b

  • 两列隔行
  • 在这里插入图片描述
  <view class="testGird2">
          <view class="_item" v-for="(item, index) in 10" :key="index">
            <view class="_text">{{ index + 1 }}</view>
            <view class="_cont"> </view>
          </view>
 </view>
.testGird2{
  display: grid;
  grid-template-columns: repeat(2, 3fr);
  ._item {
    padding: 5px;
    // 奇数行
    &:nth-child(4n + 1),
    &:nth-child(4n + 2) {
      border:3px solid  green; 
    }
    // 偶数行
    &:nth-child(4n + 3),
    &:nth-child(4n + 4){
      border:3px solid  red; 
    }
  }
}
  • 三列隔行
    在这里插入图片描述
 <view class="testGird3">
          <view class="_item" v-for="(item, index) in 12" :key="index">
            <view class="_text">{{ index + 1 }}</view>
            <view class="_cont"> </view>
          </view>
        </view>
.testGird3{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  ._item {
    padding: 5px;
    // 奇数行
    &:nth-child(6n + 1),
    &:nth-child(6n + 2),
    &:nth-child(6n + 3) {
      border:3px solid  green; 
    }
    // 偶数行
    &:nth-child(6n + 4),
    &:nth-child(6n + 5),
    &:nth-child(6n + 6) {
      border:3px solid  red; 
    }
  }
}
  • 四列隔行
    在这里插入图片描述
<view class="testGird4">
          <view class="_item" v-for="(item, index) in 12" :key="index">
            <view class="_text">{{ index + 1 }}</view>
            <view class="_cont"> </view>
          </view>
        </view>
.testGird4{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  ._item {
    padding: 5px;
    // 奇数行
    &:nth-child(8n + 1),
    &:nth-child(8n + 2),
    &:nth-child(8n + 3),
    &:nth-child(8n + 4) {
      border:3px solid  green; 
    }
    // 偶数行
    &:nth-child(8n + 5),
    &:nth-child(8n + 6),
    &:nth-child(8n + 7),
    &:nth-child(8n + 8) {
      border:3px solid  red; 
    }
  }
}
  • 五列隔行
    在这里插入图片描述
 <view class="testGird5">
          <view class="_item" v-for="(item, index) in 15" :key="index">
            <view class="_text">{{ index + 1 }}</view>
            <view class="_cont"> </view>
          </view>
        </view>
.testGird5{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  ._item {
    padding: 5px;
    // 奇数行
    &:nth-child(10n + 1),
    &:nth-child(10n + 2),
    &:nth-child(10n + 3),
    &:nth-child(10n + 4),
    &:nth-child(10n + 5) {
      border:3px solid  green; 
    }
    // 偶数行
    &:nth-child(10n + 6),
    &:nth-child(10n + 7),
    &:nth-child(10n + 8),
    &:nth-child(10n + 9),
    &:nth-child(10n + 10) {
      border:3px solid  red; 
    }
  }
}
  • 隔列
    在这里插入图片描述
  <view class="testGird6">
          <view class="_item" v-for="(item, index) in 15" :key="index">
            <view class="_text">{{ index + 1 }}</view>
            <view class="_cont"> </view>
          </view>
        </view>
.testGird6{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  ._item {
    padding: 5px;
    // 奇数行
    &:nth-child(6n + 1),
    &:nth-child(6n + 3),
    &:nth-child(6n + 5) {
      border:3px solid  green; 
    }
    // 偶数行
    &:nth-child(6n + 2),
    &:nth-child(6n + 4),
    &:nth-child(6n + 6) {
      border:3px solid  red; 
    }
  }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值