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

ops/2024/10/19 7:35:52/

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


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

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

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

目录

伪元素选择器

        (1)初始伪元素选择器

        (2)伪元素的语法规范

        (3)各个伪元素选择器

        【1】first-letter

        【2】first-line

        【3】selection

        【4】placeholder

        【5】before + after


伪元素选择器

        (1)初始伪元素选择器

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

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

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

        (2)伪元素的语法规范

语法规范:

css">/* 在选择器之后加上:: */
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代码:

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代码:

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代码:

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代码:

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代码:

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代码:

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

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


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


http://www.ppmy.cn/ops/4130.html

相关文章

创建线程池的例子

public class ExecutorTest {public static void main(String[] args) {//创建线程池的5种方式&#xff1a; // Executors.newFixedThreadPool();//创建固定线程数的线程池 // Executors.newSingleThreadExecutor();//创建单线程的线程池 // Executors.ne…

Python基于Django的微博热搜、微博舆论可视化系统

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用.NET框架的Encoder方法进行图像压缩保存(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用.NET框架的Encoder方法进行图像压缩保存&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机通过NEOSDK进行图像压缩的技术背景代码分析第一步&#xff1a;先引用对应的NET框架的DLL文件第二步&#xff1a;在回调函数里…

代码随想录算法训练营第四十七天|leetcode115、392题

一、leetcode第392题 本题要求判断s是否为t的子序列&#xff0c;因此设置dp数组&#xff0c;dp[i][j]的含义是下标为i-1的子串与下标为j-1的子串相同字符的个数&#xff0c;可得递推公式是通过s[i-1]和t[j-1]是否相等区分。 具体代码如下&#xff1a; class Solution { publ…

区块链与数字身份:Web3的身份验证革命

随着数字化时代的发展&#xff0c;个人身份认证在日常生活和商业活动中变得越来越重要。然而&#xff0c;传统的身份认证方式存在着许多问题&#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;所有办公室名字&#…

【网站项目】学习资料销售平台 小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

解决端口是0问题,解决mysql无法看到3306端口监听

mysql> show global variables like port; 是0 打开目录 /etc/mysql/mysql.conf.d 修改这段话为 [mysqld] # # * Basic Settings # user mysqlpid-file /var/run/mysqld/mysqld.pidsocket /var/run/mysqld/mysqld.sockport 3306datadir …