CSS中伪类和伪元素的详细介绍(代码示例)

本篇文章给大家带来的内容是关于CSS中伪类和伪元素的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、伪类

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

(1)状态伪类是基于元素当前状态进行选择的。

在与用户的交互过程中元素的状态是动态变化的,因此该元素会根据其状态呈现不同的样式。当元素处于某状态时会呈现该样式,而进入另一状态后,该样式也会失去。

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

常见的状态伪类主要包括:

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

前 4 个伪类的特指度相同,如果不按照这里列出的顺序使用它们,浏览器可能不会显示预期结果。为了好记,可以这么想:“LoVe? HA!”大写字母就是每个伪类的头一个字母。

input:focus {border:1px solid blue;}

登录后复制

会在光标位于 input 字段中时,为该字段添加一个蓝色边框。这样可以让用户明确
地知道输入的字符会出现在哪里。

More Information

This is the information you are looking for.

#more_info:target {background:#eee;}

登录后复制

会在用户单击链接转向 ID 为 more_info的元素时,为该元素添加浅灰色背景。

(2)结构性伪类是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 选择的元素里面没有任何内容。

二、伪元素

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

常见的伪元素选择器包括:

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

三、注意

单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素,为了兼容某些浏览器,一般都采用单冒号

兼容性的问题,交给postcss去做。本文并未涉及兼容性的写法,包括前缀问题,可以交给autoprefixer去做。(这句话啥意思没懂,以后看看说的啥)

伪类(结构伪类)的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。

四、伪元素的使用

(1) 清除浮动

.clear:after {content: '';display: block;clear: both;}

登录后复制

(2) 画分割线

* {  padding: 0;  margin: 0;}.spliter::before, .spliter::after {  content: '';  display: inline-block;  border-top: 1px solid black;  width: 200px;  margin: 5px;}    

分割线

登录后复制

以上就是CSS中伪类和伪元素的详细介绍(代码示例)的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月10日 21:18:48
下一篇 2025年3月2日 06:36:40

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

相关推荐

  • css隐藏移动端滚动条并平滑滚动(代码示例)

    本篇文章给大家带来的内容是关于css隐藏移动端滚动条并平滑滚动(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 HTML代码如下 移动端隐藏滚动条解决方案 * { padding: 0; margin: 0; }…

    编程技术 2025年3月10日
    200
  • CSS如何实现表单label的两端对齐(代码示例)

    本篇文章给大家带来的内容是关于CSS如何实现表单label的两端对齐(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 主要属性: text-align: justify; text-align-last: jus…

    2025年3月10日
    200
  • CSS中的长度单位的应用介绍

    本篇文章给大家带来的内容是关于css中的长度单位的应用介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CSS中有很多属性可以接受长度值,比如: width, height, margin, padding, borde…

    编程技术 2025年3月10日
    200
  • css3核心知识点的小结(代码示例)

    本篇文章给大家带来的内容是关于css3核心知识点的小结(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css3前缀(浏览器兼容) 根据了解,css3属性大部分支持ie10,部分支持ie9,少部分支持ie8 //…

    编程技术 2025年3月10日
    200
  • 纯CSS3实现3D翻转效果的代码示例

    本篇文章给大家带来的内容是关于纯CSS3实现3D翻转效果的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 作为前端开发人员的必修课,CSS3能带我们完成许多基本动效,本期我们将用CSS3实现hover翻转效果~ 第…

    2025年3月10日 编程技术
    200
  • CSS三栏布局的实现方法总结(代码示例)

    本篇文章给大家带来的内容是关于css三栏布局的实现方法总结(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 对于前端来说,布局也是必须掌握的,一个好的布局可以让页面看起来更美观。提到布局,那就不得不说CSS三栏布…

    编程技术 2025年3月10日
    200
  • @keyframes是什么

    @keyframes是css的一种规则,可以用来定义css动画的一个周期的行为,创建简单的动画。 css @keyframes 作用:通过 @keyframes 规则,您能够创建动画。 说明: 创建动画的原理是,将一套 CSS 样式逐渐变化…

    2025年3月10日
    200
  • nav-up属性如何使用

    nav-up属性设置或检索对象的导航方向,有四个属性值可以设置:auto(浏览器决定导航到哪个元素), id(规定被导航元素的id,target-name (规定被导航的目标框架),inherit(规定应从父元素继承 nav-up 属性的值…

    2025年3月10日
    200
  • border-radius属性如何使用

    border-radius属性用于创建圆角,其使用语法是“border-radius: 1-4 length|%;”,border-radius是一个最多可指定四个“border -*- radius”属性的复合属性。 本文操作环境:Win…

    2025年3月10日
    200
  • box-shadow属性的功能是什么

    box-shadow是css3中的一个属性,是用于向方框添加一个或多个阴影,并设置阴影位置、尺寸、颜色等。 CSS3 box-shadow属性 作用:box-shadow 用于向方框添加阴影 基本语法: box-shadow: h-shad…

    2025年3月10日
    200

发表回复

登录后才能评论