css伪选择器学习之伪元素选择器解析

在之前的文章《css中什么是层级选择器?怎么用?》中,我们学习了4种层级选择器,下面我们聊聊伪选择器,它们提供了更复杂的功能,但非直接对应html文档应以的元素。伪选择器主要分两种:伪元素伪类。下面我们先详细聊聊伪元素选择器。

css伪选择器学习之伪元素选择器解析

伪元素选择器

CSS中伪元素选择器 的是在指定CSS选择器增加关键字。用来描述某个指定元素的特定部分设定样式。【推荐学习:css中什么是层级选择器?怎么用?】

通过伪元素,开发者不需要借助元素的 ID 或 class 属性就可以对被选择元素的特定部分定义样式。例如通过伪元素您可以设置段落中第一个字母的样式,或者在元素之前、之后插入一些内容等等。

在 CSS1 和 CSS2 中,伪元素的使用与伪类相同,都是使一个冒号:与选择器相连。但在 CSS3 中,将伪元素单冒号的使用方法改为了使用双冒号::,以此来区分伪类和伪元素。因此,建议在使用伪元素时使用双冒号而不是单冒号。

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

语法结构如下所示:

/* CSS3 语法 */选择器::伪元素 {  属性 : 属性值;}/* CSS2 过时语法 (仅用来支持 IE8) */选择器:伪元素 {  属性 : 属性值;}

登录后复制

现在应该都采用两个冒号的方式,除非你还兼容IE8。

注意:一个选择器中只能使用一个伪元素,而且伪元素必须紧跟在选择器之后。按照最新的 W3C 规范,在定义伪元素时您应该使用双冒号::而不是单个冒号:,以便区分伪类和伪元素。但由于旧版本的 W3C 规范并未对此进行特别区分,因此目前绝大多数的浏览器都同时支持使用单冒号和双冒号两种方式来定义伪元素。

CSS 中提供了一系列的伪元素,如下表所示:

伪元素 例子 例子描述

::afterp::after在每个

元素之后插入内容

::beforep::before在每个

元素之前插入内容

::first-letterp::first-letter匹配每个

元素中内容的首字母

::first-linep::first-line匹配每个

元素中内容的首行

::selectionp::selection匹配用户选择的元素部分::placeholderinput::placeholder匹配每个表单输入框(例如 )的 placeholder 属性

::before和::after伪元素

::before 伪元素 的作用是作为定位的HTML元素的第一个子级元素,::after ** 伪元素** 的作用是作为定位的 HTML元素的最后一个子级元素。

如下示例代码展示了::before和::after伪元素的用法:

                ::before和::after伪元素            p::before {            content: "♥";        }        p::after {            content: "♥";        }        

这是一段测试内容

登录后复制

代码运行结果如下图所示:

1.png

如上述示例代码所示,::before伪元素和::after伪元素通常会配合content属性来为该元素增加装饰内容。

content属性用于在元素的::before伪元素和::after伪元素中插入内容。该属性具有的值如下所示:

none:不会产生伪类元素。

normal:::before伪元素和::after伪类元素中会被视为 none。

text:文本内容。

url:格式为url(),指定一个外部资源(比如图片)。如果该资源或图片不能显示,它就会被忽略或显示一些占位。

::first-letter和::first-line伪元素

::first-letter和::first-line伪元素分别匹配文本的第一个字和第一行的样式内容。示例代码如下:

                ::first-letter和::first-line伪元素            /* 匹配第一行 */        p::first-line {            background-color: lightcoral;        }        /* 匹配第一个字 */        p::first-letter {            font-size: 130%;        }        

我如果爱你——绝不像攀援的凌霄花,借你的高枝炫耀自己;

登录后复制

代码运行结果如下图所示:

2.png

值得注意的是::first-letter和::first-line伪元素可以使用的CSS属性是有限制的。

::first-letter选择器可以设置的CSS属性:

font属性

color属性

background属性

margin属性

padding属性

border属性

text-decoration属性

vertical-align属性

text-transform属性

line-height属性

float属性

clear属性

::first-line选择器可以设置的CSS属性:

font属性

color属性

background属性

word-spacing属性

letter-spacing属性

text-decoration属性

vertical-align属性

text-transform属性

line-height属性

clear属性

::selection伪元素

::selection伪元素的作用是匹配用户在HTML页面选中的文本内容(比如使用鼠标或其他选择设备选中的部分)设置高亮效果。如下示例代码展示了::selection伪元素的用法:

                ::first-letter和::first-line伪元素            p::selection {            color: gold;            background-color: red;        }        

我如果爱你——绝不像攀援的凌霄花,借你的高枝炫耀自己;

登录后复制

代码运行结果如下图所示:

11_selection伪元素.gif

::placeholder伪元素

伪元素 ::placeholder 用来设置表单元素(、

nbsp;html>            input.text::placeholder{            color: red;            background-color: #CCC;        }        未使用伪元素 ::placeholder
    使用伪元素 ::placeholder 的效果

登录后复制

代码运行结果如下图所示:

4.gif

(学习视频分享:css中什么是层级选择器?怎么用?)

以上就是css伪选择器学习之伪元素选择器解析的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月10日 17:46:18
下一篇 2025年2月18日 01:41:24

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

相关推荐

  • div外边距重合问题及解决方法

    本篇文章给大家带来了关于css的相关知识,其中主要介绍了关于如何解决div外边距重合的相关问题,外边距的重叠只产生在普通流文档的上下外边距之间,只有块元素会发生外边距重叠,行内元素和行内块元素都不会发生外边距重叠问题,下面一起来看一下,希望…

    2025年3月10日
    200
  • 一起聊聊CSS盒子大小与内外边距及边框的关系

    本篇文章给大家带来了关于css的相关知识,其中给大家介绍了关于盒子大小与内外边距及边框关系的相关问题,css学习三大重点是css盒子模型、浮动、定位,下面一起来看一下,希望对大家有帮助。 (学习视频分享:css、css) 3-11  盒子大…

    2025年3月10日 编程技术
    200
  • css伪选择器学习之伪类选择器解析

    在之前的文章《css伪选择器学习之伪元素选择器解析》中,我们学习了伪元素选择器,而今天我们详细了解一下伪类选择器,希望对大家有所帮助! 伪类选择器 伪类选择器 是一种允许通过未包含在HTML元素的状态信息来定位HTML元素的用法。伪类选择器…

    2025年3月10日 编程技术
    200
  • 介绍下CSS盒子模型以及box-sizing属性

    本篇文章给大家带来了关于css的相关知识,其中主要介绍了css盒子模型以及box-sizing属性的相关问题,box-sizing属性定义如何计算一个元素的总宽度和总高度,主要设置是否需要加上内边距(padding)和边框等,下面一起来看一…

    2025年3月10日 编程技术
    200
  • 一文详解css中的UI状态伪类选择器

    UI状态伪类选择器,用于选择处于某种状态下的UI元素,主要用于HTML表单上,根据表单元素的不同状态,定义不同的样式,来增强用户体验。 UI状态伪类选择器的特征:指定的样式只有在某种状态下才起作用 表单元素的状态包括获得焦点、失去焦点、选中…

    2025年3月10日 编程技术
    200
  • CSS伸缩盒布局(总结分享)

    本篇文章给大家带来了关于css的相关知识,其中主要介绍了关于css伸缩盒布局的相关问题,一个元素设置 css 属性 display:flex 或者 display:inline-flex ,该元素就变为伸缩容器,下面一起来看一下,希望对大家…

    2025年3月10日
    200
  • css常用font字体属性有哪些?字体属性详解

    字体设置是网页设计中的重要组成部分,合适的字体不仅会使页面更加美观,也可以提升用户体验。css 中提供了一系列用于设置文本字体样式的属性,比如更改字体,控制字体大小和粗细等等。 【推荐学习:css视频教程】 css font字体属性 属性 …

    2025年3月10日 编程技术
    200
  • css背景渐变属性之径向渐变知识点总结

    本篇文章给大家带来了关于css的相关知识,其中主要介绍了径向渐变的相关问题,径向渐变可以理解为有了半径值的渐变,即最终的效果不再是沿着一条直线轴进行渐变。最终实现的效果是圆形或者椭圆形,下面一起来看一下,希望对大家有帮助。 (学习视频分享:…

    2025年3月10日 编程技术
    200
  • 一起看看CSS实现盒子的转换与过渡效果

    本篇文章给大家带来了关于css的相关知识,其中主要介绍了关于transform变换和transitions过渡的相关问题,一起看看css实现盒子的转换与过渡效果,希望对大家有帮助。 (学习视频分享:css、css) transform变换 …

    2025年3月10日 编程技术
    200
  • 纯CSS实现多级导航联动(附图文示例)

    css/editerView/ck_htmledit_views-b3c43d3711.css”/> 前言导航栏之前也做过……但都是很简单的一级导航栏或者用jq实现的二级导航栏。但是关于页面展示的东西,还是应该由css来实…

    2025年3月10日
    200

发表回复

登录后才能评论