龙喵专栏 /前端 /内容

CSS3选择非第一个子元素

版权声明:龙喵网!!!网站网址:http://ailongmiao.com

很多时候我们工作项目中需要用CSS选择非第一个子元素,例如下面这样的HTML,希望让两个li之间间隔一定的距离,但又不希望简单的给每个li设置margin-top(会导致最后一个li也有margin-top,可能影响之后元素的排版)。

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

这时如果能排除第一个元素,并给其他元素设置margin-top属性,就能实现比较好的效果了。

可以利用notfirst-child,通过下面的CSS实现。

ul> li:not(:first-child) {
    margin-top:10px;
}

还可以利用兄弟元素选择器+,像这样:

ul>li + li {
    margin-top:10px
}

如果HTML是这样的,应该怎么做呢?

<ul>
    <li></li>
    <p></p>
    <li></li>
    <li></li>
</ul>

其实也很简单,用通配符就可以了:

ul> * :not(:first-child) {
    margin-top:10px
}
版权声明:龙喵网!!!网站网址:http://ailongmiao.com

1.部分文章来自网络,如有侵犯权益,请联络博主,资源失效与内容勘误留言说明.

2.如若转载,请注明出处:http://ailongmiao.com/read/511.html

[ web前端导航 ]:http://ailongmiao.com/web/

评论

继续阅读

细数CSS伪元素及其用法

Web前端 2019-03-29 1

CSS中有两个很常见的概念,伪类和伪元素。伪类用于在页面中的元素处于某个状态时,为其添加指定的样式。伪元素会创建一个抽象的伪元

GET和POST的区别

Web前端 2019-03-11 6

最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别?让我们先看一下标准答案长什么样子 w3school: GET

彻底解决滚动穿透方案

Web前端 2019-02-15 7

有一层遮罩蒙层覆盖在body上时,当我们滚动遮罩层,它下面的内容也会跟着一起滚动,看起来好像是上面的滚动事件穿透到下面的DOM元素上

  选择打赏方式

打赏

打赏