详解 CSS 属性 -&n…

飞牛NAS系统盘占用过高排查与解决全记录(已有效解决) 📢NAS弹出系统盘占用过高预警?别慌!亲测解决全流程来啦~ 精准定位根源+安全迁移数据,附详细实操步骤,帮同款困扰的你高效释空间、少走弯路! 阅读详情

之前写了一篇 《详解 CSS 属性 - :before && :after》 的博文,当时自己没分清楚伪元素和伪类,所以在文章内把概念混淆了,庆幸 @riophae 兄指正了我的错误,所以今天打算好好研究下两者的区别。
首先,阅读 w3c 对两者的定义:

  • CSS 伪类用于向某些选择器添加特殊的效果。
  • CSS 伪元素用于将特殊的效果添加到某些选择器。

可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果。这里特殊指的是两者描述了其他 css 无法描述的东西。

伪类种类

详解 <wbr>CSS <wbr>属性 <wbr>- <wbr>伪类和伪元素的区别

伪元素种类

详解 <wbr>CSS <wbr>属性 <wbr>- <wbr>伪类和伪元素的区别

区别

这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。

p>i:first-child {color: red}
<<span class="hljs-title" style="box-sizing: border-box;">p>
    <<span class="hljs-title" style="box-sizing: border-box;">i>first</<span class="hljs-title" style="box-sizing: border-box;">i>
    <<span class="hljs-title" style="box-sizing: border-box;">i>second</<span class="hljs-title" style="box-sizing: border-box;">i>
</<span class="hljs-title" style="box-sizing: border-box;">p>

详解 <wbr>CSS <wbr>属性 <wbr>- <wbr>伪类和伪元素的区别 //伪类 :first-child 添加样式到第一个子元素
如果我们不使用伪类,而希望达到上述效果,可以这样做:

.first-child {color: red}
<<span class="hljs-title" style="box-sizing: border-box;">p>
    <<span class="hljs-title" style="box-sizing: border-box;">i class="first-child">first</<span class="hljs-title" style="box-sizing: border-box;">i>
    <<span class="hljs-title" style="box-sizing: border-box;">i>second</<span class="hljs-title" style="box-sizing: border-box;">i>
</<span class="hljs-title" style="box-sizing: border-box;">p>

即我们给第一个子元素添加一个类,然后定义这个类的样式。那么我们接着看看为元素:

p:first-letter {color: red}
<<span class="hljs-title" style="box-sizing: border-box;">p>I am stephen lee.</<span class="hljs-title" style="box-sizing: border-box;">p>

详解 <wbr>CSS <wbr>属性 <wbr>- <wbr>伪类和伪元素的区别 //伪元素 :first-letter 添加样式到第一个字母
那么如果我们不使用伪元素,要达到上述效果,应该怎么做呢?

.first-letter {color: red}
<<span class="hljs-title" style="box-sizing: border-box;">p><<span class="hljs-title" style="box-sizing: border-box;">span class='first-letter'>I</<span class="hljs-title" style="box-sizing: border-box;">span> am stephen lee.</<span class="hljs-title" style="box-sizing: border-box;">p>

即我们给第一个字母添加一个 span,然后给 span 增加样式。
两者的区别已经出来了。那就是:

伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。

总结

伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

:Pseudo-classes
::Pseudo-elements

但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。

基于改进YOLO11的天际线检测算法:复杂光照与恶劣天气适配实战 针对特定任务的YOLO改进,不应追求通用SOTA,而应深入理解任务的物理退化机理。Retinex对应光照模型、FAD对应散射模型、Wise-IoU对应边界不确定性——每个改进都有明确的物理解释,而非盲目的模块堆叠。时序一致性:引入轻量级RNN/Transformer模块利用视频帧间信息补偿单帧退化;多模态融合:结合红外/NIR波段穿透雾霾,与可见光特征在FAD-Neck中交叉注意力融合;自监督预训练:在海量无标注天际线视频上用MAE预训练Backbone,缓解恶劣天气标注稀缺问题。 阅读详情

相关推荐

WS2812呼吸灯效果实战:用STM32的PWM+DMA实现流畅渐变(附完整代码)

本文详细介绍了如何使用STM32的PWM+DMA技术实现WS2812呼吸灯效果,提供完整的代码示例和调试技巧。通过PWM波形编码和DMA传输机制,解决了传统IO模拟控制方式的高CPU占用问题,实现了流畅的LED渐变效果,适用于各种嵌入式开发场景。

weixin_30566063的博客 453

深入理解&nbsp;CSS&nbsp;中的行高与基线

1、基本概念 1.  基线、底线、顶线、中线CSS 中的行高与基线" /> 注意:基线(base line)并不是汉字文字的下端沿,而是英文字母“x”的下端沿。 2. 内容区 CSS 中的行高与基线" /> 内容区是指底线和顶线包裹的区域(行内元素display:inline可以通过background-color属性显示出来),实际中不一定看得到,但确实存在。内容区的大小依据fo

xingxingxx2014的专栏 752

群晖存储空间损毁不等于硬盘损坏:排查与修复实战

NAS存储系统中,物理硬盘、存储池与文件系统空间构成层级结构,任何一层出现异常都可能在管理界面汇总为“存储空间损毁”。事实上,异常断电、卷未正常挂载等软性问题也会触发这一红色告警,而存储池和硬盘SMART状态往往完全正常。理解这一机制后,用户无需急于格式化重建,通过事件日志审查、SSH确认挂载状态,再借助btrfs scrub等文件系统自愈工具,即可在数据不丢失的前提下恢复存储空间正常。该方案对家庭及小型办公环境中的群晖NAS尤其适用,特别是在供电不稳或硬盘休眠频繁的场景下,能有效规避误判风险。本文完整记录

weixin_30843121的博客 262

CSS3的rem设置字体大小

来源:W3CPLUS 在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激烈的争论着,有人说PX做为单位好,有人说EMS优点多,还有人在说百分比方便,以至于出现了CSS Font-Size: em vs. px vs. pt vs. percent这样的PK大局。不幸的是,仍然有不同的利弊,使各种技术都不太理想,但又无法不去用。真是进也难,退也难呀。 最近在学习em的

王艳 1252

Linux 之 supervisor安装和使用

运行Supervisor的后台服务,它用来启动和管理那些你需要Supervisor管理的子进程,响应客户端发来的请求,重启意外退出的子进程,将子进程的stdout和stderr写入日志,响应事件等。它是Supervisor最核心的部分。

chang995196962的博客 5545

进程间通信的七种方法实战演示!值得收藏!

线程和进程间的通讯(Inter-Process Communication, IPC)是操作系统中的一个重要概念,用于实现不同进程或同一进程中的不同线程之间的数据交换和协调。以下是几个常见的进程间通信的方式:管道、消息队列、共享内存、信号、套接字、信号量、文件映射

十年饮冰,难凉热血,保持热爱,奔赴星海! 2816

html+css

HTML+CSS标签

m0_55836496的博客 2579

汇川AM402、H3U和上位机C#ModebusTcp通讯

目录一、测试任务二、测试环境三、PLC工程1、组态配置2、ip地址、端口号 3、全局变量定义四、C#端Winform程序创建1创建主界面 2、创建子窗口 3、运行生成,界面效果4、Modebus协议说明5、Modebus操作说明六、测试1、寄存器读测试 2、MW1300寄存器的BIT位3、写寄存器测试4、PLC断电或者断网 七、工程下载连接1、PLC作为ModebusTCP端,端口号都是502,PC端上位机软件作为TcpClient去连接多台PLC。PC端读写PLC寄存器。2、PC端在有的PLC断电、断网的

panjinliang066333的博客 2万+

css&nbsp;不换行显示省略号

float:left;display:block;width:100%;height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;line-height:15px;font-size:12px;

zhuixunhebe1的专栏 810

【教程4>第6章>第26节】基于FPGA的MMSE信道估计与均衡系统实现与整体测试,并对比LS信道估计

通过前面几个章节的学习,我们完成了MMSE信道估计和均衡系统。为了进一步验证MMSE信道估计的性能,我们在系统的最后,增加一个信道估计误差计算程序。由于MMSE信道估计,其主要优势在SNR较小时提现,因此测试对比时,我们在testbench中,将SNR设置为2db。然后m值,我们不考虑一个固定值,而是一直累加,直到所设置的仿真时间结束。通过对比可以看到,MMSE信道估计性能优于LS信道估计。这样方便FPGA中的误差计算。

FPGA/MATLAB学习教程/源码/项目合作开发 1600

EMB电子机械制动系统冗余备份方案介绍

随着汽车智能化技术的快速发展,自动驾驶技术的不断升级,对车辆制动系统的可靠性和安全性提出了更高要求。根据国际汽车安全法规(如UN R13-H)的最新修订,L3级及以上自动驾驶车辆必须配备具有冗余功能的制动系统,以确保在任何单一故障发生时仍能维持部分或全部制动能力。本文重点讨论最具前瞻性的EMB(电子机械制动)系统的冗余备份设计方案

m0_59012156的博客 853

LESS&nbsp;CSS&nbsp;框架简介

简介 CSS(层叠样式表)是一门历史悠久的标记性语言,同 HTML 一道,被广泛应用于万维网(World Wide Web)中。HTML 主要负责文档结构的定义,CSS 负责文档表现形式或样式的定义。 作 为一门标记性语言,CSS 的语法相对简单,对使用者的要求较低,但同时也带来一些问题:CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,尤其对于非前端开发工程师来讲,往往会因

Commander 469

【雷达】基于matlab合成孔径雷达干涉测量(InSAR)时序分析【含Matlab源码 9037期】

合成孔径雷达干涉测量(InSAR)时序分析 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 159

CSS 的空格处理

(点击上方公众号,可快速关注)作者:阮一峰 www.ruanyifeng.com/blog/2018/07/white-space.html一、空格规则HTML 代码的空...

前端大全 1806

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

css&nbsp;禁止换行

挺好!原文地址:禁止换行">css 禁止换行作者:鲍鲍css换行用省略号代替,也可以说是长标题的文章可以使用简单的CSS样式实现省略号控制显示 代码部分:   一般的文字截断(适用于内联与块): ==============CSS================ .text-overflow{ display:block; width:31em; word-break:keep-all; whit

frank_fong的博客 1821

CSS3&nbsp;选择器——基本选择器(转…

CSS的选择器,我想大家并不会陌生吧,因为天天在使用,但对于CSS3的选择器,要运用的灵活到位,我想对很多朋友还是一定的难度,特别是CSS3中的:nth选择器。那么从现在开始我们先丢开他们版本的区别,从头一起来看看CSS选择器的运用。 CSS是一种用于屏幕上渲染html,xml等一种语言,CSS主要是在相应的元素中应用样式,来渲染相对应用的元素,那么这样我们选择相应的元素就很重要了,如何选择对应

lanyanai的专栏 801

html如何在字段前面空格怎么打,css特殊空格符号 &nbsp前面那个&怎么打

为html空格字符代码,由“&amp;+n+b+s+p+;”组成,记住最后一个分号不要忘记了。 CSS中当 white-space 属性取值为pre时,浏览器会保留文本中的空格和换行,例如: AA BB 显示效果为: AA BB CSS的 letter-spacing 属性用于设置文本中字符之间的间隔。在HTML中怎样输入空格符号(&amp;)nbsp;前边的和后边的分号都不能少,把括号去掉。HT...

weixin_29459473的博客 2650

CSS格式化版本&nbsp;属性设置

span{text-decoration:underline;} 下划线 text-decoration:line-through 删除线 p{text-indent:2em;} 文字缩进 p{line-height:1.5em;} 行间距(行高) h1{ letter-spacing:50px;} 字间隔 h1{ text-align:center/left..

痞人芳芳的博客 371

CSS&nbsp;Sticky&nbsp;Footer:&amp;nbs…

CSS的简单在于它易学,CSS的困难在于寻找更好的解决方案。在CSS的世界里,似乎没有完美这种说法。所以,现在介绍的CSS绝对底部,只是目前个人见过的方案中比较完美的吧。 先说我们为什么会使用到这个CSS底部布局解决方案: 当做一个页面时,如果页面内容很少,不足于填充一屏的窗口区域,按普通的布局,就会出现下面图片中的样子(也就是底部内容并没有位于窗口的底部,而留下了大量空白。   对于追未

tomora的专栏 750

css&nbsp;文本两端对齐

原文地址:文本两端对齐">css 文本两端对齐作者:王小抠在做表单时我们经常遇到让上下两个字段对齐的情况,比如姓名, 手机号码,出生地。这样我们就要用到 text-align, text-justify样式了。 text-align直接设为justify就行了,text-justify的情况就复杂了,可能有人对它还不熟悉。IE的取值如下: auto :允许浏览器用户代理确定使用的两端对齐法则

frank_fong的博客 425

CSS简写方法说明

简单的说,css简写就是在等效的前提下,把多句css代码简化成一句。在我看来,简写css的好处有三:一是写起来方便(就像键盘快捷键);二是简化代码;三是帮助你熟悉和深刻理解css。 闲话少说,书归正传。能够简写的css属性主要有以下几个: font 简写: font:italic small-caps bold 12px/1.5em arial,verdana; 等效于: font-s...

weixin_34268843的博客 173

css&nbsp;-布局整理二

3列左右侧固定,中间列自适应居中   body { font-family:Verdana; font-size:14px; margin:0;} #container {margin:0 auto; width:100%;} #sidebar { float:left; width:200px; height:500px; backgrou

好好工作,好好生活, 535

使用CSS&nbsp;3创建不规则图形

前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中。本篇文章的目的是为大家开启它的冰山一角。我希望这篇文章能让你对不规则图形有一个初步的了解。 现在,我们已经可以使用CSS 3 常见不规则复杂图形了(点击链接查看),如下图所示: 使用CSS创建的图形,无法内置文字或实现文字环绕效果。因此,如何实现不规则图形和文字复杂布局也成为了一个热议话题。 今天我们就来

xingxingxx2014的专栏 423

第四章 CSS样式基础

CSS是用于简化HTML标签,把关于样式部分的内容提取出来,进行单独地控制,使结构与样式分离式开发。对页面布局等的控制也更加精确,同时能够实现内容和表现的分离, 使得网站的设计风格趋向统一、维护更加容易,并且能够被多种浏览器支持。

2301_81614658的博客 1526

HTML、css、js 特殊字符(空格符号)

HTML中的 &amp; nbsp; &amp; ensp; &amp; emsp; 6种空格标记 &amp;nbsp; 不会累加的(只算1个),且该空格占据宽度受【字体】影响明显而强烈 <button type="button">提&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;交</button><br /> &amp;ensp; 占据的宽度正好是1/2个中文宽度,且基本上不受字体

AS_TS的博客 1万+

css样式中&的用法

6、&:nth-child(n)和&:nth-of-type(n):表示选择特定位置的子元素或同类型元素。在css中,“&”符号通常用于选择器中,表示选择某个元素的子元素或特定状态下的元素。3、&::before和&::after :表示在当前元素的前面或后面插入伪元素。5、&[attribute=value] :表示选择具有特定属性和属性值的元素。4、&:hover和&:focus :表示鼠标悬停或聚焦时应用的样式。1、&- :连接父元素和子元素的类名。2、&. :连接父元素和子元素的类名。

qq_43916187的博客 1万+

最全 HTML + CSS 笔记

HTML编程语言 超文本标记式编译语言 HTML语言不区分大小写 双目标签命令: <></> 单目标签命令: </> 单目标签中/可以省略 属性和属性之间用空格隔开,引号可写可不写 常见的html标签 <html></html>:包含两个子标签 <head></head>:设置基础参数信息 <body></body>:负责通知浏览器将指定内容以指定方式显示出来 <!---->:注解 &l

The_RedMaple的博客 2540

CSS入门二、美化页面元素

- CSS 是`层叠样式表` ( Cascading Style Sheets ) 的简称,有时我们也会称之为 CSS 样式表或级联样式表。CSS 也是一种标记语言。 - CSS 主要用于设置 HTML 页面中的`文本内容`(字体、大小、对齐方式等)、`图片的外形`(宽高、边框样式、边距等)以及`版面的布局和外观显示样式`。 - CSS 让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:`CSS 可以美化 HTML , 让 HTML 更漂亮,让页面布局更简单。`

李宥的博客 2307
上一篇: 利用@media&nbsp;screen实现网页布…
下一篇: css有哪些种类的选择器
mn_front
博客等级 码龄10年 11粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值