当前位置: 首页 > news >正文

最新CSS3伪类和伪元素详解

第4章 伪类和伪元素

4.1结构伪类

E:first-child{},第一个元素

样式:

p:first-child {color: red; 
}
<div><p>Lorem ipsum</p><p>Dolor sit amet.</p>
</div>

4.1.1nth-*伪类

以计数为基础的,默认情况下,n代表从0开始的数字,以1递增(1,2,3等等),但是元素是从1开始的。

这里的*包括child和of-type等等

E:nth-*(n){},n表示1,2,3...

E:nth-*(2n){},n表示2,4,6...

E:nth-*(3n){},n表示3,6,9...

E:nth-*(n+1){},n表示1,2,3,4...

E:nth-*(2n+1){},n表示1,3,5...

E:nth-*(3n-1){},n表示2,5,8...

E:nth-*(even){},相当于2n,偶数

E:nth-*(odd){},相当于2n+1,奇数

nth-child与nth-of-type

E:nth-child表示按照当前父元素的所有子元素总数进行选择

E:nth-of-type表示按照特定元素进行选择

案例:

10个段落,CSS如下:

1.所有元素2n+1的底设为grey

2.div中的p中的2n字体设为红色

3.div中的p中的3n字体设为绿色

nth-last-child与nth-last-of-type

nth-child与nth-of-type类似,不同的是从最后一个元素开始计数。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>div :nth-child(2n+1) {background-color: grey;}div p:nth-of-type(2n) {color: red;}div p:nth-of-type(odd) {color: green;}</style>
</head><body><div><span>span孙颖莎奥运已打52局</span><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><span>span孙颖莎奥运已打52局</span><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p></div></body></html>

4.1.2 first-of-type、last-child、last-of-type

表示单个的选择,分别是某类型元素第一个,父元素中子元素最后一个,某类型元素最后一个。

4.1.1案例中,去掉CSS后,重写CSS:

1.p元素的第一个字体为red。

2.所有元素最后一个字体为green。

3.span类型最后一个元素字体为pink。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>div p:first-of-type {color: red;}div :last-child {color: green;}div span:last-of-type {color: pink;}</style>
</head><body><div><span>span孙颖莎奥运已打52局</span><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><span>span孙颖莎奥运已打52局</span><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p><p>王楚钦回应球拍事件:自己是受害者,“我不想讨论”</p></div></body></html>

4.1.3 only-child,only-of-type

only-child表示没有任何兄弟元素

only-of-type表示没有相同类型的兄弟

4.2 其他伪类

4.2.1 target伪类

指向特定元素内部链接,URI指向唯一ID或指定锚点位置。

外部链接:

4.伪类target.html

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title>
</head><body><a href="./4.target.html#my_id">Lorem</a>
</body></html>

同级目录下 4.target.html

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title>
</head><body><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4><h4 id="my_id" style="color: orange;">Lorem ipsum</h4><h4>Lorem ipsum</h4><h4>Lorem ipsum</h4>
</body></html>

将浏览器上下宽度小一点,必须有滚动条,则会发现页面跳转后,会自动滚动到目标位置。

内部链接:

点击前:

点击后:

代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>.comment:target {background-color: #ddd;}</style>
</head><body><p><a href="#comment-03">最后的评论</a></p><div class="comment" style="border: 1px dotted;" id="comment-01"><p>Thanks for this scintillating example</p><p>N.E. Boddy, April 13</p></div><div class="comment" style="border: 1px dotted;" id="comment-02"><p>Meh.</p><p>Sum1, April 14</p></div><div class="comment" style="border: 1px dotted;" id="comment-03"><p>CSS3 is going to be great!</p><p>Joe Blogs, April 14</p></div>
</body></html>

4.2.2 empty伪类

选择没有子元素(包括文本节点)的元素

看案例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title><style>td:empty {background-color: red;}</style>
</head>
<body><table border=""><thead><tr><td>第一列</td><td>第二列</td><td>第三列</td></tr></thead><tr><td></td><td>Lorem ipsum</td><td><span></span></td></tr></table>
</body>
</html>

4.2.3 root伪类与not伪类(基本不用,知道就行)

root伪类:给html一个较高的特殊度,设置html元素后不该被修改。

html:root { background-color: black }

not伪类:选择除了给定参数元素之外的所有元素。

E:not(F) {}

例子:div > :not(p) { color: red; }

4.3 伪元素

可以把样式应用到文档树中根本不存在的元素上。

::first-line 文本中的第一行

::first-letter 文本中的第一个字母

::after 元素之后添加

::before 元素之前

代码:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title><style>p::first-line {background-color: red;}p::first-letter {color: blue;font-weight: 600;}h1::before {content: "我是h1前面的添加的内容";color: chocolate;}p::after {content: "我是P后面的内容";color: brown;}</style>
</head>
<body><h1>|WWF's Mission Statement</h1><p>To stop the degradation of theplanet's natural environmentand to build a future in whichhumans live in harmony with nature,by; conserving the world's biological diversity, ensuring that the use of renewable natural resources issustainable, and promoting the reduction of pollution and wasteful consumption.|</p>
</body>
</html>

小结:UI元素状态,:selection冷门生僻,不学习。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CSS 多按钮根据半圆弧度排列
  • Vue - 关于v-wave 波浪动画组件
  • 【Dash】使用 dash_mantine_components 创建图表
  • 动态规划求解最小斯坦纳树(证了一天两夜)
  • 1998年考研真题英语二(204)阅读理解翻译
  • C语言宠物系统
  • CnosDB 元数据集群 – 分布式时序数据库的大脑
  • C++(week15): C++提高:(五)Redis数据库
  • 将PPT中的元素保存为高清图片
  • 看图学sql之sql的执行顺序
  • 分布式接口文档聚合,Solon 是怎么做的?
  • Qt编程技巧小知识点(2)GPIB缓存区数据读取
  • 快递批量查询有什么软件安利一下
  • 关于手机中的红外遥控
  • leetcode hot 100(1)
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • Bytom交易说明(账户管理模式)
  • C++11: atomic 头文件
  • Druid 在有赞的实践
  • IndexedDB
  • Js基础——数据类型之Null和Undefined
  • JS专题之继承
  • Just for fun——迅速写完快速排序
  • Magento 1.x 中文订单打印乱码
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 从重复到重用
  • 观察者模式实现非直接耦合
  • 猴子数据域名防封接口降低小说被封的风险
  • 力扣(LeetCode)22
  • 前端技术周刊 2019-02-11 Serverless
  • 入口文件开始,分析Vue源码实现
  • 入门级的git使用指北
  • 深入浏览器事件循环的本质
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 使用common-codec进行md5加密
  • 系统认识JavaScript正则表达式
  • 用简单代码看卷积组块发展
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ​一些不规范的GTID使用场景
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (function(){})()的分步解析
  • (Ruby)Ubuntu12.04安装Rails环境
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (二) 初入MySQL 【数据库管理】
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)ssm高校实验室 毕业设计 800008
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (六)Flink 窗口计算
  • (七)Knockout 创建自定义绑定