web前端-css中最直观的反馈-伪类及伪元素选择器的使用

简介: web前端-css中最直观的反馈-伪类及伪元素选择器的使用

前言


上期给大家讲了css的一些选择器的使用,这期咱们一起学习css的另外两个选择器:伪类选择器以及伪元素选择器。


css伪类选择器


伪类用于定义元素的特殊状态。


  • 设置鼠标悬停在元素上时的样式


  • 为已访问和未访问链接设置不同的样式


  • 设置元素获得焦点时的样式


:active


用于选择活动链接。当您在一个链接上点击时,它就会成为活动的。即设置鼠标点击触发的样式。


实例:


<!DOCTYPE html>
<html lang="en">
<head>
    <title>伪类,伪元素</title>
    <style>
     a:active{
         background-color: antiquewhite;
         text-decoration: none;
         font-size:larger;
     }
    input:active{
        font-size: large;
        color: blue;
    }
    </style>
</head>
<body>
    <div>
        <a href="https://suliang.blog.csdn.net/" target="_blank">苏凉.py的博客</a><br>
        <p></p>
        <a href="https://www.baidu.com" target="_blank">百度一下</a><br>
        <p></p>
        <input type="submit" value="点击提交">
    </div>
</body>
</html>


效果:


image.png


https://ucc.alicdn.com/images/user-upload-01/a2c6ddfdee09477fbe861ee128442f66.gif#pic_center


:link和:visited


对未点击的链接和已点击的链接进行样式设置。


<!DOCTYPE html>
<html lang="en">
<head>
    <title>伪类,伪元素</title>
    <style>
        a:link{
            color: blueviolet;
        }
        a:visited{
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <a href="https://suliang.blog.csdn.net/" target="_blank">苏凉.py的博客</a><br>
        <p></p>
        <a href="https://blog.csdn.net/weixin_46277553/article/details/124882898?spm=1001.2014.3001.5501">已点击的链接</a><br>
        <p></p>
        <a href="https://www.baidu.com">百度一下</a><br>
        <p></p>
        <a href="liajie">未点击的链接</a>
        <input type="submit" value="点击提交">
    </div>
</body>
</html>


效果:


image.png


:hover


鼠标悬停时的样式。


<!DOCTYPE html>
<html lang="en">
<head>
    <title>伪类,伪元素</title>
    <style>
        div{
            background-color: aqua;
            width: 300px;
            height: 120px;
        }
        a:active{
            background-color: antiquewhite;
            text-decoration: none;
            font-size:larger;
        }
        input:active{
            font-size: large;
            color: blue;
        }
        div:hover{
            background-color: bisque;
        }
        a:hover{
            font-size: larger;
            color: red;   
        }
        input:hover{
            font-size: larger;
        }
    </style>
</head>
<body>
    <div>
        <a href="https://suliang.blog.csdn.net/" target="_blank">苏凉.py的博客</a><br>
        <p></p>
        <a href="https://www.baidu.com" target="_blank">百度一下</a><br>
        <p></p>
        <input type="submit" value="点击提交">
    </div>
</body>
</html>


效果:


image.png


https://ucc.alicdn.com/images/user-upload-01/aee37b88ec9d44269eed7c4f4add8d6c.gif#pic_center


上面列举了一些常用的伪类选择题。下面给大家把全部的伪类选择器列举出来,可以一个一个去实现。


伪类选择器合集


选择器 实例 描述
:active a:active 选择活动的链接。
:checked input:checked 选择每个被选中的 < input > 元素。
:disabled input:disabled 选择每个被禁用的 < input > 元素。
:empty p:empty 选择没有子元素的每个 < p > 元素。
:enabled input:enabled 选择每个已启用的 < input > 元素。
:first-child p:first-child 选择作为其父的首个子元素的每个 < p > 元素。
:first-of-type p:first-of-type 选择作为其父的首个 < p > 元素的每个 < p > 元素。
:focus input:focus 选择获得焦点的 < input > 元素。
:hover a:hover 选择鼠标悬停其上的链接。
:in-range input:in-range 选择具有指定范围内的值的 < input > 元素。
:invalid input:invalid 选择所有具有无效值的 < input > 元素。
:lang(language) p:lang(it) 选择每个 lang 属性值以 “it” 开头的 < p > 元素。
:last-child p:last-child 选择作为其父的最后一个子元素的每个 < p > 元素。
:last-of-type p:last-of-type 选择作为其父的最后一个 < p > 元素的每个 < p > 元素。
:link a:link 选择所有未被访问的链接。
:not(selector) :not§ 选择每个非 < p > 元素的元素。
:nth-child(n) p:nth-child(2) 选择作为其父的第二个子元素的每个 < p > 元素。
:nth-last-child(n) p:nth-last-child(2) 选择作为父的第二个子元素的每个< p >元素,从最后一个子元素计数。
:nth-last-of-type(n) p:nth-last-of-type(2) 选择作为父的第二个< p >元素的每个< p >元素,从最后一个子元素计数
:nth-of-type(n) p:nth-of-type(2) 选择作为其父的第二个 < p > 元素的每个 < p > 元素。
:only-of-type p:only-of-type 选择作为其父的唯一 < p > 元素的每个 < p > 元素。
:only-child p:only-child 选择作为其父的唯一子元素的 < p > 元素。
:optional input:optional 选择不带 “required” 属性的 < input > 元素。
:out-of-range input:out-of-range 选择值在指定范围之外的 < input > 元素。
:read-only input:read-only 选择指定了 “readonly” 属性的 < input > 元素。
:read-write input:read-write 选择不带 “readonly” 属性的 < input > 元素。
:required input:required 选择指定了 “required” 属性的 < input > 元素。
:root root 选择元素的根元素。
:target #news:target 选择当前活动的 #news 元素(单击包含该锚名称的 URL)。
:valid input:valid 选择所有具有有效值的 < input > 元素。
:visited a:visited 选择所有已访问的链接。


css伪元素选择器


CSS 伪元素用于设置元素指定部分的样式。


例如,它可用于:


  • 设置元素的首字母、首行的样式


  • 在元素的内容之前或之后插入内容


伪元素合集


选择器 例子 描述
::after p::after 在每个 < p > 元素之后插入内容。
::before p::before 在每个 < p > 元素之前插入内容。
::first-letter p::first-letter 选择每个 < p > 元素的首字母。
::first-line p::first-line 选择每个 < p > 元素的首行。
::selection p::selection 选择用户选择的元素部分。


::after和::before


在元素之后/之前插入内容。


<!DOCTYPE html>
<html lang="en">
<head>
    <title>伪元素选择器</title>
    <style>
        p::after{
            content:url(./img/picture.png);
        } 
        p::before{
            content: url(./img/picture.png);
        }
    </style>
</head>
<body>
    <p>这是一个段落</p>
</body>
</html>


效果:


image.png


::first-letter


选中元素的第一个字/字母/数字…


<!DOCTYPE html>
<html lang="en">
<head>
    <title>伪元素选择器</title>
    <style>
        p::after{
            content:url(./img/picture.png);
        } 
        p::first-letter{
            color:red;
            font-size: 70px;
            background-color: antiquewhite;
        }
    </style>
</head>
<body>
    <p>这是一个段落</p>
</body>
</html>


效果:


image.png


::first-line


选择第一行


<!DOCTYPE html>
<html lang="en">
<head>
    <title>伪元素选择器</title>
    <style>   
        p::first-letter{
            color:red;
            font-size: 30px;
            background-color: antiquewhite;
        }
        p::first-line{
            background-color: pink;
        }
    </style>
</head>
<body>
    <p>噫吁嚱,危乎高哉!蜀道之难,难于上青天!蚕丛及鱼凫,开国何茫然!尔来四万八千岁,不与秦塞通人烟。西当太白有鸟道,可以横绝峨眉巅。地崩山摧壮士死,然后天梯石栈相钩连。上有六龙回日之高标,下有冲波逆折之回川。黄鹤之飞尚不得过,猿猱欲度愁攀援。青泥何盘盘,百步九折萦岩峦。扪参历井仰胁息,以手抚膺坐长叹。</p>
    <p>问君西游何时还?畏途巉岩不可攀。但见悲鸟号古木,雄飞雌从绕林间。又闻子规啼夜月,愁空山。蜀道之难,难于上青天,使人听此凋朱颜!连峰去天不盈尺,枯松倒挂倚绝壁。飞湍瀑流争喧豗,砯崖转石万壑雷。其险也如此,嗟尔远道之人胡为乎来哉!</p>
    <p>剑阁峥嵘而崔嵬,一夫当关,万夫莫开。所守或匪亲,化为狼与豺。朝避猛虎,夕避长蛇;磨牙吮血,杀人如麻。锦城虽云乐,不如早还家。蜀道之难,难于上青天,侧身西望长咨嗟!</p>
</body>
</html>


效果:


image.png


::selection


设置选中时的样式。


<!DOCTYPE html>
<html lang="en">
<head>
    <title>伪元素选择器</title>
    <style>   
        p::first-letter{
            color:red;
            font-size: 30px;
            background-color: antiquewhite;
        }
        p::first-line{
            background-color: pink;
        }
       p::selection{
           background-color: green;
           color: yellow;
       }
    </style>
</head>
<body>
    <p>噫吁嚱,危乎高哉!蜀道之难,难于上青天!蚕丛及鱼凫,开国何茫然!尔来四万八千岁,不与秦塞通人烟。西当太白有鸟道,可以横绝峨眉巅。地崩山摧壮士死,然后天梯石栈相钩连。上有六龙回日之高标,下有冲波逆折之回川。黄鹤之飞尚不得过,猿猱欲度愁攀援。青泥何盘盘,百步九折萦岩峦。扪参历井仰胁息,以手抚膺坐长叹。</p>
    <p>问君西游何时还?畏途巉岩不可攀。但见悲鸟号古木,雄飞雌从绕林间。又闻子规啼夜月,愁空山。蜀道之难,难于上青天,使人听此凋朱颜!连峰去天不盈尺,枯松倒挂倚绝壁。飞湍瀑流争喧豗,砯崖转石万壑雷。其险也如此,嗟尔远道之人胡为乎来哉!</p>
    <p>剑阁峥嵘而崔嵬,一夫当关,万夫莫开。所守或匪亲,化为狼与豺。朝避猛虎,夕避长蛇;磨牙吮血,杀人如麻。锦城虽云乐,不如早还家。蜀道之难,难于上青天,侧身西望长咨嗟!</p>
</body>
</html>


效果:


image.png

目录
相关文章
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
1362 2
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
534 5
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
544 2
CSS3 新增伪类有那些
CSS3 引入了多种新伪类,增强了样式控制的灵活性。新增的结构伪类如 `:nth-child(n)` 和 `:first-of-type` 可以根据元素的位置和类型进行选择;状态伪类如 `:enabled` 和 `:checked` 则根据元素的状态进行选择;动态伪类如 `:hover` 和 `:active` 则基于用户的交互行为。这些伪类让样式定制更加多样和强大。
|
前端开发
运用CSS伪类与属性,巧妙实现背景图片旋转效果
运用CSS伪类与属性,巧妙实现背景图片旋转效果
601 0
|
前端开发
CSS常见的选择器
CSS常见的选择器
234 0
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
1775 14
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
1160 0
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
948 6

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    712
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    568
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    574
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    346
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    662
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    841
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1646
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    396
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1362
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    672