伪元素与伪类

伪元素与伪类

为什么要写这篇文章?

  伪元素和伪类一直都是很容易混淆的,没有大量的实践和用心去体会是不容易记住的。我相信对于绝大部分新手来说是这样的,我自己也是经常记不住,像这样不算难的问题,一直查阅别人的博文,没有点自己的思想,好像是很low的一件事,因此写下这篇文章。

什么是伪类?

  伪类的实质是把某种幻像类关联到与伪类相关的元素上,举个例子:

<div>
      <p>These are the necessary steps:</p>
</div>

 使用规则  p:first-child  { font-weight: bold; },会将DIV的第一个子元素P字体变粗。

  如果不使用伪类,我们也希望达到以上效果,那么我们给P元素添加类名first-child,如下:

<div>
    <p class="first-child"> These are the necessary steps:</p>
</div>

  使用规则 .first-child { font-weight: bold; }  可以达到同样的效果。

  这也就是为什么叫做伪类,“类”字体现在好像存在于一个规则,与幻想的类名联系在一起,而我们可以直接使用伪类,添加样式,而不用先想好类名,然后再添加样式。

 伪类的种类有:  

    链接伪类: :link,  :visited

    动态伪类:  :focus,  :hover,  :active

对第一个子元素:   :first-child

    根据语言选择:   :lang

什么是伪元素?

  伪元素能够在文档中插入假想的元素,从而得到某种效果。再使用上一个例子:

<div>
    <p> These are the necessary steps: </p>
</div>

  使用规则p:first-letter { font-size: 200%; }  p元素的第一个字母大小是其余字母的两倍。

  而不使用伪元素,要达到同样的效果,则需要使用新的标签将p元素的第一个字母包裹起来,然后添加类名再添加样式。

<div>
    <p>
         <i class="first-letter">T<i>
         hese  are necessary steps:
    </p>
</div>

  使用规则 .first-letter { font-size: 200%; } 也可以实现同样的效果。

  这也就是为什么叫伪元素了,“元素”体现在我们可以不添加额外的标签(标签也叫元素),就可以直接给想要的字母添加样式,就好像使用元素选择器一样。

  常见的伪元素:

      CSS2.1中定义了4个伪元素:设置首字母样式( :first-letter ),设置第一行样式( :first-line ),设置之前( :before )和之后元素( :after )的样式

二者的异同

  相同的地方:①二者都是与选择器有关,有的书又叫伪类选择器和伪元素选择器。②参考《CSS3权威指南》,是这么说的:  根据另外某种条件而非文档结构向文档中的某些部分应用样式,而且无法通过研究文档的标记准确地推断出采用何种方式应用样式。

  不同的地方:伪类为某些元素(甚至是文档本身)的状态所指示的幻像类制定样式。(强调元素,体现伪“类”).

        伪元素可以为文档中不一定具体存在的结构制定样式。(强调不一定具体存在,体现伪“元素").

时间: 2024-09-29 15:59:24

伪元素与伪类的相关文章

伪元素和伪类区别

伪类用于向某些选择器添加特殊的效果. 伪元素用于将特殊的效果添加到某些选择器. 伪类有::first-child ,:link:,vistited,:hover,:active,:focus,:lang 伪元素有::first-line,:first-letter,:before,:after 使用伪类: 1 2 3 4 5 6 7 <style> p>i:first-child {color: red} </style> <p>     <i>fir

伪元素、伪类基础理解

前几天同事问我css中单冒号和双冒号是什么意思,我也模糊得很,只有个笼统的概念就是:伪元素和伪类.一直以为,页面布局中很少使用到伪类,结果细细研究发现我们经常使用的hover就是一个最简单的伪类,顿时觉得自己太OUT了,紧跟着这两天都在看这些东西,其实伪类最简单的理解就是用于向某些选择器添加特殊的效果. 具体伪类.伪元素有哪些我就不一一列举,在w3c中列举的很清楚.我主要写写应用的实例. 1.来个简单的,咱们最常用到的向超链接添加不同的颜色: <html> <head> <m

【CSS3】详解伪元素与伪类

1.伪类 伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式:当状态改变时,它又会失去这个样式.由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类. 伪类的定义: (1)伪类存在的意义是为了通过选择器找到那些不存在与DOM树中的信息以及不能被常规CSS选择器获取到的信息. (2)伪类由一个冒号:开头,冒号后面是伪类的名称和包

CSS的伪元素和伪类

css3为了区分伪类和伪元素,伪元素采用双冒号写法. 常见伪类-- :hover, :active, :visited, :focus. 常见伪元素--::first-letter,::first-line,::before,::after,::selection. ::before和::after下特有的content,用于在css渲染中向元素逻辑上的头部或尾部添加内容(可以是文字,图标等,下图就是一个正方形图标,图标是通过css绘制的). 这些添加不会出现在DOM中,不会改变文档内容,不可复

伪元素和伪类的区别

CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 区别:伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因. 伪类种类 伪元素种类 区别 这里用伪类 :first-child 和伪元素 :first-letter 来进行比较.

伪元素和伪类

相同:都用于给某些选择器添加特殊的效果区别:伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因.下面罗列写常见的伪类与伪元素--伪类种类:伪元素种类:CSS3要求对伪元素使用两个冒号以便与伪类进行区别.但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者.

一句话让你明白伪元素和伪类的区别

伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到. 下面就这句话给出例子 伪类 :first-child <div> <p>我是一个段落</p> <p>我是一个段落</p> <p>我是一个段落</p> <p>我是一个段落</p> <p>我是一个段落</p> <div> 使用伪类选出第一个段落 div p:first-ch

CSS——伪元素与伪类

伪类与伪元素 伪类:在特殊性中占据0,0,1,0 :link 向未访问的链接添加特殊的样式.也就是说,链接所指的 URI 尚未出现在用户代理的历史中.这种状态与 :visited状态是互斥的. :visited 对已访问的链接添加样式. :hover 对鼠标悬停时的链接应用样式 :foucs 对鼠标聚焦的链接应用样式 :active 向激活(在鼠标点击与释放之间发生的事件)的元素添加特殊的样式. 对于上述伪类,要遵循顺序书写!! :nth-child(n) 从父元素匹配索引为n的子元素,设置样式

CSS3伪元素、伪类选择器

伪元素选择器: ::first-letter:为某个元素中的文字的首字母或第一个字使用样式. ::first-line:为某个元素的第一行文字使用样式. ::before:在某个元素之前插入一些内容. ::after:在某个元素之后插入一些内容 ::selection:匹配元素中被用户选中或处于高亮状态的部分. 伪类选择器: :link:未访问的链接. :visited:已访问的链接. :hover:鼠标移动到链接上. :active:选定的链接.   原文地址:https://www.cnbl