`

CSS伪类和伪元素

 
阅读更多

CSS的元素选择器除了根据id(#)、class(.)、属性([ ])选取元素以外,还有很重要的一类,就是根据元素的特殊状态来选取元素。它们就是伪类和伪元素。跟id选择器、类选择器、属性选择器以及派生选择器等等这些从HTML文档层次结构(DOM树)中获取元素不同的是,伪类和伪元素是预定义的、独立于文档元素的。它们获取元素的途径也不是基于id、class、属性这些基础的元素特征,而是在处于特殊状态的元素(伪类),或者是元素中特别的内容(伪元素)。当然,伪类和伪元素的表示形式也使用“:”(英文冒号)与其它选择器相区分。

CSS3中引入双冒号(::)是为了在伪类中,区分伪元素,如::before,::after。除了IE8及其以下版本不支持外,所有的浏览器均支持伪元素中双冒号的使用。

伪类

伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id、class、属性等静态的标志。由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类。

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

 :link

:link伪元素代表链接的正常状态,用于选择未访问的链接。在这里需要声明一点,:link伪元素需要在所有此类别的伪元素之前声明。其顺序为:link,:visited,:hover,:active

 

:visited

:visited伪类用于已经被访问过的链接。如下所示处于此类伪元素的第二位置(:link伪类之后)。

 

:hover

:hover伪类用于当用户的鼠标悬停在链接之上时对元素的样式修饰。当然,这里不仅仅局限于链接,尽管其最为常见。

此伪类在此类伪类之中位列第三(:visited伪类之后)。

 

:active

:active伪类用于已被“激活”元素的样式修饰,如通过触摸屏的点击。这里也可以通过键盘触发,和:focus伪类相似。

 active伪类和:focus伪类十分相似,不同之处在于:active伪类是鼠标被点击与被释放之间发生的事件。

它处于此类伪元素的尾端(hover伪类之后)。

<html>  
<head>  
<meta content="text/html"charset="utf-8" />  
<style type="text/css">  
a:link {color: #FF0000}  
a:visited {color: #00FF00}  
a:hover {color: #FF00FF}  
a:active {color: #0000FF}  
</style>  
</head>  
<body>  
<ahrefahref="http://www.baidu.com">百度</a>  
</body>  
</html>

 

:foucus

:focus伪类用于获取焦点的元素样式的修饰,如触摸设备上的点击或者是通过键盘。这在表单元素之中的应用比较多。

 

 伪元素

与伪类针对特殊状态的元素不同的是,伪元素是对元素中的特定内容进行操作,它所操作的层次比伪类更深了一层,也因此它的动态性比伪类要低得多。实际上,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。

 

:first-letter

伪元素的样式将应用于元素文本的第一个字(母)。

:first-line

伪元素的样式将应用于元素文本的第一行。

:before

在元素内容的最前面添加新内容。

:after

在元素内容的最后面添加新内容。

 

分享到:
评论

相关推荐

    css伪元素 长方体 css伪元素 长方体

    css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪元素 长方体css伪...

    css伪类.docx

    这些CSS伪类和伪元素的兼容性各不相同,一些在旧版的Internet Explorer中可能不完全支持。因此,在实际应用中,开发者需要考虑浏览器兼容性问题,可能需要使用前缀或者备用样式来确保在各种浏览器中都能正确显示。...

    CSS伪类和伪元素的区别详解

    这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。 复制代码代码如下: p&gt;i:first-child {color: red}&lt;p&gt; &lt;i&gt;first&lt;/i&gt; &lt;i&gt;second&lt;/i&gt;&lt;/p&gt;  //伪类 :first-child 添加样式到第一个子元素如果

    浅谈CSS伪类与伪元素

    伪类伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id、class、属性等静态的标志。由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态...

    [CSS] 用伪元素:after实现分割线和气泡

    总的来说,`:after`伪元素是CSS中一个强大且灵活的工具,它不仅限于创建分割线和气泡,还可以用于制作各种复杂的设计,如清除浮动、添加版权信息、构建自定义布局等。熟练掌握`:after`的使用,对于提升网页设计和...

    CSS伪类集合

    ### CSS伪类集合详解 #### 一、概述 CSS伪类是CSS中一种特殊的选择器类型,它们由CSS规范定义并被支持CSS的浏览器自动识别。通过使用这些伪类,开发者能够针对元素的不同状态或者上下文环境应用特定的样式规则。...

    CSS伪元素:after:before的特殊用法demo

    在这个特定的示例中,我们关注的是CSS中的两个重要概念:伪元素`:after`和`:before`。这两个伪元素允许我们在不添加额外HTML标记的情况下,向元素的内容中插入内容。 `:after`和`:before`伪元素在CSS3中被引入,...

    CSS:CSS伪类与伪元素教程.docx

    CSS:CSS伪类与伪元素教程.docx

    CSS按钮与伪元素

    在网页设计中,CSS(Cascading Style Sheets)是一种用于控制网页元素呈现样式的语言,而按钮和伪元素是CSS中的重要概念。本教程将深入探讨如何利用CSS来设计美观且功能丰富的按钮,并介绍伪元素在其中的作用。 ...

    CSS中的伪类

    CSS 中的伪类是已经系统定义好的,它们可以用来设置 HTML 元素在不同的状态下的样式。下面是常见的伪类: 1. link 伪类:设置 a 对象在未被访问前的样式。例如:alink { font-size: 14pt; text-decoration: ...

    css-div的border属性使用&伪元素伪类.docx

    在CSS中,`div`元素是最常用的块级元素之一,常用于布局和内容容器。`border`属性是CSS中用于定义元素边框样式的属性,包括`...需要注意的是,伪元素和伪类的使用应该遵循语义化原则,以确保代码的可读性和维护性。

    纯CSS3伪类实现icon标签效果

    以前我还是比较忽视这两个家伙的,今天第一次见到原来伪类的好处这么多,以后会多多推荐CSS3伪类实现的效果 使用方法: 1、将head中的CSS样式引入到你的网页中 2、在你需要变成标签的html处增加class = ...

    CSS伪元素实现3D按钮

    在网页设计中,CSS(层叠样式表)是用于控制网页元素外观的关键技术。当我们谈论“CSS 3D按钮”,我们实际上是指利用CSS的特性来...总之,理解并熟练掌握CSS伪元素和CSS3的3D特性是创建动态、现代网页设计的关键技能。

    CSS伪类/伪元素选择器整理

    需要注意的是,虽然CSS伪类和伪元素为网页提供了强大的设计能力,但也要注意避免过度装饰或滥用,以免降低网页的可访问性和用户体验。在实际工作中,应当充分考虑到不同浏览器和设备的兼容性问题,并适时进行测试。

    纯CSS3伪类实现icon标签效果.zip

    1. `:before` 和 `:after`: 这两个伪元素可以在元素的内容前面或后面插入内容。通常配合`content`属性使用,可以用来添加图标或者其他非文本内容。例如: ```css .admin5:before { content: "\f007"; /* 这里是...

    纯css3before和after伪元素结合animation鼠标悬停动画效果

    在本文中,我们将深入探讨如何使用CSS3的`::before`和`::after`伪元素,结合`@keyframes`动画来实现一个鼠标悬停时的动态效果。这两个伪元素在网页设计中扮演着重要的角色,可以让我们在不增加额外HTML标记的情况下...

    CSS速成手册(CHM,中文版)

    8. **CSS伪类和伪元素**:如`:hover`、`:active`、`:focus`等伪类,以及`::before`和`::after`等伪元素,用于增加元素的交互性和设计多样性。 9. **浏览器兼容性**:了解不同浏览器对CSS特性的支持情况,使用工具如...

    css伪类.pdf

    CSS伪类是CSS(层叠样式表)中一种强大的功能,允许我们针对元素的不同状态或位置应用特定的样式。在给定的文件中,重点介绍了几种常见的CSS伪类及其用法,例如超链接伪类、`:first-child`伪类以及`:lang`伪类。 ...

Global site tag (gtag.js) - Google Analytics