1、

*:通用元素选择器

* { margin: 0; padding: 0; }

*选择器是选择页面上的全部元素,上面的代码作用是把全部元素的margin和padding设为0,最基本的清除默认CSS样式方法

*选择器也可以应用到子选择器中,例如下面的代码:

#container * { border: 1px solid black; }

这样ID为container 的所有子标签元素都被选中了,并且设置了border。

2

#ID:ID选择器

#container { width: 960px; margin: auto; }

ID选择器是CSS中效率最高的选择器,使用的时候要保证ID的唯一性。

3

.class:类选择器

.error { color: red; }

类选择器效率低于ID选择器,一个页面可以有多个class,并且class可以放在不同的标签中使用。

4

X Y:标签组合选择器

li a { text-decoration: none; }

标签组合选择器也是常用的选择器。

5

X:标签选择器

a { color: red; } ul { margin-left: 0; }

如果你只是想要页面中的某个标签样式改变,可以选择使用标签选择器。

6

X:visited and X:link

a:link { color: red; } a:visted { color: purple; }

伪类选择器,最常用的为A标签

7

X + Y:毗邻元素选择器

ul + p { color: red; }

毗邻元素选择器,匹配的是所有紧随X元素之后的同级元素Y

8

X > Y:子元素选择器

div#container > ul { border: 1px solid black; }

匹配#container下的所有子元素。

关于X>Y和X Y的区别请看下面的html实例:

<div id="container"> <ul> <li> List Item <ul> <li> Child </li> </ul> </li> <li> List Item </li> <li> List Item </li> <li> List Item </li> </ul> </div>

选择器#container > ul只会匹配到第一个UL,也就是#container的子元素UL,而不是li里面的ul,但是div ul则可以匹配到所有DIV里面的ul。

9

X ~ Y:

ul ~ p { color: red; }

匹配任何在X元素之后的同级P元素。也就是选择了UL之后的同级所有的元素。

10

X[title]:属性选择器

a[title] { color: green; }

匹配具有某属性的标签,例如实例中是匹配具有title属性的a标签。

11

X[href="foo"]

a[href="http://js8.in"] { color: #1f6053; /* nettuts green */ }

也属于属性选择器,匹配属性中为某个值的标签。例如实例中匹配的为href="http://js8.in"的a标签,而其他链接的a标签不选择。

12

X[href*="nettuts"]

a[href*="tuts"] { color: #1f6053; /* nettuts green */ }

属于属性选择器,匹配href中所有含有tuts的标签。正则匹配

13

X[href^="http"]

a[href^="http"] { background: url(path/to/external/icon.png) no-repeat; padding-left: 10px; }

与上面的属相选择标签类似,但是匹配的以http开头的A标签,正则匹配

14

X[href$=".jpg"]

a[href$=".jpg"] { color: red; }

匹配属性中以.jpg结尾的标签,正则匹配,也是属性选择器的一种

15

X[data-*="foo"]

如果你要匹配所有的图片链接,你可以通过下面的CSS来实现:

a[href$=".jpg"], a[href$=".jpeg"], a[href$=".png"], a[href$=".gif"] { color: red; }

但是如果我们给a标签添加一个data-filetype属性,我们就可以使用下面的CSS来快速的选择我们需要匹配的标签了。

<a href="path/to/image.jpg" data-filetype="image"> Image Link </a> </html> <pre lang="css">a[data-filetype="image"] { color: red; }

16

X[foo~="bar"]

a[data-info~="external"] { color: red; }   a[data-info~="image"] { border: 1px solid black; }

匹配属性中具有多个空格分隔的值、其中一个值等于“bar”的X元素,例如下面的例子:

17

X:checked

input[type=radio]:checked { border: 1px solid black; }

这个选择器主要用于checkbox,选择checkbox为当前选中的那个标签。

18

X:after

.clearfix:after { content: ""; display: block; clear: both; visibility: hidden; font-size: 0; height: 0; }   .clearfix { *display: inline-block; _height: 1%; }

before 和after是在选择的标签之前或者之后插入内容,一般用于清除浮动,但是对于IE6、IE7是不可用的。

19

X:hover

div:hover { background: #e3e3e3; }

最常用的就是A标签了,但是在IE6浏览器下除了A标签之外,其他标签div:hover不匹配。

20

X:not(selector)

*:not(p) { color: green; }

选择除了()中选择器之外的标签元素。

21

X::pseudoElement

p::first-line { font-weight: bold; font-size: 1.2em; } p::first-letter { float: left; font-size: 2em; font-weight: bold; font-family: cursive; padding-right: 2px; }

分别用于匹配元素的第一行和第一个字母。看实例:

22

X:nth-child(n)

li:nth-child(3) { color: red; }

匹配X元素中从头数第几个标签,例如上面的代码是匹配的是第三个li标签。

23

X:nth-last-child(n)

li:nth-last-child(2) { color: red; }

与上一个选择器相反,这个选择器是倒序匹配第几个标签,上面的代码的意思是匹配倒数第二个li标签

24

X:nth-of-type(n)

ul:nth-of-type(3) { border: 1px solid black; }

与:nth-child()作用类似,但是仅匹配使用同种标签的元素

25

X:nth-last-of-type(n)

ul:nth-last-of-type(3) { border: 1px solid black; }

与:nth-last-child() 作用类似,但是仅匹配使用同种标签的元素

26

X:first-child

ul li:first-child { border-top: none; }

匹配其父元素的第n个子元素,第一个编号为1

27

X:last-child

ul > li:last-child { color: green; }

匹配其父元素的倒数第n个子元素,第一个编号为1

28

X:only-child

div p:only-child { color: red; }

匹配父元素下仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1)

29

X:only-of-type

li:only-of-type { font-weight: bold; }

匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1)

30

X:first-of-type

li:only-of-type { font-weight: bold; }

匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1)

最新CSS3常用30种选择器总结(适合初学者)的更多相关文章

  1. CSS3常用30种选择器总结

    CSS3常用30种选择器总结 HTML5/CSS3时尚的圆盘时钟动画 带当前日期 www.html5tricks.com/demo/html5-css3-clock-with-date/index.h ...

  2. Mysql常用30种SQL查询语句优化方法

    出处:http://www.antscode.com/article/12deee70111da0c4.html 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使 ...

  3. MySQL 常用30种SQL查询语句优化方法

    1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...

  4. [No000016A]CSS常用三种选择器

    1.HTML Tag p{color:red;} 2.id #myid{color:red;} 3.class .myclass{color:red;} CSS常用文本样式属性 color font- ...

  5. 不可不看!CSS3中三十一种选择器用法

    原文 The 30 CSS Selectors you Must Memorize 由 Jeffrey Way 发表于 2012 年 6 月,介绍了 30 种最常用的 CSS 选择器用法,多加了一种, ...

  6. CSS3常用选择器(一)

    在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素.比如最常用到的#id,.class,标签选择器. 随着CSS3到来,增加了很多新型选择器,这里就常用的做一个总结. 1.属性选择器. 在c ...

  7. 浅谈MySQL中优化sql语句查询常用的30种方法 - 转载

    浅谈MySQL中优化sql语句查询常用的30种方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使 ...

  8. CSS3常用属性

    CSS是我们常用的控制网页样式和布局的一种标准. CSS3是最新的CSS标准. CSS3被拆分为"模块",旧的规范也已经拆分为小的块,同时还增加了新的属性. 一些比较重要的CSS3 ...

  9. 史上最全!Selenium元素定位的30种方式

    Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下. 这里将统一使用百度 ...

随机推荐

  1. http头信息

    请求头:用于告诉服务器,客户机支持的数据类型accept-charset:用于告诉服务器,客户机采用的编码accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式Host:客户机通过这 ...

  2. code md5

    using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptograph ...

  3. struts2标签获取parameter,request,session,application中的值

    http://localhost:8080/demo/index.jsp?flag=kkkk <s:property value="#parameters.flag" /&g ...

  4. C++学习9 this指针详解

    this 是C++中的一个关键字,也是一个常量指针,指向当前对象(具体说是当前对象的首地址).通过 this,可以访问当前对象的成员变量和成员函数. 所谓当前对象,就是正在使用的对象,例如对于stu. ...

  5. [SQL]开启事物,当两条插入语句有出现错误的时候,没有错误的就插入到表中,错误的语句不影响到正确的插入语句

    begin transaction mustt insert into student values(,'kkk','j大洒扫','j','djhdjh') insert into student v ...

  6. Windows server 2008 下iis7 架设ftp服务器

    架设了一天的ftp服务器,终于搞定了. 按着windows server 2003的思路在windows server 2008把ftp设置好后,登录过程老是出现:530 User cannot lo ...

  7. Hdfs增量导入小文件合并的思路

    1.使用mr进行合并 2.使用getmerge 将文件拉取到本地,再上传到hdfs,注意nl参数 3.使用appendToFile 4.使用hadoop提供的打包压缩技术 Usage: hadoop ...

  8. What is Split Brain in Oracle Clusterware and Real Application Cluster (文档 ID 1425586.1)

    In this Document   Purpose   Scope   Details   1. Clusterware layer   2. Real Application Cluster (d ...

  9. MemoryStream 的GetBuffer() 和 ToArray()的区别

    GetBuffer(): Note that the buffer contains allocated bytes which might be unused. For example, if th ...

  10. HTTP 500 的解决方案

    我们首先要确定IIS权限的问题,如下所示: 身份验证的具体项: 身份验证的基本设置: 注意:如果不需要Form验证的情况下,那么把Form身份验证禁止掉,否则会出现在每一次请求的过程中都要有一个默认的 ...