一、关系选择器

1、E+F   (E元素下一个满足条件的兄弟元素节点)

 <style>
div + p{
background-color:red;// 第一个p元素变色
}
</style>
<body>
<div>div</div>
<p>1</p>
<p>2</p>
<p>3</p>
</body>
 <style>
div + .demo{
background-color:red;// 第一个p元素变色
}
</style>
<body>
<div>div</div>
<p class="demo">1</p>
<p>2</p>
<p>3</p>

2、E~F  (E下所有满足条件的兄弟元素节点)

二、属性选择器

1、E[att~=“val”]

2、E[att | =“val”] (以val为开头 或 以val- 为开头的元素)

<style>
div[class|='a']{
background-color:red; //1、2变色
}
</style>
<body>
<div class="a">1</div>
<div class="a-test">2</div>
<div class="b-test">3</div>

3、E[att^=“val”]

4、E[att$=“val”]

5、E[att*=“val”]

三、伪元素选择器

1、E::placeholder (注意兼容性)

<style>
input{
border:1px solid black;
}
input::placeholder{
color:orangered; //改变一下“请输入用户名”字体颜色
}
</style>
<body>
<input type="text" placeholder="请输入用户名">
</body>

2、E::selection

四、伪类选择器  (被选择元素的一种状态)

1、E:not (s)    :root (跟标签选择器,包含html)   E:target

<style>
div:not(.test){
background-color:red;
}
</style>
<body>
<div class="demo">1</div>
<div class="demo">2</div>
<div class="test">3</div>
</body>
     //或写成
div:not([class="demo"]){
background-color:red;
}

not应用实例:

<style>
*{
margin:0;
padding:0;
}
ul{
width:300px;
border:1px solid #999;
}
li{
height:50px;
margin:0 5px;
}
li:not(:last-of-type){
border-bottom:1px solid black;
}
</style>
<body>
<ul>
<li>content</li>
<li>content</li>
<li>content</li>
<li>content</li>
<li>content</li>
<li>content</li>
<li>content</li>
</ul>
</body>
//效果如下


<style>
div:target{
border:1px solid black;
}
/* location.hash = xxx (被标记成锚点之后) */
</style>
<body>
<a href="#box1">div1</a>
<a href="#box2">div2</a>
<div id="box1">1</div>
<div id="box2">2</div>
</body> 小练习:

2、E:first-child    E:last-child    E:only-child   E:nth-child (n)    E:nth-last-child (n)   (这些元素都考虑其他子元素的影响)

<style>
P:first-child{
background-color:red;
}
</style>
<body>
<div>
<p>1</p>
<p>2</p>
<p>3</p>
</div>
</body>
<style>
P:first-child{
background-color:red;//第一个p元素不会变红,因为第一个子元素是span
}
</style>
<body>
<div>
<span>5</span>
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<style>
p:nth-child(2n+1){
background-color:red;//1、3、5变色 (css从1开始查)
}
</style>
<body>
<div>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
</div>

3、E:first-of-type      E:last-of-type        E:only-of-type  (不受其他类型元素干扰)

4、E:nth-of-type(n)     E:nth-of-last-type(n)     (不受其他类型元素干扰)  (常见)

5、E:empty(元素为空,无节点,注释也算做空)    E:checked     E:enabled       E:disabled

<style>
input:checked + span{
background:greenyellow;
}
input:checked + span::after{
content:"恭喜中奖";
}
</style>
<body>
<label>
一个小惊喜
<input type="checkbox">
<span></span>
</label>
</body>

6、E:read-only      E:read-write

css3选择器补充的更多相关文章

  1. css3选择器(一)

    直接开始正文. 一.css3同级元素通用选择器[update20161228] 选择器:E~F 匹配任何在E元素之后的同级F元素 Note:E~F选择器选中的是E元素后面同级元素中的全部F元素. 例: ...

  2. 总结30个CSS3选择器

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 ;; ...

  3. 总结30个CSS3选择器(转载)

    或许大家平时总是在用的选择器都是:#id  .class  以及标签选择器.可是这些还远远不够,为了在开发中更加得心应手,本文总结了30个CSS3选择器,希望对大家有所帮助. 1 *:通用选择器 * ...

  4. CSS3 选择器——属性选择器

    上一节在<CSS3选择器——基本选择器>中主要介绍了CSS3选择器的第一部分,这节主要和大家一起来学习CSS3选择器的第二部分——属性选择器.属性选择器早在CSS2中就被引入了,其主要作用 ...

  5. css3 选择器(三)

    接css3选择器(一) 接css3 选择器(二) 这篇和前两篇内容相关性不大,主要是涉及到一些css3的状态选择器,所以标题从一开始. 一.[:enabled]选择器 一看这个属性就知道是专为表单元素 ...

  6. CSS3选择器介绍

    1.css3属性选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. CSS3 选择器——基本选择器

    CSS的选择器,我想大家并不会陌生吧,因为天天在使用,但对于CSS3的选择器,要运用的灵活到位,我想对很多朋友还是一定的难度,特别是CSS3中的:nth选择器.那么从现在开始我们先丢开他们版本的区别, ...

  8. CSS3选择器的研究,案例

    在上一篇CSS3选择器的研究中列出了几乎所有的CSS3选择器,和伪类选择器,当是并没有做案例的研究,本想在那篇文章里面写,但想想如果把案例都写在那篇文章里面,对于查找来说就不是很方便,所有另开一篇来讲 ...

  9. css3 选择器(二)

    接css3选择器(一) 八.结构性伪类选择器[:nth-child(n)] :nth-child(n)选择器用来匹配某个父元素的一个或多个特定的子元素,和jquery中一样. 其中"n&qu ...

随机推荐

  1. 你创建的OpenStack高性能虚拟机能实现“零损耗”么?

    使用默认参数创建的虚拟机,虚拟机的VCPU在物理CPU不同核心之间动态调度,另外,由于Linux还可能会将软中断,内存交换等进程调度到虚拟机正在使用的物理核心上,这些因素导致这些虚拟机相对于物理机的计 ...

  2. Docker 核心技术与实现原理

    提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了.作为在生产环境中广泛应用的产品,Docker 有 ...

  3. @Autowired与@Resource 详细诠释和区别(附带例子)

    @Autowired 与@Resource:1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配( ...

  4. nodejs运行的两种方式<小记>

    在mac上: 1.方式一:使用IDE运行 配置需要运行的js文件: 配置并运行 ①配置运行的js文件和运行的文件不一致时会导致报错.如图备注 ②当运行另一个文件提示端口8080被占用 ,需要改为其他端 ...

  5. MySQL 可以用localhost 连接,但不能用IP连接的问题

    连接问题 由于数据库配置的问题,当我们用ip连接数据库时,会出现连接不上的情况,而用localhost连接则没有任何的问题.解决方法: mysql安装完后,默认是root用户,root用户只能在服务器 ...

  6. 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS

    使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS  2014-10-10 (updated: 2016-05-22) 64246 153 本教程介绍 ...

  7. python中的ljust、rjust

    ljust()将字符串左对齐右侧填充 rjust()将字符串右对齐左侧填充 举个例子: 1 a = "hello world" 2 a1 = a.ljust(15, "* ...

  8. 白鹭引擎 - 碰撞检测 ( hitTestPoint )

    1, 矩形碰撞检测 class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须 ...

  9. Ajax 要点

    Ajax 全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML) Ajax的实现是基于 xmlHttp对象 异步发送请求 XMLHttpReque ...

  10. 选择、操作web元素

    11月1日 什么是web元素 Selenium自动化主要就是:选择界面元素,操作界面元素(输入操作:点击.输入文字.拖拽等,输出操作:获取元素的各种属性),根据界面上获取的数据进行分析和处理 选择元素 ...