css如何分辨伪类和伪元素?伪类和伪元素的各自的区别与用法(代码实例)

在我们学习前端开发的时候,有时总会把css中的伪类伪元素混淆在一起。那么,在css中什么是伪类?什么又是伪元素?它们有什么区别,又是怎么使用的?本章我们就给大家好好聊聊css中的伪类和伪元素,介绍css中的伪类和伪元素的区别和基本用法。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一.伪类(用于向某些选择器添加特殊的效果)

伪类存在的意义是为了通过选择器找到那些不存在与DOM树中的信息以及不能被常规CSS选择器获取到的信息。伪类由一个冒号:开头,冒号后面是伪类的名称和包含在圆括号中的可选参数。任何常规选择器可以再任何位置使用伪类。伪类语法不区别大小写。一些伪类的作用会互斥,另外一些伪类可以同时被同一个元素使用。并且,为了满足用户在操作DOM时产生的DOM结构改变,伪类也可以是动态的。

伪类包含两种:状态伪类和结构性伪类。

状态伪类是基于元素当前状态进行选择的。在与用户的交互过程中元素的状态是动态变化的,因此该元素会根据其状态呈现不同的样式。当元素处于某状态时会呈现该样式,而进入另一状态后,该样式也会失去。常见的状态伪类主要包括:

立即学习“前端免费学习笔记(深入)”;

   :link 应用于未被访问过的链接;
   :hover 应用于鼠标悬停到的元素;
   :active 应用于被激活的元素;
   :visited 应用于被访问过的链接,与:link互斥。
   :focus 应用于拥有键盘输入焦点的元素。

结构性伪类是css3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。常见的包括:

   :first-child 选择某个元素的第一个子元素;
   :last-child 选择某个元素的最后一个子元素;
   :nth-child() 选择某个元素的一个或多个特定的子元素;
   :nth-last-child() 选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算;
   :nth-of-type() 选择指定的元素;
   :nth-last-of-type() 选择指定的元素,从元素的最后一个开始计算;
   :first-of-type 选择一个上级元素下的第一个同类子元素;
   :last-of-type 选择一个上级元素的最后一个同类子元素;
   :only-child 选择的元素是它的父元素的唯一一个子元素;
   :only-of-type 选择一个元素是它的上级元素的唯一一个相同类型的子元素;
   :empty 选择的元素里面没有任何内容。

例:

伪类.demo {width: 200px;height: 500px;margin: 50px auto;text-align: center;}.tab_content {  height: 50px;  background: red;  margin-bottom: 10px;}#tab1:target, #tab2:target, #tab3:target {    background:blue;    line-height: 50px;}

效果图1:

1.jpg

效果图2:

2.jpg3.jpg

上面效果图1与效果图2的区别在于当我单击标签一以后,tab1盒子的背景色由红色变为蓝色,字体颜色变为白;当点击标签二时,就会变成tab2发生变化,点击标签三也一样。

二:伪元素(用于将特殊的效果添加到某些选择器)

伪元素是对元素中的特定内容进行操作,而不是描述状态。它的操作层次比伪类更深一层,因此动态性比伪类低很多。实际上,伪元素就是选取某些元素前面或后面这种普通选择器无法完成的工作。控制的内容和元素是相同的,但它本身是基于元素的抽象,并不存在于文档结构中!

常见的伪元素选择器包括:
   :first-letter 选择元素文本的第一个字(母)。
   :first-line 选择元素文本的第一行。
   :before 在元素内容的最前面添加新内容。
   :after 在元素内容的最后面添加新内容。

.demo {width: 500px;height: 500px;margin: 50px auto;text-align: center;}.spliter::before, .spliter::after {      content: '';      display: inline-block;      border-top: 1px solid black;      width: 200px;      margin: 5px;    }

分割线

效果图:

4.jpg

以上就是css如何分辨伪类和伪元素?伪类和伪元素的各自的区别与用法(代码实例)的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:23:20
下一篇 2025年12月24日 02:23:41

相关推荐

  • css的外间距如何设置?css外间距的设置方法(附实例)

    css盒模型中有四种元素,分别是内间距、外间距、内容还有边框。这四种定义了盒模型的使用,今天我们就来说说关于css盒模型的外间距的使用吧 css的外间距如何设置? 我们的外间距是属于css盒模型之中的一种,那么现在我们来看看外间距都是怎么设置的吧。 margin: 是一个简写属性,可以一个声明中设置…

    2025年12月24日 好文分享
    000
  • css水平居中怎么设置?两种css水平居中的设置方法

    css样式能够实现水平居中,那么css水平居中怎么设置呢?本篇文章将给大家来分享关于css设置水平居中的实现方法。 css中可以设置行内元素的水平居中和设置块级元素的水平居中,对于行内元素和块级元素不了解的同学可以参考一下css块级元素的定义是什么?css块级元素有哪些?和css行内元素有哪些?cs…

    好文分享 2025年12月24日
    000
  • css自适应布局:css宽度自适应如何实现?

    如今的网页布局是需要适应于各种屏幕的,因此就需要来实现自适应使得网页中的内容来完全的显示,所以,今天的这篇文章就来给大家介绍一下关于css宽度自适应的内容。详细的说一说css自适应布局中css宽度自适应该如何实现。 相关文章推荐:1.css高度自适应如何实现?css高度根据内容自适应的简单方法 2.…

    好文分享 2025年12月24日
    000
  • css高度自适应如何实现?css高度根据内容自适应的简单方法

    在进行网页开发时,可能会遇到这样的情况,网页中的内容会超出你原先设置的高度或者宽度,这时就需要实现高度自适应或者宽度自适应,下面这篇文章将给大家来介绍关于css高度自适应。 PS:css宽度自适应的介绍内容,可以看这篇文章:css自适应布局:css宽度自适应如何实现? 首先,我们刚开始设计某些网页板…

    2025年12月24日 好文分享
    000
  • css如何设置边框样式?边框的不同样式介绍(代码实例)

    本章给大家带来css如何设置边框样式?边框的不同样式介绍(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一:border边框线的基本样式 边框样式属性指定要显示什么样的边界 1.border-style 属性    none: 默认无边框    dotted: 定义一个…

    2025年12月24日 好文分享
    000
  • 解决浏览器兼容性的小技巧

    当我们在进行前端网页开发,编写页面的css样式的时候,往往是需要考虑的不同浏览器的兼容问题的,让我们设计开发的前端页面可以在不同的浏览器上都可以正常展示。本章我们就给大家带来一些解决浏览器兼容性的小技巧,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、chrome下会让小于12p…

    好文分享 2025年12月24日
    000
  • 让css的权重变得更友好的小技巧

    在这篇文章中,我将通过一些示例来向大家展示一些css的小技巧,让你知道如何使用css的级联(cascade)能变得更友好,也减少一些不必要的需求,从而也减少权重上遇到的麻烦。 技巧一:样式总是作为特定属性组合出现 一个很好的例子就是color和bakground-color的组合。除非你只做小调整,…

    2025年12月24日
    000
  • CSS让前端网页布局更好的实用小技巧

    对css前端网页布局的技巧,可谓是名目繁多。这里将适合新手的css前端网页布局的小技巧总结出来,或许对您更有实际的参考价值: 1、ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。 2、同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次;…

    好文分享 2025年12月24日
    000
  • CSS详细认识制作动画的几个属性

    基本上我们会有这样的一个简单的概念,css 的动画效果由浏览器控制和渲染,理论上比 javascript 的动画效果性能好,但是控制上没有 javascript 那么灵活方便。而css 动画是分成 transform,transition 和 animation 三个部分,其中 transfrom …

    2025年12月24日
    000
  • CSS怎么设置垂直居中?

    在我们开发前端页面的时候,为了让页面效果美观,会出现需要垂直居中效果的地方。本章就让我们来了解一下用css如何设置垂直居中,详细介绍一下设置文字与div盒子的垂直居中的几种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 推荐手册:CSS在线手册 一:css如何设置文本文字垂直居…

    2025年12月24日 好文分享
    000
  • css伪元素有哪些?css伪元素的详情介绍(内附实例)

    今天这篇文章主要的介绍了四种css样式的伪元素,讲解的css伪元素都是在日常中比较常见的,现在就让我们一起来看这篇文章吧。 首先我们先来看看本文介绍的css样式中的四种伪元素: :before 该伪元素定义在元素之前添加内容 :after 该伪元素定义在元素之后添加内容 :first-line 该伪…

    2025年12月24日 好文分享
    000
  • css盒模型的边框用法你知道吗?这里有css盒模型的组成介绍

    本篇文章主要的介绍了关于css样式中的盒模型的边框介绍,有着完整的实例,还有css盒模型边框细节的介绍和代码的解释。下面就让我们一起来看这篇文章吧 首先我们来聊聊盒模型的组成部分: 想到盒模型就不由自主的想到一个盒子,css样式的盒模型里面有内容,边框,内边距,外边距等等,我们今天这篇文章主要说的就…

    2025年12月24日
    000
  • css中的padding属性可以为负值吗?css中padding属性的详解

    关于css盒模型中的内边距padding属性的详细介绍,还有新手常犯的一个错误,内边距padding属性真的能写入负值。这个答案在文章的最后,现在就让我们一起来看这篇文章吧 首先我们介绍的是第一个问题: css中的padding属性可以为负值吗?这个答案很容易,我们先不介绍,在文章最后有关于内边距p…

    2025年12月24日
    000
  • css如何设置圆角边框?css设置圆角边框的方法(图文)

    css如何设置边框?很多时候在开发网页前端的时候,为了让网页上面的东西看起来更加的舒服,我们可能需要设置一些圆角边框比如按钮之类的,那么,我们该怎么来设置圆角边框呢?本篇文章将给大家来介绍一下css设置圆角边框的方法。 css设置圆角边框最常用也是最简单的方法就是利用border-radius属性。…

    2025年12月24日 好文分享
    000
  • css颜色渐变实例:css3文字颜色渐变的实现方法

    在我们浏览网页的时候,有时会看到一些文字的颜色是动态渐变或者是静态渐变的形式的,那么,我们该如何在前端网页中实现文字颜色的渐变效果,本篇文章将给大家来介绍关于css颜色渐变应用中css3文字颜色渐变的效果。 css3文字颜色渐变的实现方法有很多,下面我就在这里为大家介绍 css3文字颜色渐变的方法一…

    2025年12月24日 好文分享
    000
  • css透明度怎么设置?三种css图片透明度的设置方法

    css透明度的设置在网页的设计中是经常需要用到的,有时为了设计出的网页更加的美观,会对图片进行透明化处理,这样网页上面的内容就不会看不见,有的网页因为图片作为背景,也会更加美观,那么,css中的透明度怎么设置呢?今天这篇文章就来给大家分享css中图片透明度的设置方法。 css中与设置透明效果相关的属…

    2025年12月24日
    000
  • css如何使用position 属性实现定位效果?css中的4种定位方法介绍(实例)

    本篇文章给大家带来的内容是关于css如何使用position 属性实现定位效果?css中的4种定位方法介绍(实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css中定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗…

    2025年12月24日
    000
  • HTML a标签如何让鼠标悬停变色,css控制a标签鼠标悬停样式详解​

    这篇文章主要的讲述了关于html a标签让鼠标悬停变色,还有关于css控制鼠标悬停的其它样式。里面有着详细的实例教程,可以让大家学的更快,接下来就让我们一起来看这篇文章吧 首先我们先来看看html中的a标签鼠标悬停的时候变色: 大家应该都知道html中的a标签鼠标悬停的css属性吧,没错,今天我们说…

    2025年12月24日 好文分享
    000
  • css表格怎么添加边框样式?css表格边框样式总结(附完整实例)

    本篇文章主要讲述的就是关于css表格添加边框样式,这里还有关于css表格边框样式的总结,还有css表格边框的完整实例。接下来就让我们一起来看这篇文章吧 首先我们先看看如何利用css来给表格添加边框: 还记得我们在学html表格的时候也学过用border属性来给表格添加边框的,现在我们也是这样,我们来…

    2025年12月24日
    000
  • css表格中的内容如何居中?css表格中的文本样式介绍

    你知道css表格的内容太是如何居中的吗?你知道css表格的文本如何设计左对齐吗?你知道css表格如何设置右对齐吗?这些内容都在这篇文章之中等着你来学习了。 首先我们先介绍css表格中的内容是如何居中的: 在开始我们先介绍个属性,就是这个属性才能使表格在css样式中居中起来。 text-align:这…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信