VIP福利
主页 > 建站问题 > CSS/HTML > 顺便学习下CSS选择器 奇偶匹配nth-child(even)

顺便学习下CSS选择器 奇偶匹配nth-child(even)

需求: ①前端页面最多显示三个tag,多余的在代码中全部显示。 ②且在调用接口的时候也要起作用,后端到时会将全部数据渲染出。 之前是用jQuery实现的,没有想到css3也可以实现(点 […]



需求:
①前端页面最多显示三个tag,多余的在代码中全部显示。
②且在调用接口的时候也要起作用,后端到时会将全部数据渲染出。

之前是用jQuery实现的,没有想到css3也可以实现(点击“加载更多”拉取数据的时候也起作用)


html:
<div class="key_box">
        <a href="#">链接1</a>
        <a href="#">链接2</a>
        <a href="#">链接3</a>
        <a href="#">链接4</a>
        <a href="#">链接5</a>
        <a href="#">链接6</a>
    </div>
css:
   <style>
        /* 表示选择列表中的标签从0到3,即小于3的标签 */
        
        .key_box a:nth-child(-n+3) {
            color: green;
        }
        /* 表示选择列表中的标签从第3个开始一直到最后 */
        
        .key_box a:nth-child(n+4) {
            /* color: green; */
            display: none;
        }
    </style>
结果:(只显示3个,第三个开始隐藏掉了)
结果.png
附:
css3:nth-child选取第几个标签元素
选择标签 选择第几个
nth-child(3) 选择第3个
nth-child(2n) 选择偶数标签
nth-child(2n-1) 选择奇数标签
nth-child(n+3) 选择从第3个标签开始到最后
nth-child(-n+3) 选择从第0到3,即小于3的标签
方法二:(也可以实现,但不推荐!!)

其实思路就是通过JQ给之后不显示的标签增加display:none

  <script>
        var num = $('.key_box').children('a').length;
        for (var i = 0; i < num; i++) {
            if (i > 2) {
                $('.key_box a')[i].style.display = 'none';
            }
        }
    </script>

正方向范围

li:nth-child(n+6)

选中从第6个开始的子元素

负方向范围

:nth-child(-n+9)

选中从第1个到第9个子元素。使用 :nth-child(-n+9) ,就相当让你选中第9个和其之前的所有子元素

前后限制范围

:nth-child(n+4):nth-child(-n+8)

选中第4-8个子元素。使用 nth-child(n+4):nth-child(-n+8) 我们可以选中某一范围内子元素,上面的例子里是从第4个到第8个子元素

奇数、偶数位

:nth-child(odd)

:nth-child(even)

隔选择子元素

:nth-child(3n+1),

选择1,4,7,10

范围高级用法

nth-child(n+2):nth-child(odd):nth-child(-n+9)

使用 nth-child(n+2):nth-child(odd):nth-child(-n+9) 我们将会选中的子元素是从第2位到第9位,并且只包含奇数位。



说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!