CSS3选择器详解

一、 属性选择器

  在CSS3中,追加了三个属性选择器分别为:[att*=val]、[att^=val]和[att$=val],使得属性选择器有了通配符的概念。

选择器

示例

描述

[attribute^=value]

[src^="https"]

选择每一个src属性的值以"https"开头的元素

[attribute$=value]

[src$=".pdf"]

选择每一个src属性的值以".pdf"结尾的元素

[attribute*=value]

[src*="runoob"]

选择每一个src属性的值包含子字符串"runoob"的元素

示例:

代码

说明

div[class^="test"]{background:#ffff00;}

设置class属性值以"test"开头的所有div元素的背景颜色

[class^="test"]{background:#ffff00;}

设置class属性值以"test"开头的所有元素的背景颜色

div[class$="test"]{background:#ffff00;}

设置class属性值以"test"结尾的所有div元素的背景颜色

[class$="test"]{background:#ffff00;}

设置class属性值以"test"结尾的所有元素的背景颜色

div[class*="test"]{background:#ffff00;}

设置class属性值包含"test"的所有div元素的背景颜色

[class*="test"]{background:#ffff00;}

设置class属性值包含"test"的所有元素的背景颜色

二、结构性伪类选择器(一)

选择器

示例

描述

结构性伪元素选择器

:first-letter

p:first-letter

选择每一个<P>元素的第一个字母

:first-line

p:first-line

选择每一个<P>元素的第一行

:before

p:before

在每个<p>元素之前插入内容

:after

p:after

在每个<p>元素之后插入内容

结构性伪类选择器:共同特征是允许开发者根绝文档中的结构来指定元素的样式

:root

:root

选择文档的根元素

:not(selector)

:not(p)

选择每个并非p元素的元素

:empty

p:empty

选择每个没有任何子级的p元素(包括文本节点)

:target

#news:target

选择当前活动的#news元素(包含该锚名称的点击的URL)

     ①每个<p>元素之后插入内容: p:after{ content:"- Remember this"; }

     ②设置HTML文档的背景色: :root{ background:#ff0000; }

      :root选择器用匹配文档的根元素,在HTML中根元素始终是HTML元素。

     ③为每个并非<p>元素的元素设置背景颜色: :not(p) { background:#ff0000; }

     ④指定空的p元素的背景色: p:empty { background:#ff0000; }

      :empty选择器选择每个没有任何子级的元素(包括文本节点)。

     ⑤:target选择器可用于当前活动的target元素的样式,只能用id标识

 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>菜鸟教程(runoob.com)</title>
6 <style>
7 :target{
8 border: 2px solid #D4D4D4;
9 background-color: #e5eecc;
10 }
11 </style>
12 </head>
13 <body>
14 <h1>This is a heading</h1>
15 <p><a href="#news1">Jump to New content 1</a></p>
16 <p><a href="#news2">Jump to New content 2</a></p>
17 <p>Click on the links above and the :target selector highlight the current active HTML anchor.</p>
18 <p id="news1"><b>New content 1...</b></p>
19 <p id="news2"><b>New content 2...</b></p>
20 </body>
21 </html>

三、结构性伪类选择器(二)

选择器

示例

描述

:first-child

p:first-child

指定只有当<p>元素是其父级的第一个子级的样式。

:last-child

p:last-child

选择每个p元素是其父级的最后一个子级。

:nth-child(n)

p:nth-child(2)

选择每个p元素是其父级的第二个子元素

:nth-last-child(n)

p:nth-last-child(2)

选择每个p元素的是其父级的第二个子元素,从最后一个子项计数

:nth-of-type(n)

p:nth-of-type(2)

选择每个p元素是其父级的第二个p元素

:nth-last-of-type(n)

p:nth-last-of-type(2)

选择每个p元素的是其父级的第二个p元素,从最后一个子项计数

    ①指定父元素中最后一个p元素的背景色: p:last-child{ background:#ff0000; }

    ②指定每个p元素匹配同类型中的倒数第2个同级兄弟元素背景色: p:nth-last-child(2){ background:#ff0000; }

    ③:nth-child(n)选择器匹配父元素中的第n个子元素,n可以是一个数字,一个关键字(奇偶数等关键字),或者一个公式。该索引的第一个子节点是1。

    ④:nth-of-type(n)选择器匹配同类型中的第n个同级兄弟元素,n可以是一个数字,一个关键字,或者一个公式。该索引的第一个子节点是1。

     p:nth-of-type(odd){background:#ff0000;}

   p:nth-of-type(even){background:#0000ff;}

  ⑤使用公式(an+ b).描述:a代表一个循环的大小,N是一个计数器(从0开始),以及b是偏移量。 在这里,我们对所有索引是3的倍数的p元素指定了背景颜色: p:nth-child(3n+0){ background:#ff0000; }

  ⑥:only-child择器匹配属于父元素中唯一子元素的元素。 p:only-child{background:#ff0000; }

四、UI元素状态伪选择器

  在CSS3的选择器中,除了结构性伪类选择器外,还有一种UI元素状态伪类选择器。这类选择器的共同特征是:指定的样式只有当元素处于某种状态下时才起作用,在默认状态下不起作用。在CSS3中,共有17种UI元素状态伪类选择器。

选择器

示例

描述

:link

a:link

选择所有未访问链接

:active

a:active

选择活动链接

:hover

a:hover

选择鼠标在链接上面时

:focus

input:focus

选择具有焦点的输入元素(选中)

:checked

input:checked

选择每个选中的输入元素

:hover在鼠标移到链接上时添加的特殊样式。

提示: :hover 选择器器可用于所有元素,不仅是链接。

提示: :link 选择器设置了未访问过的页面链接样式, :visited 选择器设置访问过的页面链接的样式 :active选择器设置当你点击链接时的样式。

注意: 为了产生预期的效果,在 CSS 定义中,:hover 必须位于 :link 和 :visited 之后!

  ②:focus选择器用于选择具有焦点的元素。

    提示: :focus选择器接受键盘事件或其他用户输入的元素。

             一个输入字段获得焦点时选择的样式:input:focus{background-color:yellow;}

 1 <html>
2 <head>
3 <meta charset="utf-8">
4 <title></title>
5 <style>
6 input:focus{
7 background-color:yellow;
8 }
9 </style>
10 </head>
11 <body>
12 <p>点击文本输入框表单可以看到黄色背景:</p>
13 <form>
14 First name: <input type="text" name="firstname" /><br>
15 Last name: <input type="text" name="lastname" />
16 </form>
17 <p><b>注意:</b> :focus 作用于 IE8,DOCTYPE 必须已声明</p>
18 </body>
19 </html>

    ③:checked 选择器匹配每个选中的输入元素(仅适用于单选按钮或复选框)。

    为所有选中的输入元素设置背景颜色:input:checked { height: 50px; width: 50px; }

 1 <html>
2 <head>
3 <meta charset="utf-8">
4 <title></title>
5 <style>
6 input:checked {
7 height: 50px;
8 width: 50px;
9 }
10 </style>
11 </head>
12 <body>
13 <form action="">
14 <input type="radio" checked="checked" value="male" name="gender" /> Male<br>
15 <input type="radio" value="female" name="gender" /> Female<br>
16 <input type="checkbox" checked="checked" value="Bike" /> I have a bike<br>
17 <input type="checkbox" value="Car" /> I have a car
18 </form>
19 </body>
20 </html>

选择器

示例

描述

:enabled

input:enabled

选择每一个已启用的输入元素

:disabled

input:disabled

选择每一个禁用的输入元素

 1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>菜鸟教程(runoob.com)</title>
6 <style>
7 input:enabled{
8 background:#ffff00;
9 }
10 input:disabled{
11 background:#dddddd;
12 }
13 </style>
14 </head>
15 <body>
16 <form action="">
17 First name: <input type="text" value="Mickey" /><br>
18 Last name: <input type="text" value="Mouse" /><br>
19 Country: <input type="text" disabled="disabled" value="Disneyland" /><br>
20 Password: <input type="password" name="password" />
21 <input type="radio" value="male" name="gender" /> Male<br>
22 <input type="radio" value="female" name="gender" /> Female<br>
23 <input type="checkbox" value="Bike" /> I have a bike<br>
24 <input type="checkbox" value="Car" /> I have a car
25 </form>
26 </body>
27 </html>

五、通用兄弟元素选择器:

  它用来指定位于一个父元素之中的某个元素之后的所有其他某个种类的兄弟元素所使用样式。

  如:同一div下的子p 元素,以“~”连接, div ~ p{background-color:gold}

CSS3 基础(1)——选择器详解的更多相关文章

  1. [CSS3] 学习笔记-选择器详解(三)

    1.UI元素状态伪类选择器 在CSS3的选择器中,除了结构性伪类选择器外,还有一种UI元素伪类选择器.这些选择器的共同特征是:指定的样式只有当元素处于某种状态时才起作用,在默认状态下不起作用.在CSS ...

  2. [CSS3] 学习笔记-选择器详解(二)

    1.选择器first-child.last-child.nth-child和nth-last-child 利用first-child.last-child.nth-child和nth-last-chi ...

  3. css 10-CSS3选择器详解

    10-CSS3选择器详解 #CSS3介绍 CSS3在CSS2基础上,增强或新增了许多特性, 弥补了CSS2的众多不足之处,使得Web开发变得更为高效和便捷. #CSS3的现状 浏览器支持程度不够好,有 ...

  4. CSS选择器详解(伪类) 转 http://blog.csdn.net/Panda_m/article/details/50084699

    CSS选择器详解 之 伪类 伪类对大小写不敏感 结构伪类选择器 结构伪类是CSS3新增的类型选择器,利用DOM树实现元素过滤,通过文档结构的相互关系来匹配元素,可以减少class和id属性的定义,使文 ...

  5. web前端学习(三)css学习笔记部分(6)-- 选择器详解

    9.选择器详解 9.1  属性选择器 CSS3 属性选择器,在 CSS3 中,追加了三个属性选择器分别为:[att*=val].[att^=val]和[att$=val],使得属性选择器有了通配符的概 ...

  6. 基础拾遗------redis详解

    基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...

  7. 基础拾遗------webservice详解

    基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...

  8. CSS3的@keyframes用法详解:

    CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes ...

  9. Jquery 选择器 详解 js 判断字符串是否包含另外一个字符串

    Jquery 选择器 详解   在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jquery 各种在线工具地址:http://www.ostools ...

随机推荐

  1. 青出于蓝而胜于蓝 — Vue.js对Angular.js的那些进步

    Angular.js与Vue.js是非常有渊源的两款前端框架,据Vue.js的官方网站描述,在其早期开发时,灵感来源就是Angular.js.而在很多方面,Vue.js也正像是中国的那句古话,&quo ...

  2. Java集合框架梳理(含经典面试题)

    Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构. 1. 整体框架 Java容器类库一共有两种主要类型:Collection ...

  3. Unity 游戏框架搭建 (二) 单例的模板

      上一篇文章中说到的manager of managers,其中每个manager都是单例的实现,当然也可以使用静态类实现,但是相比于静态类的实现,单例的实现更为通用,可以适用大多数情况. 如何设计 ...

  4. 不借助第三方网站四步实现手机网站转安卓APP

    今天本来是帮朋友查看是否在APP里可以点外链的一个测试,做着做来感觉了,就把这个测试优化了一下.好了我们来进入正题. 工具:Android Studio 第一步:新建项目 第二步:拖入控件(WebVi ...

  5. c++ 类的定义和使用

    在 c++ 中 类的定义为 class 类名 { };切记,类的定义完成后要加上分号,这是很多初学者容易犯的错误. 类的成员及函数 分为 public private protect 三类,大家学过 ...

  6. JavaScript中的设计模式:策略模式

    无论学习前端还是后端设计模式是作为一名程序员不可缺少的知识,就像下底传中对于一个边锋来说. 一.策略模式 策略模式给人的第一感觉就是在代码里面消除了很多if-else分支语句,比如一个求员工奖金的程序 ...

  7. Mongoose基础入门

    前面的话 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具.本文将详细介绍如何使用Mongoose来操作MongoDB NodeJS驱动 在介绍Mongoose之 ...

  8. [bzoj 2243]: [SDOI2011]染色 [树链剖分][线段树]

    Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“ ...

  9. jenkins外网slave配置

    背景: 客户提供了测试服务器,但不能外网直连需要通过windows跳板进行进行连接. 方案设定将windows跳板机配置为远程slave节点. 技术支持: jenkins-slave  windows ...

  10. Windows远程linux服务器执行shell命令

    一.前言 借用百度百科关于putty的描述:PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台 ...