我以前也没有想到过这种用法,这个小小的技巧能省去很多时间和代码。下面让我解释一下,比如说,我们要美化一个文章列表。
<!-- This is what your html would look like --> <ul class="posts"> <li class="post"> <a href="/link-to-post/" title="Permalink to post"> <h2>Post Title</h2> <small>Thurs, Feb 16, 2017<small> </a> </li> </ul>
我以前的实现方法是这样的,其实是很笨的方法!
.posts {
list-style: none;
margin: 0;
padding: 0;
}
.post {
border-bottom: 1px solid #eee;
margin-bottom: .5rem;
padding-bottom: .5rem;
&:last-child {
border-bottom: 0;
margin-bottom: 0;
padding-bottom: 0;
}
}这css的目的是要让列表的文章之间有间隔,但最后一个不需要。这个时候,:not(:last-of-type)就大限神威了!
.post:not(:last-of-type) {
border-bottom: 1px solid #eee;
margin-bottom: .5rem;
padding-bottom: .5rem;
}使用not(:last-of-type),我们省掉了5行代码。试想在我们编写的其它代码中都使用这种技巧,不知道要省掉多少工夫。








网友评论文明上网理性发言 已有0人参与
发表评论: