CSS3常用选择器(二)
本文继续介绍css3新增的选择器。
1.选择器 first-child、last-child、nth-child 和 nth-last-child
利用这几个选择器能够针对一个父元素中的第一个子元素、最后一个子元素、指定序号的子元素,甚至第偶数个或第奇数个子元素进行样式的指定。
直接看代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3选择器</title>
<style type="text/css">
li:first-child{/*第一个子元素*/
background-color: yellow;
}
li:last-child{/*最后一个子元素*/
background-color: lightblue;
}
li:nth-child(3){/*从上往下数第三个子元素*/
background-color: pink;
}
li:nth-last-child(2){/*从下往上数第二个子元素*/
background-color: firebrick;
} </style>
</head>
<body>
<h2>列表</h2>
<ul>
<li>列表1</li>
<li>列表2</li>
<li>列表3</li>
<li>列表4</li>
<li>列表5</li>
<li>列表6</li>
</ul>
</body>
</html>
效果:

利用奇偶设置样式:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3选择器</title>
<style type="text/css">
li:nth-child(odd){/*奇数个元素*/
background-color: pink;
}
li:nth-child(even){/*奇数个元素*/
background-color: firebrick;
}
</style>
</head>
<body>
<h2>列表</h2>
<ul>
<li>列表1</li>
<li>列表2</li>
<li>列表3</li>
<li>列表4</li>
<li>列表5</li>
<li>列表6</li>
</ul>
</body>
</html>
效果:

如果多组样式重复,可以直接使用αn+β类型参数,不需要定义n循环:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>css3选择器</title>
<style type="text/css">
h2:nth-child(3n+1){
background-color: pink;
}
p:nth-child(3n+2){
background-color: lightblue;
}
p:nth-child(3n){
background-color: yellowgreen;
}
</style>
</head>
<body>
<h2>标题1</h2>
<p>内容1</p>
<p>内容11</p>
<h2>标题2</h2>
<p>内容2</p>
<p>内容21</p>
<h2>标题3</h2>
<p>内容3</p>
<p>内容31</p>
<h2>标题4</h2>
<p>内容4</p>
<p>内容41</p>
</body>
</html>
效果:

2. nth-of-type 和 nth-last-of-type选择器
这两个选择器和刚刚的四个child选择器类似,但是有些情况下利用这两个选择器会避免一些问题发生,下面举例说明。
如下四个段落,我们希望设置标题一和三同色,二和四同色。
<h2>标题1</h2>
<p>内容1</p>
<h2>标题2</h2>
<p>内容2</p>
<h2>标题3</h2>
<p>内容3</p>
<h2>标题4</h2>
<p>内容4</p>
如果使用nth-child:
h2:nth-child(odd){
background-color: pink;
}
h2:nth-child(even){
background-color: lightblue;
}
效果如下:

因为nth-child在计算子元素时将所有子元素都计算在内了,所以上面的代码中每一个h2都是第奇数个元素,而偶数个元素因为不是h2,所以样式不生效。
这种情况使用nth-of-type可以解决:
h2:nth-of-type(odd){
background-color: pink;
}
h2:nth-of-type(even){
background-color: lightblue;
}

nth-of-type只计算父元素下的同类子元素。nth-last-of-type为从后向前数,不再赘述。
3.only-child选择器
使用only-child选择器可以代替使用 nth-child(1):nth-last-child(1) 的实现方法。当只有一个子元素时,可以使用only-child选择器。
CSS3常用选择器(二)的更多相关文章
- CSS3常用选择器(三)
在CSS3的选择器中,除了结构性伪类选择器外,还有一种UI元素状态伪类选择器.这些选择器的共同特征: 指定的样式只有当元素处于某种状态时才起作用,在默认状态下不起作用. 1.hover.focus.a ...
- CSS3常用选择器(一)
在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素.比如最常用到的#id,.class,标签选择器. 随着CSS3到来,增加了很多新型选择器,这里就常用的做一个总结. 1.属性选择器. 在c ...
- CSS3常用选择器
一.基本选择器 子元素选择器 概念:子元素选择器只能选择某元素的子元素语法格式:父元素 > 子元素 (Father > Children)兼容性:IE8+.FireFox.Chrome.S ...
- CSS3 常用选择器
p:last-of-type{background-color: red;} 选择p中最后一项 p:nth-of-type(2n){background-color: red;} 隔行变色里面也可以填 ...
- CSS3常用30种选择器总结
CSS3常用30种选择器总结 HTML5/CSS3时尚的圆盘时钟动画 带当前日期 www.html5tricks.com/demo/html5-css3-clock-with-date/index.h ...
- css3的那些高级选择器二
在上个星期我介绍了css3的属性选择器,伪类选择器和结构伪类选择器,今天楼主继续把其它的css3选择器说完. 在css3中,共有11中UI状态伪类选择器,分别是E:hover,E:active,E:f ...
- 01-css的引入方式和常用选择器
一.css介绍 现在的互联网前端分三层: HTML:超文本标记语言.从语义的角度描述页面结构. CSS:层叠样式表.从审美的角度负责页面样式. JS:JavaScript .从交互的角度描述页面行为 ...
- CSS3选择器02—CSS3部分选择器
该部分主要为CSS3新增的选择器 接上一篇 CSS(CSS3)选择器(1) 一.通用兄弟选择器: 24:E ~ F,匹配任何E元素之后的同级F元素. div ~ p{ background-color ...
- CSS3 教程 选择器 标记一下防止 要找时404
客 » Airen的博客 CSS3 选择器——基本选择器 作者:大漠 日期:2011-08-09 点击:6418 CSS的选择器,我想大家并不会陌生吧,因为天天在使用,但对于CSS3的选择器,要运 ...
随机推荐
- 2015GitWebRTC编译实录11
2015.07.21 ilbc 编译通过注意有几个win32打头的文件,其实都是要编进去的[429/1600 ] CC obj ilbc.abs_quant.o[430/1600 ] CXX obj ...
- sql语句与数据库2
增加数据 insert into wyx(xh,nl,xb,sfzh,zcrq)values(0422,28,男,210623198711111111,2016-8-19); 删除数据 delete ...
- C语言实现Web客户端(转-kungstriving)
和我的上一篇文章是一起写的,呵呵,大家给提点意见啊. :-) /*********filename : Client.cpp**************** 该程序通过标准socket实 ...
- (MST) HDOJ 1102 Constructing Roads
怎么说呢 这题就是个模板题 但是 hud你妹夫啊说好的只有一组数据呢??? 嗯??? wa到家都不认识了好吗 #include <cstdio> #include <cstring& ...
- Hadoop的I/O操作
HDFS的数据完整性 检验数据是否损坏最常见的措施是:在数据第一次引入系统时计算校验和并在数据通过一个不可靠通道进行传输时再次计算校验和,这样就能发现数据是否被损坏.HDFS会对写入的所有数据计算校验 ...
- Tomcat长出现的内存溢出问题
以下内容转载自博客:http://www.cnblogs.com/apaqi/archive/2012/07/09/2582480.html 在eclipse.ini配置文件中加上以下两行 -XX:P ...
- Asp.net MVC 之请求生命周期
今天主要试着描述一下ASP.NET MVC 请求从开始到结束的整个生命周期,了解这些后,对MVC会有一个整体的认识. 这里主要研究了MVC请求的五个过程. 1.创建RouteTable 当ASP.NE ...
- 【巩固】CSS3的animation基础
终于结束了最后css3的一节课,关于animation的使用,其实之前已经用过一次.大致要了解的就是,关于如何让动画停在最后一帧的方法.视频里有提到过css3出了个新的样式可以实现,但是老师没有记住, ...
- CSS布局概述
1.HTML5文档类型 由于Bootstrap使用了HTML5特定的HTML元素和CSS属性,所以使用Bootstrap的时候,所有的HTML文件都需要在其顶部引用HTML5的DOCTYPE属性,如下 ...
- ImageLoader介绍2
Universal Image Loader 是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示.所以,如果你的程序里需要这个功能的话,那么不妨试试它.他本来是 ...