vue项目在v-for循环,使用first-child不生效

问题:v-for中使用:first-child不生效

<div class="faq-title">
        <span class="pos-rel">{{$t('amm.text_27')}}</span>
      </div>
     
        <div v-for="(item,index) in list"
             class="row-align-center content-row"
             :key="index">
          <div class="row-align-center">
            <div class="title-icon-wrap pos-rel">
              <img src="../../../../assets/image/exchange/faq-title.png"
                   class="titel-faq-icon"
                   alt="">
              <p class="pos-as title-index">{{`Q${index+1}`}}</p>
            </div>
          </div>
          <div class="content-right-wrap">
            <div class="title-label">{{item&&item.title||'--'}}</div>
            <div class="content-label"
                 v-html="item&&item.content&&item.content||'--'"></div>
          </div>
      </div>
      <style lang="less" scoped>
.amm-instruction {
  background: #f8fafb;
  min-width: 1280px;
  min-height: 1320px;
  .content-right-wrap {
    padding-left: 12px;
    box-sizing: border-box;
  }

  .content-row {
    box-sizing: border-box;
    &:first-child {
      margin-top: 30px;   //不生效
    }
    &.row-align-center {
      align-items: flex-start;
    }
  }
  </style>

解决方案:

1.一定要保证前面没有兄弟节点,要么就用div包住,在v-for节点加div包裹
2.img:first-of-type{}也能达到first-child的效果,且前面可以有节点
3.img:nth-of-type(1){}也能达到first-child的效果,且前面可以有节点

如果对你有帮助,欢迎点赞

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值