[CSS3] 学习笔记-选择器详解(二)
1、选择器first-child、last-child、nth-child和nth-last-child
利用first-child、last-child、nth-child和nth-last-child能够针对一个父元素中的第一个子元素、最后一个子元素、指定序号的子元素,甚至第偶数个或者第奇数个子元素进行样式的指定。
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <!--first-child--> <style> li:first-child{ background-color: orange; } /*last-child */ li:last-child{ background-color: red; } /*nth-child(position)*/ li:nth-child(3){ background-color: aqua; } /*nth-last-child() 从下往上数*/ li:nth-last-child(2){ background-color: gold; } /*li:nth-last-child(odd) 给奇数加效果*/ /*li:nth-last-child(even) 给奇数加效果*/ </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>
2、选择器nth-of-type和nth-last-of-type
在CSS3中,通过选择器nth-of-type和nth-last-of-type,来避免选择元素时,会把子元素的个数也计算在内。使用这两个选择器时,CSS3在计算子元素是第奇数个子元素还是第偶数个子元素时,就只针对同类型的子元素进行计算了。
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style> /*以下是连同父级标签和子元素一同计算了*/ /*h2:nth-child(odd){*/ /*background-color: gold;*/ /*}*/ h2:nth-of-type(even){ background-color: green; } </style> </head> <body> <h2>文章标题</h2> <p>文章正文</p> <h2>文章标题</h2> <p>文章正文</p> <h2>文章标题</h2> <p>文章正文</p> <h2>文章标题</h2> <p>文章正文</p> </body> </html>
3、nth-child和only-child选择器
nth-child选择器:
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <!-- nth-child(n) an+β --> <style> li:nth-child(4n+1){ background-color: gold; } li:nth-child(4n+2){ background-color: darkgreen; } li:nth-child(4n+3){ background-color: red; } li:nth-child(4n){ background-color: blue; } </style> </head> <body> <ul> <li>列表1</li> <li>列表2</li> <li>列表3</li> <li>列表4</li> <li>列表1</li> <li>列表2</li> <li>列表3</li> <li>列表4</li> <li>列表1</li> <li>列表2</li> <li>列表3</li> <li>列表4</li> <li>列表1</li> <li>列表2</li> <li>列表3</li> <li>列表4</li> </ul> </body> </html>
only-child选择器:
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style> /*以下语句,列表1,2和3都会被改变颜色*/ /*li:nth-child(1){*/ /*background-color: aqua;*/ /*}*/ /*以下语句,只有列表1和2会被改变颜色*/ /*即只有1个子元素时,会起作用*/ li:only-child{ background-color: gold; } </style> </head> <body> <ul> <li>列表1</li> </ul> <ul> <li>列表2</li> </ul> <ul> <li>列表3</li> <li>列表4</li> <li>列表5</li> </ul> </body> </html>
[CSS3] 学习笔记-选择器详解(二)的更多相关文章
- [CSS3] 学习笔记-选择器详解(三)
1.UI元素状态伪类选择器 在CSS3的选择器中,除了结构性伪类选择器外,还有一种UI元素伪类选择器.这些选择器的共同特征是:指定的样式只有当元素处于某种状态时才起作用,在默认状态下不起作用.在CSS ...
- CSS3 基础(1)——选择器详解
CSS3选择器详解 一. 属性选择器 在CSS3中,追加了三个属性选择器分别为:[att*=val].[att^=val]和[att$=val],使得属性选择器有了通配符的概念. 选择器 示例 描述 ...
- JavaScript学习笔记-实例详解-类(二)
实例详解-类(二) //===给Object.prototype添加只读\不可枚举\不可配置的属性objectId(function(){ Object.defineProperty(Object ...
- Angular6 学习笔记——组件详解之组件通讯
angular6.x系列的学习笔记记录,仍在不断完善中,学习地址: https://www.angular.cn/guide/template-syntax http://www.ngfans.net ...
- Angular6 学习笔记——组件详解之模板语法
angular6.x系列的学习笔记记录,仍在不断完善中,学习地址: https://www.angular.cn/guide/template-syntax http://www.ngfans.net ...
- Angular6 学习笔记——路由详解
angular6.x系列的学习笔记记录,仍在不断完善中,学习地址: https://www.angular.cn/guide/template-syntax http://www.ngfans.net ...
- JavaScript学习笔记-实例详解-类(一)
实例详解-类(一): //每个javascript函数(除了bind())都自动拥有一个prototype对象// 在未添加属性或重写prototype对象之前,它只包含唯一一个不可枚举属性const ...
- Android学习笔记-Dialog详解
1.对话框的使用 1.1AlertDialog的显示 简单对话框以及监听的设置:重点掌握三个按钮(也就是三上单词): PositiveButton(确认按钮);NeutralButton(忽略按钮) ...
- C++并发与多线程学习笔记--unique_lock详解
unique_lock 取代lock_quard unique_lock 的第二个参数 std::adopt_lock std::try_to_lock std::defer_lock unique_ ...
随机推荐
- MRC的下setter访问器的两种形式
// Person复合了Phone和Room // 第一种:比较合理 先判断对象形参传递的对象和原属性是否一致,不一致在释放旧值,给形参传递的值retain,因为retain方法会返回该对象,因此可以 ...
- Javascript Jquery 中的数组定义与操作_子木玲_新浪博客
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- Ubuntu Apache2 配置简单介绍
debian系列的(如Ubuntu,本人是Ubuntu 12.04的)Apache 通过 apt-get 方式安装的是 Apache2 的,是 httpd 的 2.x 版本,名字直接叫 apache2 ...
- LWIP裸机环境下实现TCP与UDP通讯
前面移植了LWIP,并且简单的实用了DHCP的功能,今天来使用一下实际的数据通讯的功能 首先是实现TCP客户端,我先上代码 #ifndef __TCP_CLIENT_H_ #define __TCP_ ...
- Codeforces#355
大小号刷题,大号,被查重,悲剧,最后小号过了3题 A题: 分析:大于h的+2,小于等于h的+1 #include <iostream> #include <cstdio> #i ...
- memcache细节解析
转自:原链接 Memcached内存管理采取预分配.分组管理的方式,分组管理就是划分slab class,按照chunk的大小slab被分为很多种类. slab Slab是一个内存块,它是memc ...
- LPC1788的spi使用
#ifndef __SPI_H_ #define __SPI_H_ #include "common.h" #include "delay.h" // cs p ...
- c++ builder 2009如何生成独立运行exe(转)
参考资料:https://forums.codegear.com/thread.jspa?threadID=13559&tstart=703 查了很多网站资料,说得差不多,但是最后编译出来的还 ...
- Góra urządzenia z dwoma zwiększyć moc może sprawić
Zaprojektowany z rzeczywistym komfortu i łatwości od sportowca w swoim umyśle, kolejna edycja ze wzr ...
- java基础(一)面向对象
对象就是事物存在的实体,例如:人类,计算机等:而对象被分为两个部分,既动态与静态 类:就是同一事物的统称,如果将世界中的一个事物抽象成对象,类就是这类对象的统称,具有相同特性和行为的一类事物就是类. ...