菜单或新闻列表最后一项的css处理小技巧:not(:last-of-type)

菜单或新闻列表最后一项的css处理小技巧:not(:last-of-type)

网页开发时,导航菜单的最后一项或新闻列表的最后一项需要和前面其他项显示不同,如导航的最后一个菜单不再需要分隔符或右边的空白间距,新闻或文章列表的最后一项不需要底边距,列表一般都会有分割线,但是最后一个列表没有分割线等。

如文章列表如下:

<ul class='posts'>
  <li class='post'>
    <h3>中国网页设计-权威网页制作教程网站</h3>
  </li>
  <li class='post'>
    <h3>好站推荐-www.125jz.com</h3>
  </li>
  <li class='post'>
    <h3>HTML5学习专题上线了!</h3>
  </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;
  }
}

为了让最后一项的样式不同,还专门定义 :last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; },这样其实很繁琐,:not(:last-of-type)可以大大简化你的CSS代码。

.post:not(:last-of-type) {
  border-bottom: 1px solid #eee;
  margin-bottom: .5rem;
  padding-bottom: .5rem;
}

使用not(:last-of-type),省掉了5行代码。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2699.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年9月27日 上午8:44
下一篇 2018年9月28日 下午2:48

99%的人还看了以下文章

  • 跟永哥学HTML5(3):HTML5新增语义化元素的使用

    上节课我们讲了html5与html4的区别,Html5对语法进行了简化,一个htm5文档结构代码如下: <!doctype html> <html> <head> <meta charset=”utf-8″> <title>无标题文档</title> </head> <…

    2018年1月26日
    14.9K1
  • Dedecms的tplcache文件夹是什么,可以删除吗?

    tplcache是DeDeCMS里data目录下的模板缓存数据,时间久了就会积累成千上万的文件,而且会越来越大。dede模板缓存可以加快网页文件的生成速度,关闭的话,理论上说除了生成速度变慢之外没什么影响。tplcache文件夹是可以删除的。

    2023年3月19日
    3.8K0
  • CSS常用类/ID命名规范

    书写规范请查看《CSS语法及命名规范(入门)》,本文介绍常用类/ID命名规范,CSS文件命名规范,如页面主体:main 内容:content 标签页:tab  章列表:list 信息:msg   标题:title   热点:hot 新闻:news注册:regsiter 合作伙伴:partner 友情链接:friendlink 页脚:footer 版权:cop…

    2019年3月14日
    8.6K0
  • HTML5的视频播放控制技术

    介绍了HTML5的video元素和常用属性,以及视频播放控制技术,如播放、暂停、音量、全屏、回放功能的实现。

    2019年10月15日
    10.1K0
  • 第7课:HTML标签的属性

    许多元素都可以设置属性。 属性是什么? HTML通过标签告诉浏览器如何展示网页(比如告诉浏览器显示一个换行)。你可以为某些元素附加一些信息,这些附加信息被称为属性(attribute)。例1: <h2 style=”background-color: #ff0000;”>上125jz.com学网页制作</h2> 属性应写在元素的首标签…

    2018年1月20日
    3.5K0
  • jquery动态新增元素节点.click点击事件失效的2个解决方法

    问题: ajax读取留言列表,每条留言后面有个回复按钮,class为“reply”,用$(“.reply”).click(function(){ //do something… }),后面通过ajax加载进来的列表中的回复按钮,点击事件会失效。 解决方法: 最简单的方法就是直接在标签中写onclick=”&#8…

    2019年2月16日
    14.1K0

发表回复

登录后才能评论