1.结构性伪类选择器---:root:从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素。在HTML文档中,根元素始终是<html>。

2.“:root”选择器等同于<html>元素,简单点说::root{background:orange}与 html {background:orange;} 得到的效果等同。 建议使用:root方法。

  另外在IE9以下还可以借助“:root”实现hack功能

特别注意细节问题:当body{background:;}使用背景颜色,:root{}也使用背景颜色时,body里改变的只能是body里面内容颜色,剩下的都是root里定义的颜色。如果:root里没有指定背景颜色,则整体背景颜色为body定义的颜色。

3.:empty选择器表示的就是空。用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格。p:empty {display: none;}​

4.:not选择器称为否定选择器,和jQuery中的:not选择器一模一样,可以选择除某个元素之外的所有元素。

5.:target选择器称为目标选择器,用来匹配文档(页面)的url的某个标志符的目标元素。

  1、具体来说,触发元素的URL中的标志符通常会包含一个#号,后面带有一个标志符名称。

  2、:target就是用来匹配id为“brand”的元素(id="brand"的元素)。

  3、多个url(多个target)处理:就像上面的例子,#brand与后面的id="brand"是对应的,当同一个页面上有很多的url的时候你可以取不同的名字,只要#号后对的名称与id=""中的名称对应就可以了。

  4、

  #brand:target { background: orange; color: #fff; }

  #jake:target { background: blue; color: #fff; }

  #aron:target { background: red; color: #fff; }

  上面的代码可以对不同的target对象分别设置不的样式。

6.“:first-child”选择器表示的是选择父元素的第一个子元素的元素E。简单点理解就是选择元素中的第一个子元素,记住是子元素,而不是后代元素。

7.“:last-child”选择器与“:first-child”选择器作用类似,不同的是“:last-child”选择器选择的是元素的最后一个子元素。例如,需要改变的是列表中的最后一个“li”的背景色,就可以使用这个选择器,

8.“:nth-child(n)”选择器用来定位某个父元素的一个或多个特定的子元素。其中“n”是其参数,而且可以是整数值(1,2,3,4),也可以是表达式(2n+1、-n+5)和关键词(odd、even),但参数n的起始值始终是1,而不是0。也就是说,参数n的值为0时,选择器将选择不到任何匹配的元素。

  经验与技巧:当“:nth-child(n)”选择器中的n为一个表达式时,其中n是从0开始计算,当表达式的值为0或小于0的时候,不选择任何匹配的元素。

9.“:nth-last-child(n)”选择器和前面的“:nth-child(n)”选择器非常的相似,只是这里多了一个“last”,所起的作用和“:nth-child(n)”选择器有所区别,从某父元素的最后一个子元素开始计算,来选择特定的元素。

10.“:first-of-type”选择器类似于“:first-child”选择器,不同之处就是指定了元素的类型,其主要用来定位一个父元素下的某个类型的第一个子元素。

11.“:nth-of-type(n)”选择器和“:nth-child(n)”选择器非常类似,不同的是它只计算父元素中指定的某种类型的子元素。当某个元素中的子元素不单单是同一种类型的子元素时,使用“:nth-of-type(n)”选择器来定位于父元素中某种类型的子元素是非常方便和有用的。在“:nth-of-type(n)”选择器中的“n”和“:nth-child(n)”选择器中的“n”参数也一样,可以是具体的整数,也可以是表达式,还可以是关键词。

12.“:last-of-type”选择器和“:first-of-type”选择器功能是一样的,不同的是他选择是父元素下的某个类型的最后一个子元素

13.“:nth-last-of-type(n)”选择器和“:nth-of-type(n)”选择器是一样的,选择父元素中指定的某种子元素类型,但它的起始方向是从最后一个子元素开始,而且它的使用方法类似于上节中介绍的“:nth-last-child(n)”选择器一样。

14.“:only-child”选择器选择的是父元素中只有一个子元素,而且只有唯一的一个子元素。也就是说,匹配的元素的父元素中仅有一个子元素,而且是一个唯一的子元素。

15.::before和::after这两个主要用来给元素的前面或后面插入内容,这两个常和"content"配合使用,使用场景最多的就是清除浮动。不过这个属性对于img和input元素不起作用。

content配合CSS的伪类或者伪元素,一般可以做以下四件事情:

功能

功能说明

none

不生成任何内容

attr

插入标签属性值

url

使用指定的绝对或相对地址插入一个外部资源(图像,声频,视频或浏览器支持的其他任何资源)

string

插入字符串

在CSS中有一种清除浮动的方法叫“clearfix”。而这个“clearfix”方法就中就使用了“content”,只不过只是在这里插入了一个空格。如下所示:

.clearfix:before,.clearfix:after {content:””;display:table;}.clearfix:after {clear:both;overflow:hidden;}

插入元素属性值的方法:

假设我们有一个元素:

<a href="##" title="我是一个title属性值,我插在你的后面">我是元素</a>

可以通过”:after”和”content:attr(title)”将元素的”title”值插入到元素内容“我是元素”之后:

a:after {content:attr(title);color:#f00;}“:first-line” 选择器匹配文本块的首行。“:first-letter” 选择器选择文本块的首字母在CSS3中除了结构性伪类选择器外,还有一种UI元素状态伪类选择器,这些选择器在共同特点是:指定的样式只有当前元素处于某种状态下时才起作用,在默认状态下不起作用。在CSS3中,共有17种UI元素状态伪类选择器,分别是:E:hover E:active E:focus E:enabled E:disabled E:read-write E:read-only E:checked E:defaultE:indeterminate E:selection E:invalid E:valid E:required E:optional E:in-range

16.在Web的表单中,有些表单元素有可用(“:enabled”)和不可用(“:disabled”)状态,比如输入框,密码框,复选框等。在默认情况之下,这些表单元素都处在可用状态。

17.在表单元素中,单选按钮和复选按钮都具有选中和未选中状态。(大家都知道,要覆写这两个按钮默认样式比较困难)。在CSS3中,我们可以通过状态选择器“:checked”配合其他标签实现自定义样式。而“:checked”表示的是选中状态。

18.“::selection”伪元素是用来匹配突出显示的文本。浏览器默认情况下,选择网站文本是深蓝的背景,白色的字体, 有的设计要求不使用上图那种浏览器默认的突出文本效果,需要一个与众不同的效果,此时“::selection”伪元素就非常的实用。不过在Firefox浏览器还需要添加前缀。

19.“:read-only”伪类选择器用来指定处于只读状态元素的样式。简单点理解就是,元素中设置了“readonly=’readonly’”

20.“:read-write”选择器刚好与“:read-only”选择器相反,主要用来指定当元素处于非只读状态时的样式。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>伪类选择器</title><link href="index08.css" rel="stylesheet" type="text/css">
</head>
<body><p>这是第一行内容<br/>这是第二行内容,哈哈哈哈哈哈</p><hr/><ul><li>列表1</li><li>列表2</li><li>列表3</li><li>列表4</li><li>列表5</li><li>列表6</li></ul><hr/>
<h2>hello world!你好中国!
</h2><hr/><table border="1px"><tr><th>表格1</th><th>表格2</th><th>表格3</th></tr><tr><td>内容1</td><td>内容2</td><td></td></tr><tr><td></td><td>内容2</td><td>内容3</td></tr><tr><td>内容1</td><td></td><td></td></tr></table><hr/><a href="#a1">菜单1</a><a href="#a2">菜单2</a><a href="#a3">菜单3</a><a href="#a4">菜单4</a><div id="a1"><h3>菜单内容1</h3></div><div id="a2"><h3>菜单内容2</h3></div><div id="a3"><h3>菜单内容3</h3></div><div id="a4"><h3>菜单内容4</h3></div>
<hr/><div class="type1"><h3>标题1</h3><a>链接1</a><br/><a>链接2</a><h3>标题2</h3><h3>标题3</h3><a>链接3</a><h3>标题4</h3><a>链接4</a><h3>标题5</h3><a>链接5</a><h3>标题6</h3><a>链接6</a></div><hr/><input class="Text" type="text"name="name"><input class="Text" type="text"name="age"><input type="checkbox">金毛<input type="checkbox">萨摩耶<input type="checkbox">大狗狗<hr/><script>function radio_change() {var radio1=document.getElementById("radio1");var radio2=document.getElementById("radio2");var text=document.getElementById("text1");if(radio1.checked){text.disabled="";}else{text.value="";text.disabled="disabled"}}</script><div class="div"><input type="radio" id="radio1" name="radio" onchange="radio_change()">可用<input type="radio" id="radio2" name="radio" onchange="radio_change()">不可用<input type="text" id="text1" disabled></div></body>
</html>

:root{background-color:lightpink;
}
body{margin: 30px;counter-reset: paracount;/*默认初始值为1,也可指定其他值*/background-color: darkseagreen;
}
p:first-line{color: cornflowerblue;
}
p:first-letter{font-size: 30px;color: #ff6471;
}
li:before{counter-increment: paracount;/*默认增值为1,也可指定其他值*/content:counter(paracount)".";/*content: "-----";*/
}
li:after{content: "*******";font-size: 10px;color: darkgray;
}
li:first-child{width: 150px;background-color: red;
}
li:last-child{width: 150px;background-color:darkviolet;/*紫色*/
}
li:nth-child(3){width: 150px;background-color:yellow;
}
li:nth-last-child(2){width: 150px;background-color:lightblue;
}
/*li:nth-last-child(odd){!*      倒着数为奇数行改变颜色   odd为奇数  even为偶数 *!*//*width: 150px;*//*background-color:lightblue;*/
/*}*/
body *:not(h2){font-style: italic;
}
:empty{/*内容为空白的时候运用这个样式      这里的例子是:表格内容为空的时候背景颜色变为黄色*/background-color: red;
}
table{border-collapse: collapse;
}
:target{background-color: #37b9ff;width: 200px;
}
.type1 h3:nth-of-type(odd){  /*只计算同类标签*/width: 200px;color: yellow;
}
.type1 a:nth-last-child(odd){/*计算是把h3和a标签一起进行计算的,也就是说所有子元素一起来计算   所以要想只计算同一类型的的样式需要使用 nth-of-type()*/width: 150px;color:lightblue ;
}
/*注意顺序不能颠倒*/
.Text:hover{background-color: cornflowerblue;
}
.Text:focus{background-color: brown;
}
.Text:active{background-color: yellow;
}
input[type="checkbox"]:checked{outline:2px  solid gold;background-color: blue;
}
.div input[type="text"]:enabled{background-color: yellow;
}
.div input[type="text"]:disabled{background-color: darkgray;
}

 

转载于:https://www.cnblogs.com/yuxingyoucan/p/5375376.html

CSS3---选择器相关推荐

  1. CSS3选择器 :read-only选择器 CSS3选择器 :read-write选择器

    CSS3选择器 :read-only选择器 ":read-only"伪类选择器用来指定处于只读状态元素的样式.简单点理解就是,元素中设置了"readonly='reado ...

  2. CSS3 选择器(转)

    http://www.w3school.com.cn/cssref/css_selectors.asp css的选择器,做个记录,在爬虫选择元素里很多要用到. CSS3 选择器 在 CSS 中,选择器 ...

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

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

  4. css3常用方法以及css3选择器

    最重要的 CSS3 模块包括: 选择器 框模型 背景和边框 文本效果 2D/3D 转换 动画 多列布局 用户界面 CSS3 边框 CSS3 边框 通过 CSS3,您能够创建圆角边框,向矩形添加阴影,使 ...

  5. CSS3选择器:nth-child和:nth-of-type之间的差异的那些事儿

    一.深呼吸,直接内容 :nth-child和:nth-of-type都是CSS3中的伪类选择器,其作用近似却又不完全一样,对于不熟悉的人对其可能不是很区分,本文就将介绍两者的不同,以便于大家正确灵活使 ...

  6. html选择器有哪些child,css3选择器child有哪些?css3选择器child用法详解

    本篇文章给大家带来的内容是关于css3选择器child有哪些?css3选择器child用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 对于CSS3的结构伪类选择器,为了更好地 ...

  7. css3-2 CSS3选择器和文本字体样式

    css3-2   CSS3选择器和文本字体样式 一.总结 一句话总结:是要记下来的,记下来可以省很多事. 1.css的基本选择器中的:first-letter和:first-line是什么意思? :f ...

  8. html选择器是什么,CSS3选择器是什么?

    首先我们来看一下displaynone的意思是什么? display:none的意思: 隐藏元素并脱离文档,流就是隐藏该区域,不占实际空间,但对后台来说真实存在,可以获取被隐藏的元素简单的来说就是将元 ...

  9. CSS3 选择器 基本选择器介绍

    CSS是一种用于屏幕上渲染html,xml等一种语言,CSS主要是在相应的元素中应用样式,来渲染相对应用的元素,那么这样我们选择相应的元素就很重要了,如何选择对应的元素,此时就需要我们所说的选择器.选 ...

  10. css3 选择器_10-CSS3选择器详解

    CSS3在CSS2基础上,增强或新增了许多特性, 弥补了CSS2的众多不足之处,使得Web开发变得更为高效和便捷. CSS3的现状 浏览器支持程度不够好,有些需要添加私有前缀 移动端支持优于PC端 不 ...

最新文章

  1. 云原生时代,Java还有优势么?
  2. web基础html元素制作web
  3. P2490-[SDOI2011]黑白棋【博弈论,dp】
  4. PHP设计模式——单例模式
  5. java实现选择排序+图解+代码解析
  6. 连载:面向对象的葵花宝典:思维、技能与实践(40) - DECORATOR模式
  7. 《C和C++程序员面试秘笈》——1.4 i++与++i哪个效率更高
  8. silklabo哪个公众号有资源_公众号和头条号,做哪个赚钱?
  9. 在CentOS7上使用LXC管理容器
  10. 网易云精选评论,总有一句戳在你心里
  11. 【云计算的1024种玩法】搭建 wiki 知识库
  12. 2D灯光 Unity2021
  13. 最简洁的Git的基本操作
  14. C++最佳实践 | 5. 可移植性及多线程
  15. java编译找不到文件_java报错找不到文件解决方法
  16. 咸鱼硬件—ZTMS开发板固件安装
  17. linux stopped 进程,linux 查杀 stopped 进程
  18. 智能车小白必看,该竞赛相关宝贵经验+资源借鉴总结1
  19. 回环接口(loopback)
  20. 【区块链论文阅读】计算机网络顶会INFOCOM(二)

热门文章

  1. X皮书之shell 常用代码
  2. Javascript 面向对象全新理练之数据的封装
  3. 不得不推荐的一本好书《观止》
  4. python多图拼接并利用resnet提取特征
  5. (转载)Nutch2 WebPage 字段解释
  6. eclipse集成tomcat运行web时提示引入jar包的类找不到的解决办法
  7. mysql常用语句整理
  8. CTFshow php特性 web95
  9. 第八周项目实践1 建立顺序串的算法库
  10. hdu 1228 A+B (字符串处理) 水