CSS3之伪元素选择器和伪类选择器

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

a:link|a:visited|a:hover|a:active

在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的,a:active 必须被置于 a:hover 之后,才是有效的。

 

 

由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类。

复制代码
:focus
/* 伪类将应用于拥有键盘输入焦点的元素。 */
:first-child
/* 伪类将应用于元素在页面中第一次出现的时候。 */
:lang
/* 伪类将应用于元素带有指定lang的情况。 */
复制代码

 

伪元素选择器,伪元素的效果是需要通过添加一个实际的元素才能达到的。

复制代码
/* 为某个元素的第一行文字使用样式。 */
:first-line
/* 为某个元素中的文字的首字母或第一个字使用样式。 */
:first-letter
/* 在某个元素之前插入一些内容。 */
:before
/* 在某个元素之后插入一些内容。 */
:after
复制代码

 

 

结构性伪类选择器

:root()选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素。在HTML文档中,根元素始终是<html>。:root选择器等同于<html>元素。

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

:empty()选择器表示的就是空。用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格。

:target()选择器来对页面某个target元素(该元素的id被当做页面中的超链接来使用)指定样式,该样式只在用户点击了页面中的超链接,并且跳转到target元素后起作用。

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

:nth-child()选择某个元素的一个或多个特定的子元素。

复制代码
<!DOCTYPE html>
<html><head></head><style type="text/css"> div p:nth-child(n){color:red;}div p:nth-child(2n){color:yellow;}</style><body><div><p>111</p><p>222</p><p>333</p><p>444</p><p>555</p></div></body>
</html>
复制代码


:nth-last-child()从某父元素的最后一个子元素开始计算,来选择特定的元素。

复制代码
<!DOCTYPE html>
<html><head></head><style type="text/css"> div p:nth-last-child(2){color:red;}</style><body><div><p>111</p><p>222</p><p>333</p><p>444</p><p>555</p></div></body>
</html>
复制代码

:nth-of-type(n)选择器和:nth-child(n)选择器非常类似,不同的是它只计算父元素中指定的某种类型的子元素。当某个元素中的子元素不单单是同一种类型的子元素时,使用:nth-of-type(n)选择器来定位于父元素中某种类型的子元素是非常方便和有用的。

 

:only-child表示的是一个元素是它的父元素的唯一一个子元素。

 

CSS3中的伪元素

CSS3对伪元素进行了一定的调整,在以前的基础上增加了一个:
也就是现在变成了::first-letter,::first-line,::before,::after
另外还增加了一个::selection

 

在css3中,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

 

::first-line选择元素的第一行,比如说改变每个段落的第一行文本的样式,我们就可以使用这个

::before::after这两个主要用来给元素的前面或后面插入内容,这两个常用"content"配合使用,见过最多的就是清除浮动

复制代码
<!DOCTYPE html>
<html><head></head><style type="text/css"> .test:before{content:"Hello";}.test.after{clear:both;}</style><body><div class="test"></div></body>
</html>
复制代码

::selection用来改变浏览网页选中文的默认效果

 

UI状态元素伪类选择器

E:checked{attribute} 匹配所有用户界面(form表单)中处于选中状态的元素
E:enabled{attribute} 匹配所有用户界面(form表单)中处于可用状态的元素
E:disabled{attribute} 匹配所有用户界面(form表单)中处于不可用状态的元素
E::selection{attribute} 匹配元素中被用户选中或处于高亮状态的部分

 

目标伪类

E:target{attribute}   匹配相关URL指向的元素

 

转载于:https://www.cnblogs.com/zhengyuan1314/p/7004021.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS只是进化的一部分

Bert Bos是一位计算机科学家&#xff0c;他也是CSS的创始人之一。在CSS的发展过程中&#xff0c;Bos是最早与Hkon Wium Lie&#xff08;CSS之父&#xff09;合作的人之一。在1996年&#xff0c;他加入了World Wide Web Consortium&#xff08;W3C&#xff09;负责CSS的开发。他…

【 Grey Hack 】WIFI万能钥匙

目录脚本源码使用方法效果版本&#xff1a;Grey Hack v0.7.3618 - Alpha 脚本源码 computer get_shell.host_computer status "Unknown Error." crypto include_lib("/lib/crypto.so") if not crypto thencrypto include_lib(current_path "/cr…

面向对象编程学习5月7日-5月23日 网络直播yii-外企使用最多的PHP框架

每日一贴,今天的内容关键字为面向对象编程学习 课程说明: -------------------------------------------------------------------------------------------------------------- 9天玩转大型php框架Yii&#xff08;即将开始&#xff09;&#xff08;如何加入费免公然讲堂&#…

[BZOJ4008]亚瑟王

Description 小 K 不慎被 LL 邪教洗脑了&#xff0c;洗脑程度深到他甚至想要从亚瑟王邪教中脱坑。 他决定&#xff0c;在脱坑之前&#xff0c;最后再来打一盘亚瑟王。既然是最后一战&#xff0c;就一定要打得漂亮。众所周知&#xff0c;亚瑟王是一个看脸的游戏&#xff0c;技能…

PHP 四种基本排序算法的代码实现(2)

2019独角兽企业重金招聘Python工程师标准>>> 许多人都说算法是程序的核心&#xff0c;算法的好坏决定了程序的质量。作为一个初级phper&#xff0c;虽然很少接触到算法方面的东西。但是对于基本的排序算法还是应该掌握的&#xff0c;它是程序开发的必备工具。这里介…

【 Grey Hack 】综合工具 shellOs

目录交互界面基本功能本地攻击攻击本机远程攻击应用程序扫描功能更新IP并扫描深度扫描黑入功能类shell交互界面一些特殊命令bouncerunScanPswvimbuild脚本源码版本&#xff1a;Grey Hack v0.7.3619 - Alpha 交互界面 基本功能 使用cd命令和数字选项切换路径 本地攻击 攻击本…

明天开始新的作息时间了

论文基本完成了&#xff0c;要开始规划新的任务了。天气很好&#xff0c;利用好时间。 明天开始锻炼身体了&#xff0c;早上的单词放到晚上学习了&#xff0c;早上一边晨练一边听力。转载于:https://www.cnblogs.com/pulan/archive/2013/05/06/3063465.html

HttpContext.Current.Cache和HttpRuntime.Cache的区别,以及System.Runtime.Caching

先看MSDN上的解释&#xff1a; HttpContext.Current.Cache&#xff1a;为当前 HTTP 请求获取Cache对象。 HttpRuntime.Cache&#xff1a;获取当前应用程序的Cache。 我们再用.NET Reflector工具看看HttpContext.Cache和HttpRuntime.Cache的实现&#xff1a; Ht…

HIVE 一行转多行输出办法

2019独角兽企业重金招聘Python工程师标准>>> 1.问题描述 hive UDF 格式&#xff1a;oc号1_an号1_次数;oc号2_an号2_次数 转换结果&#xff1a; oc号1 an号1 次数 oc号2 an号2 次数 一行转多行&#xff0c;一行转多列 2.实现思路 第一步分割&#xff1a;split(oc号…

javascript/jquery获取图片的原始大小

实际生产过程中&#xff0c;我们往往有需要获得一个被压缩的图片的真实原始大小。此时我们可以用下面这个代码来实现&#xff1a; [js] // Get on screen image var screenImage $("#image"); // Create new offscreen image to test var theImage new Image(); th…

【机器视觉学习笔记】直方图的绘制及直方图均衡化(C++)

目录概念直方图定义直方图均衡化为什么要选用累积分布函数如何运用累积分布函数使得直方图均衡化C 源码直方图均衡化绘制直方图主函数效果完整源码平台&#xff1a;Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文综合自直方图计算和程序员-图哥——图像处理之直方图均…

盒模型

CSSDIV 将数据封装到div中&#xff0c;页面中都是有很多div组成的&#xff0c;通过css布局(通过css属性布局)完成这些div位置的存放&#xff0c;一个div就是一个盒子。 边框   border:{ --left --right --top --bottom }; #div_1{ border-top:1px solid #ccc; border-bottom:…

C/C++ 如何劫持别人家的命令||函数||程序(只能对于window而言)

要实现下面程序&#xff0c;首先我们需要三个文件 detours.h &#xff0c;detours.lib &#xff0c;detver.h&#xff08;可以去网上下载&#xff09; 1. 首先让我们看看&#xff0c;一个最简单的C程序&#xff0c;如何劫持system函数. 1 #include<stdio.h>2 #include<…

【机器视觉学习笔记】伽马变换(C++)

目录概念C源码变换函数主函数效果完整源码平台&#xff1a;Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文内容节选自《数字图像处理》第三版 C源码修改自C数字图像处理&#xff08;1&#xff09;-伽马变换 —— 图像大师 概念 C源码 变换函数 //函数名&#xff1…

soapui自带的webservice实例 MockService

soapui自带的webservice实例 & MockService&#xff1a; http://www.docin.com/p-646423228.html 转载于:https://www.cnblogs.com/preftest/archive/2013/05/09/3070243.html

数据库和数据挖掘领域的会议和期刊

数据库和数据挖掘领域的会议和期刊数据库领域主要专注于数据库系统和数据管理算法&#xff0c;而数据挖掘主要是专注于数据价值分析算法。一、数据库领域的主要会议数据库领域的顶级会议SIGMOD、ICDE、VLDB&#xff0c;下面将对这三大会议进行一下简单介绍。 SIGMOD-----------…

lxml库的基本使用

Python之lxml模块的使用&#xff1a;1. 认识lxml2. lxml中基本使用2.1 安装并导入lxml模块2.2 节点操作&#xff1a;2.3 属性操作&#xff1a;2.4 文本操作2.5 xml文件解析与序列化2.6 lxml命名空间的处理3. 使用lxml解析xml案例4. 使用lxml生成一个xml文件案例&#xff1a;5. …

Linux文件查找之find秘笈

前言Linux的基本特点之一是一切皆文件&#xff0c;在系统管理过程中难免会需要查找特定类型的文件&#xff0c;那么问题来了&#xff1a;如何进行有效且准确的查找呢&#xff1f;本文将对Linux系统中的文件查找工具及用法进行详细讲解。常用工具对比常用的文件查找工具主要有lo…

【机器视觉学习笔记】大津法/Otsu最大类间方差法 最佳阈值处理(C++)

目录概念C源码OtsuThreshold主函数效果完整源码平台&#xff1a;Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文所用源码修改自C opencv 图片二值化最佳阈值确定&#xff08;大津法,OTSU算法)——Sharon Liu 概念 Otsu算法&#xff0c;也叫最大类间方差法&#xff0…

HTML 页面源代码布局介绍

此介绍以google首页源代码截图为例&#xff1a; 从上到下依次介绍&#xff1a; 1.<!DOCTYPE html> 此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。 XHTML规范&#xff1a;必须小写&#xff0c;有开始结束标签&#xff0c;属性也用双引号。 HTML规范&#xff1a;不…