伪类 伪元素 如何区分

  前段时间在写网页的时候,使用了CSS的伪元素:after来实现样式,故而重温了一下伪类和伪元素。平时实现的时候便是拿出来用,但是真正区分两者的概念的时候却有点混淆了。

  首先,查看一下W3S对伪类和伪元素的定义:

  伪类:用于向某些选择器添加特殊效果。

  伪元素:向某些选择器设置特殊效果。

  对于我这种理解能力比较差的人来说,恕我直言,这两句话貌似……这是一个概念吧?

  从这两个概念,我们可以知道:1.二者都与选择器有着密不可分的联系;2.“特殊”的效果……

  特殊在何处?他们与类、元素之间有什么关系呢?

  伪类的种类:

  

  通过伪类的种类分类,我们可以见得,伪类是基于元素的某种状态下(如:hover等)或者元素存在某种特性的时候(如:lang等)发挥其作用的。伪类根据动态状态来添加以实现样式的动态变化。其功能与类相似,但是后者在文档中存在有class的静态标志,而伪类不存在于文档中,它属于文档之外的抽象的类,故称为伪类。(当元素处于某种状态下时,假装这里有某个类)3*)

  伪元素的种类:

  

  从伪元素的分类中我们可以看出,伪类可以对元素的特定内容进行操作(如:first-letter等)。类似像文本的第一个字母添加特殊样式这种效果,在普通选择器中是无法实现的(除非对文本中的第一个字母添加标签使其成为元素)。伪元素的控制内容与元素是一致的,但是伪元素不存在于文档中,是一个抽象的元素,故称为伪元素。

  举个例子(伪元素):

  使用伪元素:

<p>Angry birds</p>
p:first-letter {color: #00FF00;}

  不使用伪元素达到以上效果:

<p>
      <span class="changeColor">A</span>ngry birds!
</p>
.changeColor {color:#00FF00;}

  前者通过伪元素对元素内容进行操作,对于后者而言,是对元素的直接操作,二者效果是一致的。不过,伪元素不实际存在文档中。

时间: 2024-12-17 08:46:30

伪类 伪元素 如何区分的相关文章

css中伪类/伪元素详解

一.伪类和伪元素 伪类和伪元素都是用来修饰不在文档树中的部分,区别在于, 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的(如:hover/:active). 而伪元素则用于创建一些不在文档树中的元素,并为其添加样式(如:before/:after). 二.常用伪类 伪类 用法 兼容 :link 未访问的链接 主流浏览器都支持 :visited 已访问的链接 主流浏览器都支持 :hover 鼠标划过链接 主流浏览器都支持 :active 已选中的链接 主

第一章入门篇伪类伪对象

1.伪类 伪类用来指定HTML元素某个状态下的样式,格式 选择符:伪类{属性:属性值} <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>伪类</title> <style type ="text/css" > a:link{ text-decoration:none;font-size:50

css伪类 伪元素

之前写了一篇 <详解 CSS 属性 - :before && :after> 的博文,当时自己没分清楚伪元素和伪类,所以在文章内把概念混淆了,庆幸 @riophae 兄指正了我的错误,所以今天打算好好研究下两者的区别.首先,阅读 w3c 对两者的定义: CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 可以明确两点,第一两者都与选择器相关,第二就是添加一些"特殊"的效果.这里特殊指的是两者描述了其他 css 无法

[ jquery 子元素选择器 总结 ] 总结: 伪类子元素选择器

总结: 伪类中的子元素选择器: 第一种类型: :first-child :last-child :nth-child() :nth-last-child() 第二种类型: :only-child :only-of-type 第三种类型: :first-of-type :nth-last-of-type() :nth-of-type() 特点: 伪类选择器很有特点: 1.位置:可以直接通过伪类选择器直接获取开始 结束 和第几个,通常和目标元素在什么位置上有关,可以从正着数,也可以从倒着数,计数从

伪类伪元素

1.页面中有如下部分: <div> <a> sdfsd1</a> <a> sdfsd2</a> <a> sdfsd3</a> </div> <div> <a> sdfsd4</a> <a> sdfsd5</a> </div> 2.如果要为每个div的第一个子元素添加一个样式,如字体颜色为蓝色,可以每个标签上添加class,如下: 样式: d

HTML5--(2)属性选择器+结构性伪类+伪类

一.属性选择器 [att] 匹配所有具有att属性的 [att=val] 匹配所有att属性等于"val"的 [att~=val] 匹配所有att属性包含"val"或者等于"val"的(val必须是一个完整词) [att|=val] 匹配所有att属性仅仅只等于以val-' 开头的或等于"val"(比如说zh-cn) [att*=val] 匹配所有att属性 包含'val'的字母 (val可以是字母) 类似模糊查询 [att^

CSS中的伪类和伪元素

伪类 伪类与类相似,但又没有类附加标签上.伪类分为UI伪类和结构化伪类. UI伪类 :link(将样式添加到未被访问的链接上) :visted(将样式已添加到访问的链接上) :hover(将样式添加到鼠标悬浮的元素上) :active(将样式添加到被激活的元素上) :focus(将样式添加到被选中的元素上) 结构化伪类 :first-child(将样式添加到第一个子元素上) :last-child(将样式添加到最后一个子元素上) 伪元素 伪元素是在文档中若有实无的元素. 主要有以下几种 :fir

CSS 伪类和伪元素--pseudo

总结在前: 0. 参考资料 1. 伪类和伪元素是不同的两种东西. 2. 伪类和伪元素都属于CSS选择器. 3. CSS引入伪类和伪元素是为了实现基于文档树之外的信息,i.e. 段落的第一行,的格式化. 4. 伪类和伪元素都不出现在源文件和文档树中. 伪类:一开始单单只是用来表示一些元素的动态状态,典型的是<a>的 LVHA四个状态,CSS2标准扩展了概念范围, 使其成为了所有逻辑上存在,但在文档树中却无须标识的分类. 伪元素:代表某个元素的子元素,虽然这个子元素在逻辑上存在, 但是不存在于文档

浅谈CSS的伪类与伪元素

本文向大家展示了CSS的伪类与伪元素,介绍的非常全面,这里推荐给大家参考下. 伪类 伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式:当状态改变时,它又会失去这个样式.由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类. 伪类选择器:CSS中已经定义好的选择器,不能随便取名 :link 伪类将应用于未被访问过的链接,与:v