共计 1314 个字符,预计需要花费 4 分钟才能阅读完成。
一、使用 :not() 在菜单上应用 / 取消应用边框
我们通常的做法是先给每个菜单项设置边框,然后在设置最后一个菜单的边框为零
/* add border */
.nav li {
border-right: 1px solid #666;
}
//* remove border */
.nav li:last-child {
border-right: none;
}
不过不要这么做,使用 :not() 伪类来达到同样的效果:
.nav li:not(:last-child) {
border-right: 1px solid #666;
}
当然,你也可以使用 .nav li + li 或者 .nav li:first-child ~ li,但是 :not() 更加清晰,具有可读性
.nav li + li{
border-right:1px solid #666;}
/*.nav li:first-child ~ li{
border-left:1px solid #fff;
}*/
二、使用:nth-child(n) 选择项目
(注:第一个子元素的下标是 1)
:nth-child(3) 表示选择列表中的第三个元素
:nth-child(2n) 表示列表中的偶数标签,即选择第 2、第 4、第 6……标签
:nth-child(2n-1) 表示选择列表中的奇数标签,即选择 第 1、第 3、第 5、第 7……标签
:nth-child(n+3) 表示选择列表中的标签从第 3 个开始到最后(>=3)
:nth-child(-n+3) 表示选择列表中的标签从 0 到 3,即小于 3 的标签 (<=3)
:nth-last-child(3) 表示选择列表中的倒数第 3 个标签
:nth-of-type(n) 匹配属于父元素的特定类型的第 N 个子元素的每个元素
三、隐藏没有静音、自动播放的影片
video[autoplay]:not(:muted){
display:none;
}
再次,利用了:not() 的优点
四、IE 条件注释
IE 中的条件注释对 IE 的版本和 IE 非 IE 有优秀的区分能力,是 Web 开发中常用的 hack 方法,能对 IE 系列产品进行单独的 HTML 代码处理
<!–[if lt IE 9]>
// 解决 ie9 以下浏览器对 html5 新增标签的不识别,并导致 CSS 不起作用的问题
<script src=”//cdn.bootcss.com/respond.js/1.4.2/respond.js”></script>
// 让不支持 css3 Media Query 的浏览器包括 IE6-IE8 等其他浏览器支持查询
<script src=”http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js”></script>
<![endif]—>
gt : greater than,选择条件版本以上版本,不包含条件版本
lt : less than,选择条件版本以下版本,不包含条件版本
gte : greater than or equal,选择条件版本以上版本,包含条件版本
lte : less than or equal,选择条件版本以下版本,包含条件版本
! : 选择条件版本以外所有版本,无论高低
五、固定表格 table-layout:fixed;
注:未完待续,发现新的技巧会持续更新,如有更好的技巧,欢迎留言讨论