:aftr和 :: after区别,顺便谈一谈CSS的伪类和伪元素

2023-10-26

在搞小程序的时时候会用到人家的组件button,人家弄了这个组件必然会设置一些默认值,比如边框。要想把这个边框弄没,就要用一下button::after这个来处理一下。
类似下面这样:

button::after {
  border: none
}

这时候::after是什么东西?怎么起到作用的?还有一个:after这个是什么东西,之间有什么联系?

其实在使用的方面上其实两者差不多,我在同一个项目中两者都看到,甚至有的两者之间的内容是相同的。都是在指定的选择器后添加输你的 :: after(或:after)你定义的CSS样式,使其生效。after就是在你加载后再添加,同理:before 和 :: before也是这样的,只不过是在选择器在前加。

但是其实不一样,首先 :表示的是伪类 pseduo-classes ,:: 表示的是为元素 pseduo-elements。在CSS1CSS2两者定义是没区别的,出了个CSS3标准要区分开两者,所以你看有的代码用 :和::的都有,两者的区别,首先看一下官方英文文档感受一下定义:
伪类 pseduo-classes:
Pseudo-classes are simple selectors that permit selection based on information that lies outside of the document tree or that can be awkward or impossible to express using the other simple selectors. They can also be dynamic, in the sense that an element can acquire or lose a pseudo-class while a user interacts with the document, without the document itself changing. Pseudo-classes do not appear in or modify the document source or document tree.

伪元素:pseduo-elementd:
Similar to how certain pseudo-classes represent additional state information not directly present in the document tree, a pseudo-element represents an element not directly present in the document tree. They are used to create abstractions about the document tree beyond those provided by the document tree. For example, pseudo-elements can be used to select portions of the document that do not correspond to a document-language element (including such ranges as don’t align to element boundaries or fit within its tree structure); that represent content not in the document tree or in an alternate projection of the document tree; or that rely on information provided by styling, layout, user interaction, and other processes that are not reflected in the document tree.

还有就是我看了一下CSS官方文档,没有看见:after伪类的说明,到是伪元素的::after有专门的example,其他的一些文档比如菜鸟什么的虽然有 :after 但是 归类为伪元素,甚至同一个页面有:after和::after混着来的。如下图,有的时候你看到的:after和::after是一个意思,都表示为伪元素,只不过是一个是之前的没有进行区分的CSS2甚至CSS1的规则,有的是区分伪类和伪元素的CSS3规则。

在这里插入图片描述
[CSS官方文档]:(https://www.w3.org/TR/selectors-4/#pseudo-classes)
自己的公众号:我是坑货
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

:aftr和 :: after区别,顺便谈一谈CSS的伪类和伪元素 的相关文章

  • 多线程与高并发编程进阶(二)

    前言 前文多线程与高并发入门中 已经介绍了多线程编程的目的以及实际应用中可能会遇到的问题 本文接着叙述关于多线程并发机制的底层原理 volatile以及synchronized 一般来说 Java代码从编写到最后的执行会经历以下的过程 Ja
  • 二叉树的基本操作(1)

    结点类型 struct TreeNode char val struct TreeNode l r TreeNode int x val x l nullptr r nullptr 新建一个类 名为solution 相关函数都放在这里面调用
  • 分类预测

    分类预测 MATLAB实现LSSVM 最小二乘支持向量机 分类 目录 分类预测 MATLAB实现LSSVM 最小二乘支持向量机 分类 最小二乘法 最小二乘支持向量机 程序设计 主程序 子程序 拓展知识 参考资料 致谢 最小二乘法 最小二乘法

随机推荐

  • 利用python实现163邮箱邮件的自动删除

    问题 163邮箱收信箱大量邮件无法批量删除 解决思路 利用python控制鼠标实现邮件自动删除 利用python的pyautogui实现鼠标的控制 import pyautogui as pg screenWidth screenHeigh
  • 海洋浮标数据显示系统

    R语言是现今世界上数据处理和可视化领域非常流行的数据处理语言 其类似于matlab 是开源的 功能强大的数据处理工具 Oracle是企业级的数据库 能够存储大量数据并且方便管理和使用 本文主要是基于R与oracle对美国国家海洋与大气管理局
  • 老师给我的指点——深刻剖析了我

    今天上午找导师有事 导师坐下来和我聊了聊 他说 就他的观察 我有以下几个方面的问题 一 感觉我在做事上总是欠缺那么一点东西 就是说 给我的事情 我是能做完也让别人没法批评我 但是总感觉欠缺一点东西 相比师妹 每次给任务1分可以做完1 2分
  • 函数式编程实例WordCount(林子雨老师慕课代码) 由于文件引入的问题之前报过Exception in thread “main“ java.lang.NullPointerExcept(已解决)

    函数式编程实例WordCount 数据文件目录 文件内容 刚开始在写文件的时候以为val dirfile new File data 这一行写的是具体文件 于是我写成了这样 运行之后始终给我报空指针异常 后面仔细研究文件 原来val dir
  • Linux 系统启动过程

    简介 Linux 系统启动过程大致分为5个阶段 1 内核的引导 2 运行 init 3 系统初始化 4 建立终端 5 用户登录系统 内核引导 计算机通电后 首先会进行 BIOS 开机自检 然后根据BIOS中设置的启动设备 一般是硬盘 来启动
  • Go开发 之 单端口转发到多个端口

    文章目录 1 背景 2 正题 3 源码 4 配置 5 效果 1 背景 运维和我提到这个需求的时候 我先是一愣 第一时间想到的是nginx 然后运维说nginx没有这个功能 之所以选择用go语言 主要两点 静态语言性能够用 不用部署其它包 可
  • 【linux操作系统知识】虚拟地址中:.data段和.bss段

    虚拟地址中 data段和 bss段 data段 为数据段 用来存放程序中已初始化并且初始化不为0的全局变量和静态局部变量 数据段属于静态内存分布 可读可写 bss段 称为未初始化段 用来存放未初始化或者初始化为0的全局变量和静态局部变量 b
  • MATLAB数据分析

    MATLAB数据分析 在实际应用中 经常需要对各种数据进行统计处理 以便为科学决策提供依据 这些统计处理包括求数据序列的最大值和最小值 和与积 平均值和中值 累加和与累乘积 标准方差和相关系数 排序等 MATLAB提供了相关的函数来实现 目
  • flutter实现可缩放可拖拽双击放大的图片功能

    flutter drag scale 可缩放可拖拽的功能 可实现图片或者其他widget的缩放已经拖拽 并支持双击放大的功能 我们知道官方提供了双击缩放 但是不支持拖拽的功能 我们要实现向百度地图那样可以缩放又可以拖拽的功能 官方的方法就不
  • unicloud 发布后小程序提示连接本地调试服务失败,请检查客户端是否和主机在同一局域网下

    1 hbuildx中小程序控制台切换连接方式 连接云端云函数 2 本地调试的话 连接本地云函数 并确定是否启动
  • 在eclipse的project explorer不小心删除了servers文件夹解决办法

    在eclipse的project explorer不小心删除了servers文件夹 解决办法 在Servers中删除tomcat 重新关联link一下就恢复了 但是得把build path的旧的server文件夹remove 再重新添加
  • 我们研究了853场世界杯比赛,发现了这几条稳赔不赚的竞猜攻略

    本文转载自大数据 ID hzdashuju 导读 世界杯开赛以来 据数据叔不完全统计 身边有66 6 的小伙伴上了天台 其中22 2 的人买了阿根廷赢 22 2 的人买了德国赢 还有22 2 的人买了巴西赢 剩下那33 4 的人 总是在问数
  • Unity性能优化

    Unity性能优化专栏第一期 目录 Unity性能优化专栏第一期 橙子前言 一 性能优化概念 Unity 3D 游戏优化瓶颈归根结底是开发过程中内存分配和使用不佳的结果 1 它们承担了它们这个级别不应该有的压力 2 它们没有受到应有的尊重
  • Arduino串口通信

    文章目录 通信类型 Arduino串口通信 硬串口 软串口 通信类型 通信是用来在不同电子设备之间交换数据用的技术 其实就是要实现不同电子设备之间的 通讯对话 Arduino串口通信 Arduino采用USART通信模式 可以有硬串口 软串
  • unity中动画控制器基础知识

    动画控制器的创建 1 在工程视图里 Create Aniamtor Contorller动画控制器 命名 双击 这时会在Animator视图中显示默认有三种状态 Entry 进入状态 Any State 任意状态 Exit 退出状态 如何添
  • OpenWRT 分流DNS的设置

    文章出处 OpenWRT 分流DNS的设置 Issue 57 luckyyyyy blog 我自己根据实际需要基于上方的链接内容进行了相关补充 OpenWRT配置IPv6的方法参考如下文章 OpenWRT IPv6 NAT配置 目前还是有许
  • servlet(二)文件的上传

    servlet实现文件的上传 文件上传是一个web应用常见的功能 比如 QQ头像 就使用了上传 邮箱中也有附件的上传和下载功能 OA系统中审批有附件材料的上传 1 1前端需要有个form表单标签 method post请求 因为post请求
  • 【MATLAB】最短路径Dijkstra算法

    目录 1 Dijkstra算法 1 1使用范围 1 2算法思路 1 3实例 2 代码 2 1dijstra函数 2 2调用函数 1 Dijkstra算法 1 1使用范围 bullet 寻求从一固定顶点到其余各点的最短路径
  • 实用Javascript 传值, 数据验证, 事件触发总结

    实用Javascript 传值 数据验证 事件触发总结 1 和JSP传值问题 1 普通提交form 的数据验证传值 html页面输入
  • :aftr和 :: after区别,顺便谈一谈CSS的伪类和伪元素

    在搞小程序的时时候会用到人家的组件button 人家弄了这个组件必然会设置一些默认值 比如边框 要想把这个边框弄没 就要用一下button after这个来处理一下 类似下面这样 button after border none 这时候 a