伪元素和伪类的区别和作用?

centos8 安装新版bind9源码 bind一直在更新,使用了比较多的新架构 本文记录新版本的bind怎么安装,以及其依赖库的安装 1. 在https://www.isc.org/download/ 下载最新stable版本bind,本文以bind-9.17.9.tar.xz为例。将软件传到/root目录下。 也可以到https://ftp.isc.org/isc/bind9/ 下载更多历史版本 2. 安装基本的依赖库,像gcc、amake等 3. 需要安装libuv库,但直接用yum时可能安装不全 建议使用源码安装,需要安.. 阅读详情

什么是伪元素和伪类

伪元素
伪元素(pseudo-elements)是CSS中的一种选择器,用于选择元素的特定部分而不是整个元素本身。伪元素允许你在已选择的元素内部创建或修改内容,而无需在文档结构中添加额外的HTML元素。伪元素的语法以::(双冒号)作为前缀,如::before和::after。

以下是一些常见的伪元素及其主要作用:

  1. ::before:用于在所选元素的内容之前插入生成的内容。这通常用于在元素前面添加一些装饰性的内容,比如图标或文本。

  2. ::after:用于在所选元素的内容之后插入生成的内容。类似于::before,它也经常用于添加额外的装饰性元素。

  3. ::first-line:用于选择所选元素的第一行文本。你可以使用它来为文本的第一行应用特定的样式。

  4. ::first-letter:用于选择所选元素的第一个字母或字符。通常用于创建首字母大写或特殊的样式。

  5. ::selection:用于选择用户选择的文本部分(鼠标拖选时)。你可以使用它来自定义选中文本的样式。

伪类
伪类(pseudo-class)是CSS中的一种选择器,用于选择HTML元素的特定状态或关系,而不是选择元素本身。伪类可以根据用户交互、元素的位置、链接状态等条件来选择元素,从而允许你应用不同的样式或行为。伪类的语法以:(单冒号)作为前缀,如:hover和:first-child。

以下是一些常见的伪类及其主要作用:

  1. :hover:用于选择用户鼠标悬停在元素上时的状态。通常用于创建悬停效果,如改变链接的颜色或显示工具提示。

  2. :active:用于选择用户点击元素时的状态。通常用于创建点击效果,如按钮按下时的变化。

  3. :focus:用于选择元素获得焦点时的状态,通常用于表单元素,如文本框或按钮,以突出显示当前激活的元素。

  4. :first-child:选择父元素的第一个子元素。这可用于设置第一个子元素的特定样式。

  5. :nth-child(n):选择父元素的第n个子元素。你可以使用这个伪类来选择元素列表中的某个特定元素。

  6. :not(selector):选择不匹配给定选择器的元素。这允许你排除某些元素以应用样式。

  7. :visited:选择已访问的链接元素,通常用于改变已访问链接的样式。

总结: 伪元素创建了抽象元素,而伪类代表了元素的特殊状态。注意语法上的区别,伪元素使用:: 伪类使用:

使用场景

1、:hover鼠标悬停

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .parent {
        padding: 30px;
      }
      .child:hover {
        cursor: pointer;
        color: aqua;
      }
    </style>
  </head>
  <body>
    <div class="parent">
      <div class="child">一段文字</div>
    </div>
  </body>
</html>

当鼠标悬停文字颜色就变了。
在这里插入图片描述
2、:active 鼠标按下的状态

.child:active {
  cursor: pointer;
  color: red;
 }

在这里插入图片描述
3、:focus激活状态的样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        .input {
            width: 200px;
            padding: 10px;
            border: 2px solid #ccc;
        }

        .input:focus {
            border-color: blue;
            outline: none; /* 可选,用于去除默认的焦点边框 */
        }
    </style>
</head>
<body>
    <label for="example">输入框:</label>
    <input type="text" id="example" class="input">
</body>
</html>

激活后:
在这里插入图片描述
4、:first-child :nth-child(n)。类似还有:first-of-type。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <style>
      ul li:nth-child(2) {
        background-color: yellow;
      }
      ul li:first-child {
        color: blue;
      }
    </style>
  </head>
  <body>
    <ul>
      <li>第一个子元素</li>
      <li>第二个子元素</li>
      <li>第三个子元素</li>
    </ul>
  </body>
</html>

在这里插入图片描述

5、:not(selector) 伪类用于选择不匹配指定选择器的元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        p:not(.special) {
            font-weight: bold;
        }
    </style>
</head>
<body>
    <p>This is a normal paragraph.</p>
    <p class="special">This is a special paragraph.</p>
    <p>This is another normal paragraph.</p>
</body>
</html>

在这里插入图片描述
6、::before

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <style>
      .custom-button::before {
        content: "\2713"; /* Unicode字符 ✓ 代表勾号 */
        margin-right: 5px; /* 添加一些间距 */
        color: green; /* 颜色为绿色 */
      }

      .custom-button {
        background-color: lightblue;
        padding: 10px 20px;
        border: none;
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <button class="custom-button">点击这里</button>
  </body>
</html>

在这个示例中,定义了一个 .custom-button 类,并使用 ::before 伪元素在按钮文本前插入一个勾号图标。通过设置 content 属性为 “\2713”(Unicode字符 ✓)。
在这里插入图片描述
7、::after

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <style>
      .quote::after {
        content: "\201D"; /* Unicode字符 ” 代表右双引号 */
        color: #999;
      }

      .quote {
        font-size: 18px;
        font-style: italic;
      }
    </style>
  </head>
  <body>
    <p class="quote">这是一段带有引用的文本。</p>
  </body>
</html>

在这个示例中,定义了一个 .quote 类,并使用 ::after 伪元素在引用文本后插入右双引号。通过设置 content 属性为 “\201D”(Unicode字符 ”)。
在这里插入图片描述
8、::first-line、::first-letter 和 ::selection

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <style>
      p {
        width: 100px;
      }
      p::first-line {
        font-weight: bold;
        color: blue;
      }
      p::first-letter {
        font-size: 24px;
        color: red;
      }
      ::selection {
        background-color: yellow;
        color: black;
      }
    </style>
  </head>
  <body>
    <p>
      This is the first line of text. The rest of the text goes here. This is
      just an example.
    </p>
  </body>
</html>

例子中分别给第一行设置了加粗且文字颜色是蓝色、给第一个字符设置了大小及颜色、选中文字黄色背景。

第六行是一个选中颜色的效果
在这里插入图片描述

本文只是列举了一些伪类和伪元素以及它们的一点小用法。伪元素和伪类还有很多用处。

LoRa学习:LoRa通信调制解调的实现原理与性能 LoRa学习:LoRa调制解调原理与性能 1、LoRa调制解调器原理 LoRa调制解调器采用专利扩频调制和前向纠错技术。与传统的FSK、OOK调制技术相比,LoRa扩大了无线通讯链路的覆盖范围(实现了远距离无线传输),提高了链路的鲁棒性。。 开发人员可调整扩频因子和纠错率这两个参数,从而平衡通讯时的带宽占用、通信速率、空中包的存活时间、以及抗干扰性等。。 LoRa调制解调器... 阅读详情

相关推荐

在URP中正确写入Sprite深度以使用DOF

我准备在文字冒险中加入景深的效果,但是因为unity内置shader的缘故,sprite是不会写入深度的,而如果要使用PostProcessing的DOF效果的话,是必须要将半透明物体的深度正确写入Depth Buffer的,这篇消耗了我大量精力的文章就是要介绍正确写入的方法。 其实,如果只是要在2D游戏中实现类似于景深的效果,不写入深度其实也是可以的,我找到的有两种方案:一种是实时对Sprite进行模糊计算;二是直接使用离线预模糊的图片,根据强度进行混合。 离线预模糊 虽然这两种方法都可以比较简

FREEstriker的博客 2729

伪类和伪元素的区别及使用场景

1. 伪类和伪元素的区别 1.1 作用不同 伪类是一种状态,可以看看做是选择器。比如鼠标经过 伪类 :hover , 比如 结构伪类 li:nth-child, 一个冒号。 伪元素 是 元素, 简单来说,就是用css 模拟出来了一个盒子。 1.2 权重不相同 伪类 是 10 (类、属性选择器 [type=submit]) 伪元素 是 1 (标签选择器 ) 1.3 使用场景不同 比如:鼠标经过盒子,盒子里面的样式会有变化,则...

qq_66390045的博客 4431

从零开始:使用英伟达nx开发板部署目标检测算法的全过程

英伟达nx开发板烧录、依赖安装、开发板联网

weixin_51192760的博客 3762

伪类和伪元素(详细介绍)

CSS种伪类和伪元素的详细介绍

宝子的博客 9177

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型 当前AI企业级应用面临三大核心挑战:业务场景深度非标化、技术落地"最后一公里"困局、以及市场竞争焦点转向实用价值。前线部署工程师(FDE)作为破局关键,通过技术-业务-产品三维交汇的复合能力,将AI从实验室推向生产环境。FDE不仅是技术架构师,更是业务价值挖掘机和产品进化传感器,通过"碎石路-高速公路"双循环模式,将定制化需求沉淀为可复用的平台能力。这种模式颠覆了传统SaaS的销售逻辑,形成基于价值的J型增长

随笔记录-分享&记忆 4003

RK3588 MPP,RGA,DRM,QT之RGA

RK3588多路视频采用RGA来进行混合成一帧

dreamliweiming的博客 4265

CSS常用伪元素详解

只能用于块级元素。可用的CSS属性为font,color,background,word-spacing,letter-spacing,text-decoration,vertical-align,text-transform,line-height,clear。可用的CSS属性为font,color,background,marin,padding,border,text-decoration,vertical-align,text-transform,line-height,float,clear。

qq_43293207的博客 1万+

Windows环境下QGIS完整编译指南(从环境搭建到问题解决)

本文详细介绍了在Windows 11系统下编译QGIS 3.40.12版本的完整流程。主要内容包括:前期准备工作(系统要求、工具清单)、环境搭建(Visual Studio 2026、OSGeo4W、Qt Creator的安装配置)、以及详细的CMake参数设置。特别强调了依赖管理的重要性,并提供了解决常见编译错误的方案。该指南适用于GIS二次开发、QGIS功能定制和源码学习等场景,通过OSGeo4W工具简化了复杂的依赖管理过程,确保编译过程的可重复性。

LuckyHanMo的博客 1335

CSS入门八:伪类的基本使用(伪类概述;伪类与超级链接;伪类在label上的应用;伪类在文本框上的应用)(状态伪类)

伪类也是一种“标签”(可能不严谨),这个东西可以应用在很多其他标签上,只是伪类和超链接标签结合在一起用,更契合而已; 方式

小枯林的博客 3684

零基础入门篇③ PyCharm使用指南(个性化设置、开发必备插件、常用快捷键)

Python从入门到精通👉零基础入门篇③

hacker707的博客 4375

基于Dify实现对Excel的数据分析

在dify部署完成后,大家就可以基于此进行各种应用场景建设,目前dify支持聊天助手(包括对话工作流)、工作流、agent等模式的场景建设,我们在日常工作中经常会遇到各种各样的数据清洗、格式转换处理、数据统计成图等数据分析工作,本次主要基于对话工作流模式对Excel文件、csv文件进行解析处理,并进行成图等数据分析工作。主要用到的插件有LLM节点,文档提取器、参数提取器、自定义代码节点、echart插件等。实现解析Excel数据,经过上述不同节点的处理分析流程,最终实现数据统计图展示。

hhue2007的专栏 1万+

伪元素和伪类的区别和作用;CSS3新增伪类有哪些并简要描述

强调的是父元素中的第一个元素,并不关心其类型;强调的是父元素中的某个符合该类型的第一个子元素,并不一定是父元素的第一个子元素;当需要设置元素是父元素的第一个 child 时,first-of-type 和 first-child 效果一致;当需要设置元素不是父元素的第一个 child 时,需要用 first-of-type.

小草莓的博客 893

【小白深度教程 1.32】手把手教你从多视角图像进行 3D 重建(SfM 算法)

重建的目标是从一组照片中推导场景的几何结构,假设摄像机位置和内部参数是已知的或可以从图像集中猜测。 这是通过使用多个照片,在其中应用运动结构法(Structure from Motion,SfM)来解决像素级对应问题,部分地恢复3D信息来实现的。

2401_87064292的博客 2160

伪元素和伪类的区别和作用

伪类**是基于元素的状态或位置来选择元素并改变其样式。 - **伪元素**则是在元素内部创建新的逻辑节点,并允许为这些虚构的节点添加样式或内容。

大剑师兰特的GIS世界 1067

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【CSS 面经】伪元素和伪类的区别和作用

伪类是用于选中元素的某个特定状态的 CSS 选择器,它使得我们能够在元素满足特定条件时应用不同的样式。伪类以冒号(:)开头,后面跟随伪类名称,且不创建新的元素。伪类通常用于针对用户交互行为、元素的结构状态或者元素在页面中的位置等进行样式控制。伪元素则是用于选中元素的某个特定部分或创造出一些不存在于 HTML 结构中的虚拟元素。伪元素以双冒号(::)开头,后面跟伪元素名称,它可以让你修改元素的某些内容(例如添加内容、设置背景等)而不需要修改原始的 HTML 代码。

lph159的博客 1227

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

前端CSS:伪元素和伪类的区别和作用

通过本文的深入探讨,我们了解到伪元素和伪类在前端开发中的重要性。在前端开发中,CSS 伪元素和伪类为开发者提供了强大的工具,用来增强页面的表现力和交互性。本文将深入探讨伪元素和伪类的概念、作用以及具体的使用方法,并通过多个实例帮助读者理解它们的不同之处及其在实际项目中的应用。希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身农奴把歌唱,专栏系列(点击解锁)学习路线(点击解锁)

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 916

html中伪类作用,在Html中,css伪类和伪元素到底有什么区别,怎么使用呢?

区别为了区分,我们可以把伪类比作太监,把伪元素比作皇帝。1、表示不同伪类是一个冒号,而伪元素是两个冒号,等于比伪类多了两个点。也就是说皇帝比太监要多了个不明物体!2、数量不同。众所周知,一个朝代皇帝只能有一个,而皇帝可以有多个,伪类和伪元素也是这样,伪类可以有多个,而伪元素只能有一个。所以伪类可以拼接,比如:input:out-of-range:focus{background:red;},就是有...

weixin_39797393的博客 539

伪类和伪元素的区别和作用?

伪类和伪元素的区别和作用?

weixin_45799605的博客 141

css中伪类和伪元素的区别及用法

一、区别: (1)伪元素主要是用来创建一些不存在原有dom结构树种的元素,例如:用::before和::after在一些存在的元素前后添加文字样式等,这些被添加的内容会以具体的UI显示出来,被用户所看到的,这些内容不会改变文档的内容,不会出现在DOM中,不可复制,仅仅是在CSS渲染层加入。CSS3中建议使用::表示伪元素,如:div::before。 ::before和::...

bajian2731的博客 303

【CSS3】伪类与伪元素真的不“伪”,且不要记混哟

前端开发一年之前从来不用,一年之后伪类伪元素真香! 但是有一个问题,伪类和伪元素傻傻分不清!今天就来好好的辨一辨它们。

归子莫的博客 1219

伪类与伪元素的区分

1. 伪类与伪元素的作用 伪类和伪元素是用来添加一些选择器的特殊效果,用于修饰一些不在文档树中的信息。 举个栗子。一段文本的第一个元素或第一个字母,为其添加样式,这些都是无法使用之前的css进行处理的,所以引入伪类和伪元素,对其进行修饰补充。 2.伪类和伪元素的区分 1.伪类用于已有元素的状态描述,本身仍处在文档树之中,描述元素状态,对其添加样式。 伪元素用于新创建元素,元素不存在与=于原本文档树之中,描述元素,对其添加样式。 举个栗子。 <div> <p>CoolWate

MojaveGhost1057的博客 226

CSS伪类及伪元素:一篇搞懂

本文介绍了CSS中伪类与伪元素的区别与应用。伪类(以单冒号开头)用于选择元素的特定状态,如链接状态(:link、:visited)、用户交互(:hover、:focus)和结构位置(:first-child、:nth-child)。伪元素(推荐双冒号)则针对元素的部分内容,如::before/::after插入内容、::first-letter修饰首字母。两者关键区别在于作用对象和语法标记,其中伪元素常配合content属性生成虚拟内容。文章通过多个代码示例演示了各类伪类和伪元素的具体用法。

欢迎来到我的博客 1091

注意:伪类和伪元素的区别与说明

简单介绍伪类与伪元素,展示了它们的区别和作用

潮汐未见潮落的博客 579
上一篇: 重绘与重排(回流)
下一篇: 基于antd实现动态修改节点的Tree组件
heiyay
博客等级 码龄8年 617粉丝 177原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值