您现在的位置是:网站首页> 编程资料编程资料
CSS伪类和伪元素的区别详解详解如何使用CSS3中的结构伪类选择器和伪元素选择器解析CSS中的伪元素及其与伪类的区别详解CSS中的伪类与伪元素及二者间的区别浅谈CSS伪类与伪元素css3 伪元素和伪类选择器详解CSS伪类/伪元素选择器整理css伪类伪元素域高级选择器的介绍CSS伪类与CSS伪元素的区别及由来具体说明浅谈CSS 伪元素&伪类的妙用
2021-09-06
823人已围观
简介 伪类和伪元素不是真正意义上的html存在的类和元素,他们的存在是为了方便对状态和位置进行样式定义。具体他们之间有什么区别呢,这就是今天我们需要讨论的问题了
首先,阅读 w3c 对两者的定义:
CSS 伪类用于向某些选择器添加特殊的效果。CSS 伪元素用于将特殊的效果添加到某些选择器。可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果。这里特殊指的是两者描述了其他 css 无法描述的东西。
伪类种类这里用伪类 :first-child
和伪元素 :first-letter 来进行比较。
复制代码代码如下:
p>i:first-child {color: red}
first
second
//伪类
:first-child
添加样式到第一个子元素
如果我们不使用伪类,而希望达到上述效果,可以这样做:
复制代码代码如下:
.first-child {color: red}
first
second
即我们给第一个子元素添加一个类,然后定义这个类的样式。那么我们接着看看为元素:
复制代码代码如下:
p:first-letter {color: red}
I am stephen lee.
//伪元素
:first-letter
添加样式到第一个字母
那么如果我们不使用伪元素,要达到上述效果,应该怎么做呢?
复制代码代码如下:
.first-letter {color: red}
I am stephen lee.
即我们给第一个字母添加一个 span
,然后给 span
增加样式。
两者的区别已经出来了。那就是:
总结伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。
伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3
为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。
:Pseudo-classes::Pseudo-elements
但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。
简单的说呢:伪元素的权重比伪类高,比如一个容器的为元素和伪类都定义了同一属性,但值不一样,那么将采用伪元素的。 从规范的角度伪元素一个页面只使用一次,而伪类可以多次使用。伪元素产生新对象,在Dom中看不到,但是可以操作;伪类是Dom中一个元素的不同状态;
相关内容
- 一款基于css3的动画按钮代码教程CSS3实现带网站Logo小图标的各大网站分享按钮源码jQuery/CSS3实现超酷的分享按钮源码纯css3实现的鼠标悬停动画按钮五款漂亮的纯CSS3动画按钮的实例教程纯CSS3实现的带Tooltip提示框的按钮特效源码纯css3实现的动画按钮的实例教程CSS3 实现一组质感细腻丝滑的按钮
- 五款漂亮的纯CSS3动画按钮的实例教程CSS3实现带网站Logo小图标的各大网站分享按钮源码jQuery/CSS3实现超酷的分享按钮源码纯css3实现的鼠标悬停动画按钮一款基于css3的动画按钮代码教程纯CSS3实现的带Tooltip提示框的按钮特效源码纯css3实现的动画按钮的实例教程CSS3 实现一组质感细腻丝滑的按钮
- html5+css3之动画在webapp中的应用css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- 一款恶搞头像特效的制作过程 利用css3和jquerycss3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- html5+css3之CSS中的布局与Header的实现html5+css3之制作header实例与更新css为什么要放在head标签中
- html5+css3气泡组件的实现CSS3 仿微信聊天小气泡实例代码HTML5-WebSocket实现聊天室示例HTML5仿手机微信聊天界面纯CSS实现聊天框小尖角、气泡效果利用html5的websocket实现websocket聊天室纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)如何弹出QQ临时对话框实现不添加好友在线交谈效果CSS3制作气泡对话框的实例教程可自定义箭头样式的CSS3气泡提示框利用CSS3实现气泡效果的教程
- ul li内容宽度的问题的解决方案设置div背景透明的方法示例CSS实现div不设高度完全居中div自适应高度自动填充剩余高度详解DIV+CSS的命名规矩才能有利于SEO优化的实现方法DIV或者DIV里面的图片水平与垂直居中的方法详解如何用div实现自制滚动条div对齐与网页布局详解DIV+CSS实现电台列表设计的示例代码div+css实现带箭头的面包屑导航栏不定宽高的文字在div中垂直居中实现方法
- CSS语义化命名方式及常用命名规则值得收藏的CSS命名规范(规则)常用的CSS命名规则 CSS命名规则和命名方法常用的 css 命名规则(推荐)浅谈css命名规则(新手必看)CSS书写规范、顺序和命名规则常用的CSS命名规则 web标准化设计编写CSS代码时样式的命名规则CSS 样式命名规则CSS 文件命名规则CSS的class与id常用的命名规则
- CSS强制性换行的方法区别详解css 自动换行 强制换行属性 (firefox+ie)css自动换行 防止撑破div影响排版 css之自动换行实现代码CSS实现强制不换行、自动换行、强制换行的css代码css 解决英文字符与阿位伯数字自动换行 css文本换行属性word-wrap和white-space使用总结
- 前端设计师需要了解的9个问题设置div背景透明的方法示例CSS实现div不设高度完全居中div自适应高度自动填充剩余高度详解DIV+CSS的命名规矩才能有利于SEO优化的实现方法DIV或者DIV里面的图片水平与垂直居中的方法详解如何用div实现自制滚动条div对齐与网页布局详解DIV+CSS实现电台列表设计的示例代码div+css实现带箭头的面包屑导航栏不定宽高的文字在div中垂直居中实现方法