CSS基础之伪元素选择器(如果想知道CSS的伪元素选择器知识点,那么只看这一篇就足够了!)

        前言:我们已经知道了在CSS中,选择器有基本选择器、复合选择器、伪类选择器、那么选择器学习完了吗?显然是没有的,这篇文章讲解最后一种选择器——伪元素选择器。


✨✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

那么废话不多说,先让我们看一下这篇文章讲解的内容:

目录

伪元素选择器

        (1)初始伪元素选择器

        (2)伪元素的语法规范

        (3)各个伪元素选择器

        【1】first-letter

        【2】first-line

        【3】selection

        【4】placeholder

        【5】before + after


伪元素选择器

        (1)初始伪元素选择器

        在学习特定的伪元素选择器之前,让我们先来学习一下什么是伪元素选择器:

伪元素选择器是用来选择html标签种的特定部分,而不是整个标签里面的内容。它通常用于处理那些不是由HTML标签直接表示的内容,比如首行文字、首字母或者生成的内容等等。

总结:伪元素选择器就是对基本选择器或复合选择器的修饰,是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。

        (2)伪元素的语法规范

语法规范:

/* 在选择器之后加上:: */
selector::pseudo-element {
  /* 添加的样式 */
  property: value;
}

我们使用一个下面要学习的伪元素选择器来举一下例:(只需要看伪元素选择器的组成形式即可)

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.4.16.css">
</head>
<body>
    <!-- 将第一个字母的大小改为30px,并且颜色位橙色 -->
    <div>hello the world !</div>
</body>
</html>

CSS代码:

div::first-letter {
    font-size: 30px;
    color: orange;
}

从上边的代码中,我们可以更好的对伪元素选择器的语法规范进行理解。

注意:

        一个选择器中只能使用一个伪元素。伪元素必须紧跟在语句中的基础选择器/复合选择器之后。

备注:

按照规范,应该使用双冒号(::)而不是单个冒号(:),以便区分伪类和伪元素。但是,由于旧版本的 W3C 规范并未对此进行特别区分,因此目前绝大多数的浏览器都同时支持使用这两种方式来表示伪元素。

这样我们就了解了伪元素选择器的语法规范了,接下来开始学习各个伪元素选择器。

先让我们看一下常见的伪元素选择器有哪些:

        (3)各个伪元素选择器

        【1】first-letter

first-letter的作用:: :first-letter会选中某(块级元素)第一行的第一个字母,并且文字所处的行之前没有其他内容(如图片和内联的表格)。

让我们直接使用案例来看一下:

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.4.16.css">
</head>
<body>
    <!-- 将第一个字母的大小改为30px,并且颜色位橙色 -->
    <div>hello the world !</div>
</body>
</html>

CSS代码:

div::first-letter {
    font-size: 30px;
    color: orange;
}

这就是之前我们学习伪元素选择器语法的时候使用的案例,现在我们再来看一下,我们使用first-letter伪元素选择器将首字母变为了大小30px,颜色为橙色。

        【2】first-line

first-line的作用:在某(块级元素)的第一行应用样式。第一行的长度取决于很多因素,包括元素宽度,文档宽度和文本的文字大小。

让我们直接使用案例来看一下:

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.4.16.css">
</head>
<body>
    <!-- 将第一个行的大小改为20px,并且颜色位红色 -->
    <div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt facilis velit ipsa itaque aut cupiditate incidunt eum suscipit, nulla adipisci?</div>
</body>
</html>

CSS代码:

div::first-line {
    font-size: 20px;
    color: red;
}

我们可以看到first-line伪元素选择器将第一行的字体大小变为了20px,颜色变为了红色。

        【3】selection

selection的作用:selection伪元素选择器应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分)。

让我们直接使用案例来看一下:

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.4.16.css">
</head>
<body>
    <!-- 一段文字 -->
    <div>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Iste earum delectus laudantium commodi dolore odio quo voluptatum quae. Ipsam et ullam possimus delectus corporis eos, maiores libero distinctio eum laboriosam rerum, odio aliquam, minus repellat dolorum. Quaerat dolore corrupti ratione?</div>
</body>
</html>

CSS代码:

/* 选中的文字颜色会变为红色,背景色为天蓝色 */
div::selection {
    color: red;
    background-color: skyblue;
}

这样我们就学会了selection伪元素选择器的使用了。

        【4】placeholder

placeholder的作用:::placeholder作用于<input>或<textarea>元素中的占位文本。

让我们直接使用案例来看一下:

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.4.16.css">
</head>
<body>
    用户名:<input type="text" placeholder="请输入用户名">
    <br>
    密码:<input type="password" placeholder="请输入密码">
</body>
</html>

CSS代码:

/* 文本字体为橙色,切背景为天蓝色 */
input::placeholder {
    color: orange;
    background-color: skyblue;
}

这样我们就了解了placeholder伪元素选择器的使用。

        【5】before + after

before / after的作用:before / after伪元素选择器会创建一个伪元素,其将成为匹配选中的元素的第一个 / 最后一个子元素,常通过 content属性来为一个元素添加修饰性的内容。

让我们直接使用案例来看一下:(我们使用before来做演示,after类似,只是位置不同

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.4.16.css">
</head>
<body>
    <div>199</div>
    <div>299</div>
    <div>399</div>
    <div>499</div>
</body>
</html>

CSS代码:

/* 在div的内容之前加上$符号 */
div::before {
    content: "$";
}

这样我们就学会了before伪元素选择器的使用,当然after与其类型,只不过位置为结尾。


以上就是本篇文章的所有内容了~~~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爱上JDK源码阅读-Integer

知识点 自动装箱和拆箱IntegerCache机制toString()实现算法优化 从一道面试题开始 Integer a 100; int b 100; if (a b) {System.out.println("a b"); } else {System.out.println("a ! b"); }聪明的你应该马上可以知道答案了&#xff0c;输出就是 …

【SQL】DISTINCT GROUP BY

找到所有办公室里的所有角色&#xff08;包含没有雇员的&#xff09;,并做唯一输出(DISTINCT) 用DISTINCT : SELECT DISTINCT B.Building_name,E.Role FROM Buildings B LEFT JOIN Employees EON B.Building_name E.Building需要找到的结果&#xff1a;所有办公室名字&#…

C# 图像旋转一定角度后,对应坐标怎么计算?

原理分析 要计算图像内坐标在旋转一定角度后的新坐标&#xff0c;可以使用二维空间中的点旋转公式。假设图像的中心点&#xff08;即旋转中心&#xff09;为 (Cx, Cy)&#xff0c;通常对于正方形图像而言&#xff0c;中心点坐标为 (Width / 2, Height / 2)。给定原坐标点 (X, …

10:HAL---高级定时器

前言&#xff1a; 高级定时器具有通用定时器的所有功能&#xff0c;我们在这里面只说它不一样的地方。&#xff08;通用定时器不具备的功能&#xff09; 一&#xff1a;高级定时器 1&#xff1a;介绍 2&#xff1a;重复计数器 在我们普通的定时器中当CNTCCR时直接发生溢出。然…

阿里二面凉了,难蹦。。。

分享一位同学阿里巴巴的后端面经&#xff0c;共有 2 面&#xff0c;第一面很顺利过了&#xff0c;可惜挂在第二面。 这两面的知识点范围&#xff0c;我帮大家罗列一下&#xff1a; 网络&#xff1a;TCP、HTTP mysql&#xff1a;索引应用、索引结构、隔离级别、最左匹配 redis…

图小灵的多线程

进程 简而言之,一个运行的程序就叫作进程 管理进程,要先将进程使用类/结构体,表示各个属性 为了后续增删改查,需要将进程通过数据结构串联起来 系统中有一个结构体专门用来表示进程的属性,叫作PCB(进程控制块) 一个进程使用一个或者多个PCB来表示 系统会使用类似于双向链…

pycharm-git 配置(1)

1.安装git2.pycharm 中配置git 插件 弹出Git版本号&#xff0c;即配置成功。3.创建本地仓库 VCS->VCS operations->create repository->设置本地目录 左下角可以看到git本地仓库git可以看到push,commit。 4.配置远方仓库&#xff0c;此时确保git上是有这个项目…

在开发板上运行spidev_test报错:“./spidev_test: line 2: h: not found”

问题 今天交叉编译spidev_test后&#xff0c;放到开发板上运行报错&#xff1a;“./spidev_test: line 2: h: not found” 原因 编译方式不同&#xff0c;生成的是64为程序&#xff0c;应该生成32位的程序。 解决办法&#xff1a; 修改为直接用命令编译&#xff0c;生成…

酷开科技抓住“客厅经济”发展的机遇,不断对酷开系统升级赋能

酷开科技抓住“客厅经济”发展的机遇&#xff0c;不断对酷开系统升级赋能&#xff0c;打造新的生活场景&#xff0c;满足消费者的不同生活需求&#xff0c;酷开科技的产品和服务让消费者能够在家庭空间中享受到更加智能、便捷和温馨的时光。同样凭借更加包容、开放的生态体验&a…

贪吃蛇项目实战——学习详解

前言:贪吃蛇是一个经典的游戏&#xff0c; 本节将使用c语言实现一个简易的的贪吃蛇小游戏。 本节内容适合已经学完c语言还有数据结构链表的友友们。 我们要实现的贪吃蛇是在控制台进行游戏的。 它运行起来是这样的&#xff1a; 贪吃蛇 那么&#xff0c; 为了实现这个小游戏。 我…

添加Redis缓存

1.缓存查询 在service层Impl文件中&#xff0c;进行查询时优先向Redis中查数据&#xff0c;查到就查到了&#xff0c;没有查到向mysql数据库中查&#xff0c;查到之后不先返回&#xff0c;而是先将数据存到数据库&#xff08;缓存&#xff09;,在再返回数据。 1.1 代码实现(缓…

鸿蒙端云一体化开发--调用云函数--适合小白体制

如何实现在端侧调用云函数&#xff1f; 观看前&#xff0c;友情提示&#xff1a; 不知道《如何一键创建端云一体化模板》的小白同学&#xff0c;请看&#xff1a; 鸿蒙端云一体化开发--开发云函数--适合小白体制-CSDN博客 实现方法&#xff1a; 第一步&#xff1a;添加依赖 …

98%的企业与被入侵的第三方有关联,如何有效的防止入侵

技术供应链漏洞使威胁参与者能够以最小的努力扩展其运营&#xff0c;在导致第三方入侵的外部B2B关系中&#xff0c;75%涉及软件或其他技术产品和服务&#xff0c;其余25%的第三方违规涉及非技术产品或服务。 入侵通常需要几个月或更长的时间才能公之于众&#xff0c;受害者可能…

【Leetcode】string类刷题

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;Leetcode刷题 目录 1.仅反转字母2.字符串中第一个唯一字符3.验证回文串4.字符串相加5.反转字符串I I6.反转字符串中的单词III7.字符串相乘8.把字符串转换为整数 1.仅反转字母 题目链接&#xff1a;…

C++:模板详解

模板详解 1.函数模板1.概念2.语法3.原理4.实例化1.隐式实例化2.显示实例化 5.匹配原则 2.类模板1.格式2.实例化 3.非类型模板参数注意点 4.特化1.概念2.函数模板特化1.前提2.语法说明3.示例 3.类模板特化1.全特化2.偏特化/半特化3.选择顺序 4.按需实例化 5.模板的分离编译1.分离…

开发一个农场小游戏需要多少钱

开发一个农场小游戏的费用因多个因素而异&#xff0c;包括但不限于游戏的规模、复杂性、功能需求、设计复杂度、开发团队的规模和经验&#xff0c;以及项目的时间周期等。因此&#xff0c;无法给出确切的费用数字。 具体来说&#xff0c;游戏的复杂程度和包含的功能特性数量会直…

巧用断点设置查找bug【debug】

默认设置的断点&#xff0c;当代码运行到断点处MCU就会被挂起&#xff0c;从而停在断点处。 但在某些情况下&#xff0c;如调试FCCU时&#xff0c;如果设置断点&#xff0c;MCU停下后将会导致 FCCU 配置WDG超时。或在调试类似电机控制类的应用时&#xff0c;不适当的断点会导 致…

镜舟科技荣获金科创新社 2024 年度金融数据智能解决方案奖

近日&#xff0c; 镜舟科技凭借领先的金融实时数仓构建智能经营解决方案&#xff0c;在“金科创新社第六届金融数据智能优秀解决方案评选”活动中&#xff0c;成功入选“数据治理与数据平台创新优秀解决方案”榜单。 金科创新社主办的“鑫智奖”评选活动&#xff0c;旨在展示…

详解IIC通信协议以及FPGA实现

一、IIC简介 IIC也称为I2C&#xff08;Inter-Integrated Circuit&#xff09;由飞利浦公司&#xff08;现在的恩智浦半导体&#xff09;开发&#xff0c;是一种用于短距离数字通信的串行&#xff0c;同步&#xff0c;半双工通信接口协议&#xff1b;传输在标准模式下可以达到10…

python:元组,字符串,切片

一、元组# 列表可以修改内容&#xff0c;元组可以不被修改 # 在程序内封装数据&#xff0c;不希望数据被篡改&#xff0c;所以使用元组 # 语法&#xff1a; 不限制类型 # 定于元组的字面量&#xff1a; &#xff08;元素&#xff0c;元素&#xff0c;元素.....&#xff09; # 定…