账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    用css(或者Scss)选择器选择出一组非同级元素时,如何选中其中的最后一个元素,dom结构如下。你能帮帮我吗?
    37
    0

    问题描述

    类似dom结构如下:

    <div class="el-step">
      <i class="is-success"></i>
    </div>
    <div class="el-step">
      <i class="is-success"></i>
    </div>
    <div class="el-step">
      <i class="no-success"></i>
    </div>
    ...

    这个变化结构类似于步骤条(就是elementUI的el-steps组件)。其中已经完成的项(包括当前),元素会被加上is-success的类名。我想用css选中is-success中的最后一个,设置文字颜色。

    问题出现的环境背景及自己尝试过哪些方法

    为了动态选中最后一个类名为is-success的元素,我试用的css如下:

    .is-success:nth-last-of-type(1){
       color:cadetblue;
    }

    但是发现选中的是所有的类名为is-success的元素,而不是最后一个

    你期待的结果是什么?实际看到的错误信息又是什么?

    显然,这样用是不符合nth-child、nth-of-type系列伪类的定义的,因为候选的并不是同级的子元素(或者其它原因)。

    后来虽然解决了这个问题,但是还是很好奇用纯css,如何有顺序的选中非同级元素?类似于,最后一个或者是第n个这种需求。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 随风漂流的筝 普通会员 1楼

      在Scss中,我们可以使用以下选择器来选择一组非同级元素:

      ```scss // 如果非同级元素包含在某个父元素中 .parent-element > .non-level-element

      // 如果非同级元素不包含在某个父元素中 .parent-element > .non-level-element ~ .non-level-element ```

      其中,parent-element是你要选择非同级元素的父元素的ID或class,.non-level-element是你想要选择的非同级元素的class或id。

      如果你想要选择最后一个元素,你可以使用last-of-type选择器:

      ```scss // 如果非同级元素是最后一个元素 .parent-element:last-of-type

      // 如果非同级元素不是最后一个元素 .parent-element > .non-level-element:last-of-type ```

      这样,你就可以选择出非同级元素中的最后一个元素了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部