06-伪类和伪元素

news/2024/10/6 14:23:37

01-伪类

1.1 元素状态的概念

image

代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div:hover {color: red;}</style>
</head>
<body><div>div1</div><div>div2</div><div>div3</div>
</body>
</html>
image

鼠标移动上去的时候会变成红色

1.2 常见的伪类

image-20240609204003438

02-结构伪类

2.1 常用结构伪类

2.2 nth-child(1)

父元素中的第1个子元素

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul li:nth-child(1){color: red;}</style></head><body><ul><li>元素1</li><li>元素2</li><li>元素3</li><li>元素4</li></ul></body>
</html>

image-20240609212824993

2.3 nth-child(2n)

n表示任意正整数和0

2.3.1 取偶数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul li:nth-child(2n){color: red;}</style>
</head>
<body><ul><li>元素1</li><li>元素2</li><li>元素3</li><li>元素4</li></ul>
</body>
</html>

image-20240609213002612

2.3.2 取奇数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul li:nth-child(2n +1){color: red;}</style>
</head>
<body><ul><li>元素1</li><li>元素2</li><li>元素3</li><li>元素4</li></ul>
</body>
</html>

image-20240609213106327

2.3.3 取前几个

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul li:nth-child(-n +3){color: red;}</style>
</head>
<body><ul><li>元素1</li><li>元素2</li><li>元素3</li><li>元素4</li></ul>
</body>
</html>

image-20240609213156190

2.3.4 nth-last-child

用法和nth-child一样的,只不过是倒过来了而已

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul li:nth-last-child(-n +3){color: red;}</style>
</head>
<body><ul><li>元素1</li><li>元素2</li><li>元素3</li><li>元素4</li></ul>
</body>
</html>

image-20240609214145356

2.4 nth-of-type和nth-child的区别

image-20240609214307319
代码示例说明
需求: 取倒数第3个div元素

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box > div:nth-child(3) {color: red;}</style>
</head>
<body><div class="box"><div>div1</div><div>div2</div><div>div3</div><div>div4</div><div>div5</div></div>
</body>
</html>

image-20240609214759198
如果中间有别的元素该如何取?还是上述代码是取不到的
修改代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box > div:nth-of-type(3) {color: red;}</style>
</head>
<body><div class="box"><div>div1</div><p>p元素</p><span>span元素</span><div>div2</div><div>div3</div><div>div4</div><div>div5</div></div>
</body>
</html>

image-20240609215140641

2.5 否定伪类

image-20240609215517774
代码示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>ul :not(.yfc) {color: red;}</style>
</head>
<body><ul><li class="item">元素1</li><li class="item">元素1</li><li class="yfc">元素1</li><li class="item">元素1</li></ul>
</body>
</html>

image-20240609215557802

03-伪元素

image-20240609204042289

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* a元素的链接从来没有被访问过 */a:link {color: red;}/* a元素被访问过来的颜色 */a:visited {color: green;}/* a元素聚焦 */a:focus {color: orange;}/* a元素鼠标放在上面 */a:hover {color: aqua;}/* 点下去来,还没有松手 */a:active {color: blue;}</style>
</head>
<body><a href="http://www.mi.com">小米</a>
</body>
</html>

03-伪元素

默认情况下,伪元素是行内非替换元素[该元素设置宽高是无效的]

3.1-常见伪元素

image-20240609204736215

3.2-first-line

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {color: red;width: 500px;background-color: blue;font-size: 20px;}.box::first-line {font-size: 30px;color: orange;}</style>
</head>
<body><div class="box">独库公路的春夏秋冬是立体的,从沟谷里的野花烂漫,到山坡上的云杉阴翳清凉,再到半山腰荒芜的乱石穿空,最后升至峰巅的白雪皑皑,一眼便可阅尽所有时令,犹如吃快餐般便捷。而独库公路的季节又分明被拉长了,散布在风格迥异的景色之中,仿佛是上了一桌满汉全席,让你慢慢去品味</div>
</body>
</html>

控制第一行的样式,第一行的长度它会自己判断
image-20240609204844113

3.3-first-letter

对首字母进行设置

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {color: red;width: 500px;background-color: blue;font-size: 20px;}.box::first-line {font-size: 30px;color: orange;}.box::first-letter {font-size: 50px;color: black;}</style>
</head>
<body><div class="box">独库公路的春夏秋冬是立体的,从沟谷里的野花烂漫,到山坡上的云杉阴翳清凉,再到半山腰荒芜的乱石穿空,最后升至峰巅的白雪皑皑,一眼便可阅尽所有时令,犹如吃快餐般便捷。而独库公路的季节又分明被拉长了,散布在风格迥异的景色之中,仿佛是上了一桌满汉全席,让你慢慢去品味</div>
</body>
</html>

image-20240609204940031

3.4-before和after

image-20240609205017772

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box::before {content: "123";color: green;font-size: 30px;}.box::after {content: "456";color: orange;font-size: 40px;}</style>
</head>
<body><div class="box">我是box</div>
</body>
</html>

image-20240609205047024

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box::before {content: "123";color: green;font-size: 30px;}.box::after {content: "456";color: orange;font-size: 40px;}.item::after {content: url("./images/hot.svg");position: relative;left: 5px;top: 2px;}</style>
</head>
<body><div class="box item">我是box</div>
</body>
</html>

image-20240609205121220

3.5-content不能省略

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1::after {content: "";display: inline-block;width: 8px;height: 8px;background-color: blue;}</style>
</head>
<body><div class="box1">box1</div>
</body>
</html>

image-20240609205223939
如果把content省略了,这个框就直接没有了

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

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

相关文章

05-常用选择器

CSS常用选择器01 标签选择器 一般用来给所有元素做一些通用性的设置(效率比较低,尽量不要使用) <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="…

鸿蒙前端开发3-ArkTS语言基本语法

官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-basic-syntax-0000001504650057-V2 1.基本语法 装饰器   用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定…

04-2个常用的文本属性

2个常用的文本属性01 text-decoration <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" c…

线程池的原理与C语言实现

这篇博客介绍了一个简单的线程池的C语言实现,详细解释了代码结构和工作流程,并附上了流程图。V1.0 2024年6月11日 发布于博客园目录 目录目录线程池原理线程池是什么线程池解决的问题动态创建子线程的缺点线程池相关接口线程池相关结构体struct task 任务节点线程池接口init_…

04- 2个常用的文本属性

2个常用的文本属性01-text-decoration点击查看代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="view…

【Docker系列】无法下载docker镜像的解决方法

近期因为网络问题,可能会遇到下载docker镜像失败的情况,可以尝试以下二种方法,来解决无法下载镜像的问题 如果会终端命令操作,建议使用 方法二、使用阿里云docker仓库下载镜像,因为国内仓库下载速度快方法一、改host文件指定域名的IP 如果拉取镜像遇到下面的错误: docker…

flutter 调用环信sdk 实现即时通讯

首先下载依赖 导包import package:im_flutter_sdk/im_flutter_sdk.dart;登录import package:flutter/material.dart;import package:test1/Do/UserDao.dart; // Make sure this path is correctimport package:test1/page/logined.dart;import register.dart; // Import your R…

mormot.core.threads.pas unit

mormot.core.threads.pas unit Purpose: Framework Core Multi-Threading Support - this unit is a part of the Open Source Synopse mORMot framework 2, licensed under a MPL/GPL/LGPL three license - see LICENSE.md 目的:框架核心多线程支持本单元是开源Synopse mORMo…