CSS伪类和伪元素的区别

和伪元素皆独立于文档结构。它们获取元素的途径也不是基于id、、这些基础的元素特征,而是在处于特殊的元素(伪类),或者是元素中特别的内容(伪元素)。区别总结如下:

CSS伪类 (Pseudo-classes):用于向某些选择器添加特殊的效果,即在元素当前静态样式的基础上添加特殊效果(一般都是动态效果),所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。

登录后复制属性描述:active向被激活的元素添加样式:focus向拥有键盘输入焦点的元素添加样式:hover当鼠标悬浮在元素上方时,向元素添加样式:link向未被访问的链接添加样式:visited向已被访问的链接添加样式:first-child向元素的第一个子元素添加样式:lang向带有指定lang属性的元素添加样式

备注:在 CSS 定义中,同一个元素的 :hover 必须位于 :link、:visited 之后才能生效,:active 必须位于 :hover 之后才能生效。

登录后复制

 css伪元素 (Pseudo-elements):用于向某些选择器设置特殊效果,是对元素中的特定内容进行设置和操作,操作层次比伪类更深,故动态性比伪类要差。

属性描述:first-letter向文本的第一个字母添加特殊样式:first-line向文本的首行添加特殊样式:before在元素之前添加内容:after在元素之后添加内容

  对两者的定义:

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

登录后复制

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

以上就是CSS伪类和伪元素的区别的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2904129.html

(0)
上一篇 2025年3月11日 01:58:45
下一篇 2025年3月8日 22:48:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • div+css浮动的解决方法

    如何清楚浮动(一)   已知一个大的div容器,这个容器包含了两个子div容器,然后在这两个子div容器的后面再添加一个div(这个div表示浮动的div容器),清楚浮动的div容器设置css样式为浮动:both,此时,大的div标签的内部…

    编程技术 2025年3月11日
    200
  • CSS教程(一)初识CSS

    css教程(一)认识css     dreamweaver4是现今最好的网站编辑工具之一,用它来给制作网页的css样式表会更简单、更方便。本教程教你如何利用dreamweaver4在页面中加入css,你不用死记硬背的记代码标记,也不用去看很…

    2025年3月11日
    200
  • CSS教程(二)基础语法

    1.  基本语法 css的定义是由三个部分构成:选择符(selector),属性(properties)和属性的取值(value)。基本格式如下:selector {property: value} (选择符 {属性:值})选择符是可以是多…

    2025年3月11日
    200
  • CSS教程(三)伪类——动态链接

    伪类可以看做是一种特殊的类选择符,是能被支持css的浏览器自动所识别的特殊选择符。它的最大的用处就是可以对链接在不同状态下定义不同的样式效果。 1.  语法 伪类的语法是在原有的语法里加上一个伪类(pseudo-class):selecto…

    2025年3月11日
    200
  • CSS教程(四)如何在网页中插入CSS

    前两章我们了解了css的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用。当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入样式表的方法:链入外部样式表、内部样式表、导入外表样式表和内嵌样式。   链入外部样式表 链…

    2025年3月11日
    200
  • CSS教程(五)如何使用DW4创建CSS

    1. css styles面板 通过前面几章的学习,相信大家对css有了一定的了解,这一章我们来讲解如何利用dreamweaver4来创建css。首先运行dreamweaver4,启动后,选择菜单下的windows->css styl…

    2025年3月11日
    200
  • CSS教程(六) DW4中CSS属性详解

    在dreamweaver4的css样式里包含了w3c规范定义的所有css1的属性,dreamweaver4把这些属性分为type(类型)、background(背景)、block(块)、box(盒子)、border(边框)、 list(列表…

    2025年3月11日
    200
  • CSS教程(七) 滤镜

    css提供了一些内置的多媒体滤镜特效,使用这种技术可以把可视化的滤镜和转换效果添加到一个标准的html元素上,例如图片、文本容器、以及其他一些对象。dreamweaver4提供了16种滤镜可供选择,如下图: 下面,我们就来看看在dreamw…

    2025年3月11日
    200
  • CSS教程(八) 简单介绍CSS结合JS的运用

    八、 简单介绍css结合js的运用(针对事件动作) 利用css配合javascript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下css配合js的应用。首先,我们要搞清楚事件和动作的概念。在客户端脚本中,javascri…

    2025年3月11日
    200
  • 使用css实现加载中动画效果

    css实现加载中动画效果如下: html      加载中       登录后复制 css 立即学习“前端免费学习笔记(深入)”; .ui-loading-wrap {    display: -webkit-box;    -webkit…

    2025年3月11日
    200

发表回复

登录后才能评论