使用 :not() 选择器来决定列表是否显示边框

使用 :not() 选择器来决定表单是否显示边框

    <ul>
        <li>section 1</li>
        <li>section 2</li>
        <li>section 3</li>
        <li>section 4</li>
        <li>section 5</li>
        <li>section 6</li>
    </ul>

先为元素添加边框

/* 添加边框 */
ul li {
  border: 1px solid #ccc;
}

如图:

为最后一个li去掉边框;

/* 去掉边框 */
ul li:last-child {
  border: none;
}

这么做是在所有li加了border边框的前提下,给最后一个li加none;如果有很多呢?是不是要用到li:nth-child(n)这样样式一个一个的写呢?

那么我们使用 :not() 伪类来达到同样的效果:

        ul{
            list-style: none;
        }
        li{
            padding: 15px;
            margin: 5px 0;
        }
        /*去掉边框*/
        ul li:not(:last-child){
            border:1px solid #ccc;
        }

最终效果都一样的;

当然,也可以使用 .nav li + li 或者 .nav li:first-child ~ li ,但是 :not() 更加清晰,具有可读性。

很简单的东西,不为别的就为写代码一点一点的规范起来,有很强的可读性!加油!!

原文地址:https://www.cnblogs.com/vince-cup/p/6378766.html