<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪类</title>
<style>
/*
伪元素选择器:

伪元素的效果是需要通过添加一个实际的元素才能达到的。
CSS中有如下四种伪元素选择器:
· :first-line:为某个元素的第一行文字使用样式;
· :first-letter:为某个元素中的文字的首字母或第一个字使用样式;
· :before:在某个元素之前插入一些内容;
· :after: 在某个元素之后插入一些内容;
*/
p:first-line{ background-color:yellow;}
p:first-letter{color:blue;}
p:before{content:"这是:";}
p:after{content:"!结束了";}
/*
伪类选择器:

和一般的DOM中的元素样式不一样,它并不改变任何DOM内容。
只是插入了一些修饰类的元素,这些元素对于用户来说是可见的,但是对于DOM来说不可见。
伪类的效果可以通过添加一个实际的类来达到。

常用的伪类选择器是使用在a元素上的几种,`如a:link|a:visited|a:hover|a:active`
提示:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
提示:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

结构性伪类选择器
:root()选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素。在HTML文档中,根元素始终是<html>。“:root”选择器等同于<html>元素
:not()选择器称为否定选择器,和jQuery中的:not选择器一模一样,可以选择除某个元素之外的所有元素。
:empty()选择器表示的就是空。用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格。
:target()选择器来对页面某个target元素(该元素的id被当做页面中的超链接来使用)指定样式,该样式只在用户点击了页面中的超链接,并且跳转到target元素后起作用
:first-child()选择器表示的是选择父元素的第一个子元素的元素E。简单点理解就是选择元素中的第一个子元素,记住是子元素,而不是后代元素。
:nth-child()选择某个元素的一个或多个特定的子元素;
:nth-child(length);/*参数是具体数字
:nth-child(n);/*参数是n,n从0开始计算
:nth-child(n*length)/*n的倍数选择,n从0开始算
:nth-child(n+length);/*选择大于length后面的元素
:nth-child(-n+length)/*选择小于length前面的元素
:nth-child(n*length+1);/*表示隔几选一
//上面length为整数
:nth-last-child()从某父元素的最后一个子元素开始计算,来选择特定的元素。
:nth-of-type(n)”选择器来定位于父元素中某种类型的子元素
*/
:not(p){color:red;}
:empty{width:100px;height:20px;background:red;display: inline-block;}
:target{background:blue;}
div p:first-child{background:gray;}
div p:nth-child(2n){background:yellow;}

</style>
</head>
<body>
<p>
伪元素选择器:伪元素的效果是需要通过添加一个实际的元素才能达到的。CSS中有如下四种伪元素选择器:
:first- line:为某个元素的第一行文字使用样式;
· :first-letter:为某个元素中的文字的首字母或第一个字使用样式;
· :before:在某个元素之前插入一些内容;
· :after: 在某个元素之后插入一些内容;
</p>
<a href="#A">AAAAAAAA</a>
<a href="#B">BBBBBBBB</a>
<div id="A">AAAAAA</div>
<div id="B">BBBBBBB</div>

<!--伪类-->
<div>
<p>1111</p>
<p>2222</p>
<p>333333</p>
<p>444444</p>
</div>
</body>
</html>

最新文章

  1. Angular自定义指令(directive)
  2. AS2.0大步更新 Google强势逆天
  3. 《zw版&#183;Halcon-delphi系列原创教程》cgal与opencv,Halcon
  4. 一.OSI与TCP
  5. 在User Profile Service中配置AD的同步连接
  6. Python模块导入及使用经验回顾 [ 持续更新 ]
  7. 什么时候会刷新备库控制文件refresh the standby database control file?
  8. NOIP2010-普及组复赛-第一题-数字统计
  9. 转:用ANT执行SQL
  10. 201521123060 《Java程序设计》第5周学习总结
  11. C#实现局域网内远程开机
  12. 《java入门第一季》之面向对象(面向对象案例详解)
  13. VMware与Hyper-V的冲突解决 VMware Workstation 与 Device/Credential Guard 不兼容 解决方案
  14. 在SQL Server 2017 中,当Alwasyon group启用了DTC_SUPPORT = PER_DB, 会导致无法创建replicaiton.
  15. 关于Weex你需要知道的一切
  16. CSS 基础 优先级 选择器 继承
  17. CStringArray error C2248: &#39;CObject::CObject&#39; : cannot access private member declared in class
  18. BZOJ5308 ZJOI2018胖
  19. 看我如何快速学习.Net(高可用数据采集平台)
  20. SpringMvc 笔记

热门文章

  1. android中5大布局
  2. springMVC框架中,在hib-config.xml配置sqlserver2008数据库连接的代码
  3. github 项目版本控制
  4. JAVA -Xms -Xmx -XX:PermSize -XX:MaxPermSize 区别
  5. centos安装youcompleteme
  6. 理解em,rem以及rem的失效问题
  7. js学习-自定义函数、对象的字面量、json对象学习小结
  8. [转] 基于ArcGISServer实现活动地图标注
  9. tomee.xml
  10. Web大文件上传控件-bug修复-Xproer.HttpUploader6