需求: ①前端页面最多显示三个tag,多余的在代码中全部显示。 ②且在调用接口的时候也要起作用,后端到时会将全部数据渲染出。 之前是用jQuery实现的,没有想到css3也可以实现(点 […]
需求:
①前端页面最多显示三个tag,多余的在代码中全部显示。
②且在调用接口的时候也要起作用,后端到时会将全部数据渲染出。
之前是用jQuery实现的,没有想到css3也可以实现(点击“加载更多”拉取数据的时候也起作用)
<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>
<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>
选择标签 | 选择第几个 |
---|---|
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位,并且只包含奇数位。