【前端就业课 第一阶段】HTML5 零基础到实战(四)伪类与伪元素

注意:手机(APP)打开,内容显示更佳,不会的私聊博主即可
想要拿代码或加入学习计划(** 博主会监督你并且教你写文章 **)的拉到最下面(PC端Web打开)加博主即可,目录也在最下面。

参加1_bit博主前端学习计划发文时再头部记得机上本专栏链接,示例如下:

我已加入 1_bit 博主的免费前端 站起来 学习计划,专栏链接:https://blog.csdn.net/a757291228/category_11609526.html

一、什么是伪类

1.1 伪类基础使用

👸小媛:这一节咱们讲啥?

🐶1_bit:这一节咱们先讲伪类。

👸小媛:什么是伪类?

🐶1_bit:这个知识点有点抽象,伪类指给当前整个 html 代码已经存在的元素(标签)模拟添加一个类样式来实现一种效果。

👸小媛:果然很抽象,这不是跟之前的类样式一样吗?

🐶1_bit:这两者还是有一点区别的,例如我们想使 body 主体内容中的第一个 p 标签颜色为红,那么就可以这样写代码。

<!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>1_bit 的前端实战课程 伪类 伪元素</title><style>p:first-child {color: red}</style>
</head>
<body><p>第1个段落 这个段落刚好是第一个为段落标签,则生效</p><span>span标签内容</span><p>第2个段落</p><span>第二个span标签内容</span>
</body>
</html>

👸小媛:那个 p:first-child 是什么?

🐶1_bit:这是伪类的写法,例如“标签:伪类”,代码中 first-child 指的是第一个元素,标签如果是 p 那意思就是 p 的第一个元素,后面的 first-child 就是“指给当前整个 html 代码已经存在的元素(标签)模拟添加一个类样式来实现一种效果”。

👸小媛:还是不清楚。

🐶1_bit:那我再给你说说吧。按照之前学习,我们知道了如何创建一个类样式,也就是如下代码形式。
在这里插入图片描述
🐶1_bit:这样的话就需要当前 p 元素去调用这个样式,而使用伪类则不需要这样写。

👸小媛:奥,这就是这个“伪”的意思吗?

🐶1_bit:哈哈哈,可以这样说,并且伪类是已经定义好了的(你可以理解为名称)。对了,我们还可以在外面加一个 div,包裹起来由于 div 是一个容器,也可以对 p 元素用伪类生效。

👸小媛:那 div 是啥东西?没搞明白。

🐶1_bit:div 是一个容器,可以对整个 html 元素进行区域划分,例如一个页面中如果有很多个不同的内容,有标题、最新内容、最热内容、推荐用户,其实这些不同区域的内容就可以使用 div 进行分隔,随后使用 css 样式对其进行排版,使其在页面上“摆放”在不同位置。

👸小媛:奥,我明白了,所以 div 就是用于对整体进行区域划分的?并且通过div 使这一块的元素摆放在页面的不同位置?

🐶1_bit:对的,是这个意思。div 还可以进行嵌套,就是一个 div 中又包含一个 div,也可以包含多个,因为“一块”内容也是需要进行排版,也分为很多区域,例如下面这个展示。

👸小媛:懂了,具体的还没开始学对吧?你就是告诉我 div 的作用。

🐶1_bit:是的,所以之前那个用 div 的那个示例,只是介绍一下使用 div 包裹起来也没啥问题,依旧生效。

👸小媛:明白了。

🐶1_bit:当然也可以直接使用css类进行调用也行,例如下面示例。
在这里插入图片描述
👸小媛:直接在标签名后面一个小数点就是类名了对吧?

🐶1_bit:是的。

👸小媛:那我明白了,不过还有一个问题,就是 first-child 这些伪类是固定的吗?还有哪些呢?

1.2 超链接伪类

🐶1_bit:伪类还有挺多的,下面介绍几个较为常用的伪类,就用超链接 a 标签增加效果的伪类为例;例如设置超链接未访问时颜色、已访问时颜色、鼠标滑过颜色、已选中后颜色为例。未访问颜色的设置使用 link 伪类、已访问使用visited、鼠标滑过使用hover、已选中使用active。如下示例为演示demo。
在这里插入图片描述

<!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>1_bit 的前端实战课程 伪类 伪元素</title><style>a:link{color: red}a:visited{color:blue}a:hover{color:green}a:active{color:orange}</style>
</head>
<body><a href="http://www.baidu.com">这是个链接</a><a href="http://www.csdn.com">这也是个链接</a>
</body>
</html>

在这里插入图片描述
👸小媛:哇,感觉很舒服呀,这样我做出来的一个网页导航也能美美哒的了。

🐶1_bit:是的,但是你需要注意一个点,在使用以上说明的这几个伪类时,我们需要注意 hover 必须被写于 link 和 visited 之后,否则无法生效哟,还有就是 active 必须放在 hover 之后也才生效,这点一定要注意。

👸小媛:明白了。

1.3 其他伪类

🐶1_bit:我们在之前内容中有使用过列表标签 ul,那如何使用伪类给列表的第一项元素标记值呢?这个也很简单,查看以下示例。
在这里插入图片描述

<!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>1_bit 的前端实战课程 伪类 伪元素</title><style>ul li:first-child{color: orangered;}</style>
</head>
<body><ul><li>第一项值</li><li>第二项值</li><li>第三项值</li></ul><ul><li>第一项值</li><li>第二项值</li><li>第三项值</li></ul>
</body>
</html>

在这里插入图片描述

👸小媛:原来如果指定某个元素下的元素只需要在他们之家加一个空格就可以了呀。

🐶1_bit:是的,咱们再看一个示例将会更加清晰这种方式。

<!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>1_bit 的前端实战课程 伪类 伪元素</title><style>ul li:first-child{color: orangered;}p a:first-child{color: brown;}</style>
</head>
<body><ul><li>第一项值</li><li>第二项值</li><li>第三项值</li></ul><ul><li>第一项值</li><li>第二项值</li><li>第三项值</li></ul><p>这是个p标签</p><p>这是个p标签</p><p>这是 p 元素内容<a href="http://www.baidu.com">这是 p 元素下的 a 标签</a></p></body>
</html>

在这里插入图片描述
在这里插入图片描述

👸小媛:哇,可以这样呀,我明白了。

🐶1_bit:还可以给第一个 li 元素中的某个标签一个样式,例如如下示例。
在这里插入图片描述
🐶1_bit:结果如下。
在这里插入图片描述
👸小媛:又解锁了一个新知识,了解了。

🐶1_bit:伪类还有很多,咱们可以通过这个链接查看其它的伪类 点击查看

二、伪元素

🐶1_bit:现在咱们开始讲一下什么是伪元素。

👸小媛:还有伪元素呀?

🐶1_bit:对的,伪元素和伪类的理解概念类似,伪元素就是指模拟一个元素来实现某种效果。例如先看一个简单的示例,咱们在一句话中,需要给开头的第一个字标红,这个时候常规的写法如下。
在这里插入图片描述
👸小媛:这个我懂,那伪元素呢?

🐶1_bit:伪元素就很简单了,如下示例就可以直接使第一个字符编程绿色了。
在这里插入图片描述
🐶1_bit:伪元素的写法就是 标签::伪元素,随后即可对对应的样式进行生效。

👸小媛:哇,真的好方便呀。

🐶1_bit:伪元素还可以使用 first-line(第一行)、before(在什么之前)、after(在什么之后)等,例如如下示例。
在这里插入图片描述
🐶1_bit:以上示例中,第一个p标签的文字为绿色、第一行(first-line)p标签的颜色为红色、在标签之后(after)添加文本,其中 content 就是文本属性,添加的文本是“在后面添加了文本”、最后一个为 before在什么之前添加文本。这些伪元素还可以给予样式,颜色大小等,最终的演示效果如下:
在这里插入图片描述
👸小媛:哇,原来是这么回事,我明白了。

🐶1_bit:这两节的 css 相关内容咱们就说道这,现在有了基本的css知识点在之后的学习中会更加的舒服,咱们在之后还会开启一个CSS学习的阶段届时将会更好的学习CSS 相关的内容,随后就可以制作比较精美的网页了。

👸小媛:迫不及待了。

目录

【前端就业课 第一阶段】HTML5 零基础到实战(九)列表
【前端就业课 第一阶段】HTML5 零基础到实战(八)表单详解
【前端就业课 第一阶段】HTML5 零基础到实战(七)文字及图片样式
【前端就业课 第一阶段】HTML5 零基础到实战(六)表格详解
【前端就业课 第一阶段】HTML5 零基础到实战(五)基础元素
【前端就业课 第一阶段】HTML5 零基础到实战(四)伪类与伪元素
【前端就业课 第一阶段】HTML5 零基础到实战(三)一篇文CSS基础入门
【前端就业课 第一阶段】HTML5 零基础到实战(二)超链接
【前端就业课 第一阶段】HTML5 零基础到实战(一)基础代码结构详解

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

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

相关文章

编写第一个响应式页面

2019独角兽企业重金招聘Python工程师标准>>> 本文为大家讲解如何使用一种科学的方法实现网页设计&#xff0c;从原理上搞清楚什么是响应式设计&#xff0c;并实现一个简易的响应式设计框架&#xff0c;以此为基础&#xff0c;编写出第一个响应式页面。 不知道现在大…

container 的背后

如果要看laravel的单个功能的源代码&#xff0c;首先去找对应得ServiceProvider,例如加密功能hash,则按一下步骤查看源代码&#xff1a; HashServiceProvider.php(主要是看register方法) singleton()方法就是将BcryptHasher这个类实例化一次&#xff0c;然后在哪里都可以用&…

ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换

大家都熟知,MODIS NDVI数据的处理一般是在MRT中进行的,但熟不知ArcGIS中也可以实现投影变换个数据格式的转换,本文就以MOD13Q1.A2020001.h26v05.006.2020018002618.hdf这一景影像为例,实现将正弦曲线投影转换为Albers等积投影,将hdf格式转为tif。 ArcGIS python批处理代码…

开源项目千千万,如何发现好项目

视频来自 OSSInsight 推特。不知道大家听说没有 PingCAP 推出的一个 OSSInsight.io 网站&#xff0c;可以根据 GitHub 上的事件&#xff0c;提供开源软件洞察&#xff0c;这个项目也开源在 GitHub[1] 上。它可以提供以下方面的洞察能力&#xff0c;有点类似于 Google Analytics…

Git之回退已经提交到远程仓库的代码(已经push的代码)

1 问题 git 把当前的修改已经push到远程仓库&#xff0c;现在需要回退这个远程提交 2 解决办法 1&#xff09;、我们用git log命令找到commit Id d6434e39e842a40b79119b2b88e76dd1498f8654是我最后一次提交&#xff0c; 然后我们现在需要回退到145c4fc7f237176acba1bca515e9…

构建微型数据中心——在laptop上运行Rancher

对于开发人员而言&#xff0c;他们的最终目标是拥有自己的数据中心&#xff08;data center&#xff09;&#xff0c;使他们能够在贴近真实情况的副本上测试他们的服务。然而&#xff0c;开发人员的开发过程中却充满了妥协。因为&#xff0c;数据要么是个简化集&#xff0c;要么…

1、RN跨平台开发——环境搭建

了解React NativeReact Native使你能够在Javascript和React的基础上获得完全一致的开发体验&#xff0c;构建世界一流的原生APP。React Native着力于提高多平台开发的开发效率 —— 仅需学习一次&#xff0c;编写任何平台。(Learn once, write anywhere)。Facebook已经在多项产…

【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换

由于论文的需要,将MODIS NDVI数据进行投影变换和格式转换,具体操作可以参照:《ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换》,但是该文章中的做法只能一次性实现一景影像的转换,没法批量,虽然ArcGIS中提供了Batch的方法但是需要挨个添加数据,确定输出路径等等,…

引入 DTM 以支持 ABP 的多租户多数据库场景

这篇文章分享了使用 DTM 二阶段消息模式解决 issue #10036 的方法。今天我们要使用 EasyAbp 的 Abp.EventBus.Boxes.Dtm 模块。DTM 事件箱的介绍这个模块使用了 DTM 的 二阶段消息 使得 ABP 的事件箱得以支持 多租户多数据库场景。你需要先阅读 DTM 文档&#xff0c;它将帮助你…

【前端就业课 第一阶段】HTML5 零基础到实战(六)表格详解

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

Android实战:手把手实现“捧腹网”APP(一)-----捧腹网网页分析、数据获取

“捧腹网”页面结构分析捧腹网M站地址: http://m.pengfu.com/捧腹网M站部分截图&#xff1a; 从截图中&#xff08;可以直接去网站看下&#xff09;&#xff0c;我们可以看出&#xff0c;该网站相对简单&#xff0c;一共分为四个模块&#xff1a;最新笑话、捧腹段子、趣图、神…

专题2-通过按键玩中断\第1课-中断处理流程深度剖析-lesson1

中断概念 1、中断生命周期 串口先产生一个事件&#xff0c;该事件传送到中断控制器里面&#xff0c;中断控制器会进行相应过滤&#xff0c;能通过过滤&#xff0c;那么就交给CPU去处理。 2、中断源 2440芯片手册 6410芯片手册 3、中断过滤 4、中断处理 cpu处理方式有两种&#…

mysql语法学习(一)__Instances__表

2019独角兽企业重金招聘Python工程师标准>>> ---建表 CREATE TABLE temp( id INT ); ----查询表 SELECT * FROM temp_t; ---删表 DROP TABLE temp; ---修改表名 ALTER TABLE temp_tt RENAME temp; ALTER TABLE temp RENAME TO temp_t; ALTER TABLE temp RENAME AS t…

【ArcGIS遇上Python】python批量获取栅格数据四至(top,bottom,left,right)坐标代码

上图所示为ArcGIS自带的影像数据,存放路径为C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcGlobeData\wsiearth.tif",在源中可以查看该数据的四至坐标,那么,怎样用python批量获取多个栅格数据的四至坐标呢? 参考阅读:【ArcGIS风暴】ArcGIS求一个矢量图层中多个图斑…

使用 C# 读取 zip 压缩包解压文件的方法及注意事项

从 .NET Framework 4.5 版本开始&#xff0c;微软为 .NET 类库增加了一个名为 ZipFile 的类型。该类型在 System.IO.Compression 命名空间下&#xff0c;提供创建、解压缩和打开 zip 存档的静态方法。若要在 .NET Framework 应用中使用 ZipFile 类&#xff0c;必须添加对程序集…

CenterOS x64安装serv-U

1、下载serv-Usu - root cd / cd /src wget http://www.rhinosoft.com.cn/download/14.0.1.0/SU-MFTS-Linux-64bit.zip # 64bit下载地址wget http://www.rhinosoft.com.cn/download/14.0.1.0/SU-MFTS-Linux-32bit.zip # 32bit下载地址2、解压serv-U安装包unzip SU-MF…

Android实战:手把手实现“捧腹网”APP(二)-----捧腹APP原型设计、实现框架选取

APP原型设计在APP的开发过程中&#xff0c;原型设计是必不可少的。用户界面原型必须在先启阶段的初期或在精化阶段一开始建立。整个系统&#xff08;包括它的“实际”用户界面&#xff09;的分析、设计和实施必须在原型建立后进行。 如何设计“捧腹网”APP呢&#xff1f;我们先…

【前端就业课 第一阶段】HTML5 零基础到实战(七)文字及图片详解

注意&#xff1a;手机&#xff08;APP&#xff09;打开&#xff0c;内容显示更佳&#xff0c;不会的私聊博主即可 想要拿代码或加入学习计划&#xff08;** 博主会监督你并且教你写文章 **&#xff09;的拉到最下面&#xff08;PC端Web打开&#xff09;加博主即可&#xff0c;目…

自定义桌面右键菜单

一 编写自定义右键菜单要执行的程序 只要是在 Windows 平台上的可执行应用程序即可。 二 修改注册表添加自定义右键菜单 添加位置如下&#xff1a; HKEY_CLASSES_ROOT\Directory\Background\shell 如下图&#xff1a;转载于:https://www.cnblogs.com/jRoger/articles/5799664.h…

【ArcGIS遇上Python】ArcGIS python计算长时间序列多个栅格数据的平均值

通常&#xff0c;我们需要将多个栅格求平均&#xff0c;例如&#xff0c;将一年中每个月的NDVI值加起来除以12&#xff0c;就会等到月均NDVI&#xff0c;该过程虽然在栅格计算器中可以实现&#xff0c;但是当时间序列较长时就比较费事&#xff0c;此时&#xff0c;python代码是…