1、元素选择器

这是最基本的CSS选择器,HTML文档中的元素本身就是一个选择器:
p {line-height:1.5em; margin-bottom:1em;} //设置p元素行高1.5em,距离外填充1em

2、关系选择器

E F:后代选择器,该选择器定位元素E的后代中所有元素F
  ul li {margin-bottom:0.5em;} // 定位ul内的所有li元素 E > F:子选择器,该选择器定位元素E的直接子元素中的所有元素F,它将忽略任何进一步的嵌套:
  ul > li {list-style:none;} //仅限ul的直接子元素li,如果li里面还嵌套着另一个 ul 结构时,最里面的 li 将被忽略 E + F:相邻兄弟选择器,该选择器定位与元素E具有相同父元素且在标记中紧邻E的元素F:
  li + li {border-top:1px solid #ddd;} //定位具有相同父元素ul里除第一个li之外的所有li E ~ F:一般兄弟选择器,该选择器定位与元素E具有相同父元素且在标记中位于E之后的所有元素F:
  h1 ~ p {color:#f00;} //定位具有相同父元素的,h1标签之后的所有p标签

3、属性选择器

E[attr]:该选择器定位具有属性attr的任何元素E:
  input[required] {border:1px solid #f00;} //定位页面里所有具有必填属性"required"的input E[attr=val]:该选择器定位具有属性attr且属性值为val的任何元素E:
  input[type=password] {border:1px solid #aaa;} //定位页面里的密码输入框 E[attr|=avl]:该选择器定位具有属性attr且属性值为val或以val-开始的任何元素E:
  p[class|=a] {color:#333;} //定位页面里所有的P段落里具有class属性且属性值为a或是a-开始的,比如class="a"以及class="a-b" E[attr~=val]:该选择器定位具有属性attr且属性值为完整单词 val 的任何元素E:
  div[title~=english] {color:#f88;} //定位页面里所有具有属性title且属性值里拥有完整单词english的div容器,比如title="english"以及title="a english" E[attr^=val]:该选择器定位具有属性attr且属性值以val开头的任何元素E:
  div[class^=a] {color:#666;} //定位页面里具有属性class且属性值以a开头的div容器,比如class="a"以及class="ab" E[attr$=val]:该选择器与E[attr^=val]正好相反,定位具有属性attr且属性值以val结尾的任何元素E:
  div[class$=a] {color:#f00;} //定位页面里具有属性class且属性值以a结尾的div窗口,比如class="nba"以及class="cba" E[attr*=val]:该选择器与E[attr~=val]相似,但更进一步,定位具有属性attr且属性值任意位置包含val的元素E,val可以是一个完整的单词,也可以是一个单词中的一部分:
a[title*=link] {text-decoration:underline;} //定位所有title里具有link字符串的a链接

4、伪类

:link:未访问的链接;
a:link {color:black font-size:12px;}//未访问时,字体为黑色,字体大小为12像素 :visited:已访问的链接,不建议使用;
a:visited {color:red font-size:22px;}//访问后,字体为红色,字体大小为22像素 :hover:鼠标移动到容器,不仅限于链接,可用于页面中的任何元素;
a:hover {color:blue font-size:16px;} //鼠标按住并悬停时,字体为蓝色,字体大小为16像素 :active:被激活时的状态,不仅限于链接,可用于任何具有tabindex属性的元素;
a:active {color:purple font-size:18px;}//鼠标一松开时,字体为紫色,字体大小为18像素 :focus:获得焦点时状态,不仅限于链接,可用于任何具有tabindex属性的无线:
input:focus {border:1px solid #333;} //输入框获得焦点时的样式 :enabled:已启用的界面元素:
input:enabled {border:1px solid #899;} //输入框输入功能启用时的样式 :disabled:已禁用的界面元素:
input:disabled {background:#eee;} //输入框输入功能被禁用时的样式 :target:该选择器定位当前活动页面内定位点的目标元素:
#info:target {font-size:24px;} //当访问的URL网址为 123.html#info 时,id="info"将加载这个字体样式 :default:应用于一个或多个作为一组类似元素中的默认元素的UI元素; :valid:应用于有效元素:
input:valid {border:1px solid #6a6;} //当输入框验证为有效时加载这个边框样式,基于type或pattern属性 :invalid:应用于空的必填元素,以及未能与type或pattern属性所定义的需求相匹配的元素:
input:invalid {border:1px solid #f00;} //当输入框为空且必填时,或已填写但验证无效时,加载此边框样式 :in-range:应用于具有范围限制的元素,其中该值位于限制内;比如具有min和max属性的number和range输入框;
:out-of-range:与:in-range选择相反,其中该值在限制范围外; :required:应用于具有必填属性required的表单控件; :optional:应用于没有必填属性required的所有表单控件 :read-only:应用于其内容无法供用户修改的元素; :read-write:应用于其内容可供用户修改的元素,比如输入框; :root:根元素,始终指html元素; E F:nth-child(n):该选择器定位元素E的第n个子元素的元素F:
  div.class p:nth-child(3) {color:#f00;} //class="class"的div容器里的第3个元素p,如果第3个子元素不是p,此样式将失效
  div p:nth-child(even) //选中偶数位置的子元素
  div p:nth-child(odd) //选中奇数位置的子元素
E F:nth-last-child(n):该选择器定位元素E的倒数第n个子元素的元素F; 

E:nth-of-type(n):该选择器定位元素E的第n个指定类型子元素; 

E:nth-lash-of-type(n):该选择器定位元素E的导数第n个指定类型子元素;

.class p:nth-child(2) 与 .class p:nth-of-type(2) 的区别在于,如果.class里的第2个子元素不是P元素时,.class p:nth-child(2) 的样式将无效,而.class p:nth-of-type(2) 将定位在 .class 里的第2个p元素 。nth-child(n)、nth-last-child(n)、nth-of-type(n)、nth-last-of-type(n),这其中的 n 可以使用数字静态式,比如 .nth-child(2n+1) 将匹配第1、3、5...个元素 

E:first-child:父元素的第一个子元素E,与:nth-child(1)相同; 

E:last-child:父元素的倒数第一个子元素E; 

E:first-of-type:与:nth-of-type(1)相同; 

E:last-of-type:与:nth-last-of-type(1)相同; 

E:only-child:父元素中唯一的子元素E; 

E:only-of-type:父元素中唯一具有该类型的元素E; 

E:empty:没有子元素的元素,没有子元素包括文本节点; 

E:lang(en):具有使用双字母缩写(en)表示的语言的元素; 

E:not(exception):该选择器将选择与括号内的选择器不匹配的元素: p:not(.info) {font-size:12px;} //匹配所有class值不为info的p元素

5、伪元素

    伪元素可用于定位文档中包含的文本,为与伪类进行区分,伪元素使用双冒号 :: 定义,但单冒号 : 也能被识别。

::first-line:匹配文本首行;

::first-letter:匹配文本首字母;

::before 与 ::after :使用 contnet 属性生成额外的内容并插入在标记中:
a[href^=http]::after {content:"link"} //在页面的a链接的后面插入文字link ::selection:匹配突出显示的文本:
::selection {background:#444; color:#fff;} //定义选中的文本颜色与背景色

css选择器大全的更多相关文章

  1. CSS选择器大全48式

    00.CSS选择器 CSS的选择器分类如下图,其中最最常用的就是基础选择器中的三种:元素选择器.类选择器.id选择器.伪类选择器就是元素的不同行为.状态,或逻辑.然后不同的选择器组合,基于不同的组合关 ...

  2. CSS 选择器大全

    在CSS中,选择器是用于选择要设置样式的元素的模式. 选择器 例子 描述 .class .intro 选择class=“intro”的所有元素 #id #firstname 选择id=“firstna ...

  3. CSS:选择器大全

    一.概念: CSS主要的作用就是给网页中的dom元素设置样式,选择器则是用来匹配dom元素的. CSS中的选择器有很多种,常用的分别是标签选择器(根据元素标签名称),类选择器(根据元素class属性) ...

  4. CSS选择器操作大全

    一,CSS选择器分类 二,选择器语法 1,基本选择器语法 选择器 类型 功能描述 *  通配选择器  选择文档中所以HTML元素 E  元素选择器 选择指定类型的HTML元素 #id  ID选择器 选 ...

  5. jQuery选择器大全(48个代码片段+21幅图演示)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器 的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编 ...

  6. 转:jQuery选择器大全(48个代码片段+21幅图演示)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写 ...

  7. JQuery选择器大全 前端面试送命题:面试题篇 对IOC和DI的通俗理解 c#中关于协变性和逆变性(又叫抗变)帮助理解

    JQuery选择器大全   jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素 ...

  8. js 进阶 10 js选择器大全

    js 进阶 10 js选择器大全 一.总结 一句话总结:和css选择器很像 二.JQuery选择器 原生javaScript中,只能使用getELementById().getElementByNam ...

  9. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

随机推荐

  1. Python 程序报错崩溃后,如何倒回到崩溃的位置?

    假设我们有一段程序,从 Redis 中读取数据,解析以后提取出里面的 name 字段: import json import redis client = redis.Redis() def read ...

  2. Redis设置并查看最大连接数

    在 Redis2.4 中,最大连接数是被直接硬编码在代码里面的,而在2.6版本中这个值变成可配置的. maxclients 的默认值是 10000,你也可以在 redis.conf 中对这个值进行修改 ...

  3. springMvc接口开发--对访问的restful api接口进行拦截实现功能扩展

    1.视频参加Spring Security开发安全的REST服务\PART1\PART1 3-7 使用切片拦截REST服务三通it学院-www.santongit.com-.mp4 讲的比较的经典,后 ...

  4. 07.Easymock的实际应用

    第一步下载对应的java包添加到工程中 并静态导入所需要的j类 import static org.easymock.EasyMock.*; 这里有的注意点 package com.fjnu.serv ...

  5. redis高级命令3哨兵模式

    redis的哨兵模式 现在我们在从服务器1.222上让该从服务器作为哨兵 首先将redis安装包文件下的sentinel.conf文件复制到/usr/local/redis/etc目录下 然后修改se ...

  6. 入门大数据---Kafka简介

    一.简介 ApacheKafka 是一个分布式的流处理平台.它具有以下特点: 支持消息的发布和订阅,类似于 RabbtMQ.ActiveMQ 等消息队列: 支持数据实时处理: 能保证消息的可靠性投递: ...

  7. cron表达式详解,cron表达式写法,cron表达式例子

    (cron = "* * * * * *") cron表达式格式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}例  "0 0 12 ? ...

  8. 6.30集训模拟赛4(炸裂的一天qwq)

    T1浇水: 题目描述 在一条长n米,宽m米米的长方形草地上放置着k个喷水装置.假设长方形草地的坐标范围为[ 0 , 0 ] ~ [ n , m ],那么第 i 个喷水装置的位置为(ai,m/2),也就 ...

  9. web开发相关概念

    什么是web通信? WEB采用B/S通信模式,通过超文本传送协议(HTTP, Hypertext transport protocol)进行通信.通过浏览器地址栏编写URL,向服务器发送一个请求,服务 ...

  10. c# 操作Redis的五种基本类型总结

    在我们的项目中,通常会把数据存储到关系型数据库中,比如Oracle,SQL Server,Mysql等,但是关系型数据库对于并发的支持并不是很强大,这样就会造成系统的性能不佳,而且存储的数据多为结构化 ...