CSS中的伪类选择器和伪元素选择器的代码分析

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

一、链接伪类

1、链接伪类

        /*链接伪类*/        注意:link,:visited,:target是作用于链接元素的!                :link       表示作为超链接,并指向一个未访问的地址的所有锚                :visited    表示作为超链接,并指向一个已访问的地址的所有锚                :target     代表一个特殊的元素,它的id是URI的片段标识符

2、代码实例:
01_锚点伪类.html

                                            a{                text-decoration: none;            }            a:link{                color: deeppink;            }            #test:link{                background: pink;            }                        点我点我点我        

我是p啦

02_锚点伪类.html

                                            a{                text-decoration: none;            }            a:link{                color: black;            }            a:visited{                color: pink;            }                        点我点我点我    

03_target.html

                                             *{                margin: 0;                padding: 0;            }            p{                width: 300px;                height: 200px;                line-height: 200px;                background: black;                color: pink;                text-align: center;                display: none;            }            :target{                display: block;            }                        p1        p2        p3        

p1

p2

p3

二、动态伪类

1、动态伪类

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

        /*动态伪类*/        注意:hover,:active基本可以作用于所有的元素!                :hover      表示悬浮到元素上                :active     表示匹配被用户激活的元素(点击按住时)注意:由于a标签的:link和:visited可以覆盖了所有a标签的状态,所以当:link,:visited,:hover,:active同时出现在a标签身上时 :link和:visited不能放在最后!!!

2、代码实例:

                                        #test:hover{                color: pink;            }            #test:active{                color: red;            }                        

我是test

三、隐私与:visited选择器

1、隐私与:visited选择器

/*隐私与:visited选择器*/只有下列的属性才能被应用到已访问链接:    color  background-color  border-color

四、表单相关伪类

1、表单相关伪类

    /*表单相关伪类*/    :enabled    匹配可编辑的表单        :disable    匹配被禁用的表单        :checked    匹配被选中的表单        :focus      匹配获焦的表单

2、代码实例:
01_表单状态.html

                无标题文档                    input {                width: 100px;                height: 30px;                color: #000;            }            input:enabled {                color: red;            }            input:disabled {                color: blue;            }                                    

02_表单状态.html

                无标题文档                    input:checked {                width: 100px;                height: 100px;            }                            

03_获取焦点.html

                                    input:focus{                background: pink;            }            p:focus{                background: pink;            }                                

04_模拟单选框.html

                无标题文档                    label {                float: left;                margin: 0 5px;                overflow: hidden;                position: relative;            }            label input {                position: absolute;                left: -50px;                top: -50px;            }            span {                float: left;                width: 50px;                height: 50px;                border: 3px solid #000;            }            input:checked~span {                background: red;            }                                            

四、结构性伪类

1、结构性伪类

/*结构性伪类*/index的值从1开始计数!!!!index可以为变量n(只能是n)index可以为even odd    #wrap ele:nth-child(index)      表示匹配#wrap中第index的子元素 这个子元素必须是ele    #wrap ele:nth-of-type(index)    表示匹配#wrap中第index的ele子元素    除此之外:nth-child和:nth-of-type有一个很重要的区别!!            nth-of-type以元素为中心!!!:nth-child(index)系列             :first-child    :last-child    :nth-last-child(index)    :only-child (相当于:first-child:last-child 或者 :nth-child(1):nth-last-child(1)):nth-of-type(index)系列    :first-of-type    :last-of-type    :nth-last-type(index)    :only-of-type   (相当于:first-of-type:last-of-type 或者 :nth-of-type(1):nth-last-of-type(1)):not        :empty(内容必须是空的,有空格都不行,有attr没关系)

2、代码实例:

                                    /*子元素的标签应该要统一*/            /*ul .item:nth-child(3){                border: 1px solid;            }*/            ul .item:nth-of-type(3){                border: 1px solid;            }            /*ul p:nth-of-type(3){                border: 1px solid;            }            ul p:nth-of-type(3){                border: 1px solid;            }            ul li:nth-of-type(3){                border: 1px solid;            }*/                        

    p1

    p2

    p3

  • 1
  • 2
  • 3
  • 4
  • 5
  • p1

    p2

    p3

  • 6
  • 7
  • 8
  • 9

04_not.html

                not                    * {                margin: 0;                padding: 0;                border: none;            }            a {                text-decoration: none;                color: #333;                font-size: 14px;                display: block;                float: left;                width: 100px;                height: 30px;            }            p {                width: 800px;                margin: 0 auto;            }            p>a:not(:last-of-type) {                border-right: 1px solid red;            }                        

first second third fourth fifth

05_empty.html

                empty                    p {                height: 200px;                background: #abcdef;            }            p:empty {                background: #f00;            }                        

美图云修
美图云修

商业级AI影像处理工具

美图云修 61
查看详情 美图云修

Second

Third

五、伪元素

1、伪元素

/*伪元素*/    ::after    ::before    ::firstLetter    ::firstLine    ::selection

2、代码实例:
after.html

                after                    p {                width: 300px;                height: 100px;                border: 1px solid #000;            }            p::after {                content: "我在内容的后面";            }                        

伪元素

before.html

                before                    p {                width: 300px;                height: 100px;                border: 1px solid #000;            }            p::before {                content: "我在内容的前面";            }                        

伪元素

firstLetter.html

                First-Letter                    p {                width: 500px;                margin: 0 auto;                font-size: 12px;            }            p::first-letter {                color: #f00;                font-size: 24px;                font-weight: bold;            }                        

sssss

firstLine.html

                First-Line                    p {                width: 500px;                margin: 0 auto;            }            p::first-line {                color: #f00;                font-weight: bold;            }                        

sssss
sssss
sssss

selection.html

                Selection                    p::selection {                background: red;                color: pink;            }                        

SelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelectionSelection

相关推荐:

CSS中一些利用伪类、伪元素和相邻元素选择器的技巧

CSS中的选择器种类总结及效率比较示例

以上就是CSS中的伪类选择器和伪元素选择器的代码分析的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:17:50
下一篇 2025年12月24日 02:18:05

相关推荐

  • 为什么“元素的内容是蓝色而不是红色或绿色?

    “类选择器颜色设置”疑惑 有人提问,如下面的 html 代码中,为什么 元素的内容是蓝色,而不是红色或绿色? 展示的内容 .a1 { color: red;}.a2 { color: green;}.a3 { color: blue;} 解答 这是因为 css 样式具有层叠性。当多个样式应用于同一元…

    2025年12月24日
    000
  • 为什么CSS中多个类选择器声明时,最后声明的样式会覆盖前面的样式?

    探究类选择器样式的覆盖规则 给定如下html和css代码: html: 展示的内容立即学习“前端免费学习笔记(深入)”; css: .a1 { color: red;}.a2 { color: green;}.a3 { color: blue;} 元素的文本显示为蓝色,这是为什么? 答案: 由于cs…

    2025年12月24日
    000
  • 如何在 input 标签内重写外部样式?

    如何在 input 标签内重写外部样式? 在编写 css 样式表时,有时需要重写外部样式,以覆盖特定元素的样式。通常,我们可以通过在元素的 style 属性中设置样式来实现。然而,在 input 标签中,此方法存在局限性。 问题中提到的示例中,尝试在 input 标签的 style 属性中添加 ch…

    2025年12月24日
    000
  • 如何对齐 HTML 中的中括号 【】 及其第二行文本内容?

    中括号文字如何与第二行对齐,既美观又牢靠? 问题 如何在 html 中对齐中括号 【】 和第二行的文本内容? 尝试过的解决方法 可以使用 margin-left 属性给中括号添加负边距,实现对齐。 更好的方法 1. 使用 text-indent 缩进第二行 立即学习“前端免费学习笔记(深入)”; 主…

    2025年12月24日
    000
  • 如何让中括号【】与下面内容垂直对齐?

    中括号与下面内容的垂直对齐 问题:中括号(【】)如何与下面的文本内容垂直对齐? 解决方法: 针对中文符号,第一行使用text-indent进行缩进效果更佳。 div:nth-child(1) { text-indent: 10px;} 或者,可以给第一行添加负的缩进。 div:nth-child(1…

    2025年12月24日
    000
  • 如何覆盖 HTML 中 “ 标签的外部样式?

    如何在 input 标签内覆盖外部样式 在 html 中, 标签的样式通常通过外部 css 样式表定义。但是,有时候我们需要在 标签内定义样式以覆盖外部样式。 解决方案 不能直接覆盖 立即学习“前端免费学习笔记(深入)”; 不幸的是,我们无法直接在 标签内部覆盖外部样式。这是因为 标签不支持 :af…

    2025年12月24日
    000
  • 如何使用 CSS 伪类选择器实现 span 标签点击后的高亮选中效果?

    如何实现span标签点击后的高亮选中效果? 在网页设计中,span元素经常用于强调或划分文本。为了增强用户体验,开发者常常需要为span元素添加点击事件,让其在被点击时具有突出的视觉效果,例如高亮、边框变色等。本文将介绍如何使用css伪类选择器实现span标签点击后的高亮选中状态。 css伪类选择器…

    2025年12月24日
    000
  • 如何使用 CSS 伪类选择器为 span 按钮添加点击高亮状态?

    让点击的span按钮高亮 在使用span元素创建按钮时,为点击的按钮添加选中高亮状态是常见的需求。为了实现这一效果,可以利用 css 伪类选择器。 伪类选择器 使用 :hover, :active 和 :focus 伪类选择器可以分别在悬停、点击和聚焦时触发特定的样式。 立即学习“前端免费学习笔记(…

    2025年12月24日
    000
  • CSS 如何选择特定 class 的孙子元素,同时排除最后一个?

    如何用 CSS 选择特定 class 的孙子元素并排除最后一个 为了选择一个 class 为 “parent” 的 div 中,所有拥有 class 为 “interline” 的 p 元素,但排除最后一个,我们可以使用以下 CSS 代码: ` .pa…

    2025年12月24日
    000
  • 如何修复 CSS :hover 高亮错误导致单元格高亮的问题?

    css 中 :hover 高亮错误的修复 在 html 中,使用 :hover 伪类可以实现当鼠标悬停在元素上时触发特定样式。然而,有时 :hover 高亮的错误现象会导致意外的结果。 问题描述 如问题所述,要在表格上鼠标悬停时高亮它的外边框,但使用以下 css 代码时却导致表格中的单元格 (td)…

    2025年12月24日
    000
  • CSS 中如何使对象为空时的样式失效?

    css中,当对象为空时如何使样式不生效? 在数组中的对象name为空的情况下,css中的样式失效可以采用以下解决方法: 使用v-show 在vue中,可以使用v-show指令来控制元素的显示和隐藏。当对象name为空时,可以通过v-show指令将其隐藏掉。代码如下: 立即学习“前端免费学习笔记(深入…

    2025年12月24日
    000
  • 如何优雅地将中括号与第二行文本内容对齐?

    中括号与第二行文本内容对齐进阶方法 如何将开头中括号与第二行文本内容进行对齐是一个常见的排版问题。除了使用 margin-left:-12px 偏移第一行之外,还有更优雅的解决方案。 1. 利用 text-indent 对于第二行文本,可以使用 text-indent 进行缩进。这样可以实现与第一行…

    2025年12月24日
    000
  • 对象为空时如何禁用 CSS 样式?

    对象为空时禁用 css 样式 在解决数组中对象名称为空不会禁用 css 样式的问题时,使用了以下方法: 解决方案 通过使用 v-show 属性将其隐藏掉。当 name 为空时,v-show 表达式为 false,元素将被隐藏,从而禁用 css 样式。 立即学习“前端免费学习笔记(深入)”; 代码展示…

    2025年12月24日
    000
  • 如何让中括号与第二行文本内容精准对齐?

    中括号与第二行文本内容精准对齐 中括号作为常见的分隔符号,如何使其与第二行文本内容精准对齐,一直是困扰开发者的难题。 问题解析 最直接的解决方法是使用 margin-left 负缩进,然而这种方式存在局限性。例如,当 【 符号并非每次出现时,负缩进会影响其他文本内容的显示。 最佳实践 考虑到中文符号…

    2025年12月24日
    000
  • CSS 选择器:针对复杂元素的定位难题如何解决?

    css 选择器难题解析 css 中存在各种选择器,它们提供强大的方式来为页面元素指定样式。在这个示例中,我们遇到一个复杂的 css 选择器: .slides input[type=’radio’]:nth-of-type(3):checked ~ .controls-visible label:nt…

    2025年12月24日
    000
  • 如何针对第三个选中的 radio 输入应用背景色样式?

    css 选择器疑难解答 问题:理解 css 选择器规则 提供的 css 规则如下: .slides input[type=’radio’]:nth-of-type(3):checked ~ .controls-visible label:nth-of-type(3) { background-col…

    2025年12月24日
    000
  • CSS 选择器:您设计网页的新好朋友

    欢迎来到 css 的奇妙世界! 如果您是 web 开发新手,您可能会想,“css 选择器到底是什么,我为什么要关心?”好吧,css 选择器就像 web 开发领域中值得信赖的魔杖。它们可让您挑选网页上的特定元素并对其进行时尚改造。 让我们深入了解基础知识,学习如何让您的网站看起来很棒! 1. 通用选择…

    2025年12月24日
    000
  • css3选择器的优先级

    CSS3 选择器优先级决定了哪条规则将应用于 HTML 元素时优先级。优先级规则包括:特殊性规则:ID 选择器权重最高,标签选择器权重最低。来源规则:外部样式表的权重为 1,内联样式的权重为 100。声明顺序规则:后面声明的规则优先级高于前面声明的规则,除非前面规则具有更高的特殊性或来源权重。 CS…

    2025年12月24日
    000
  • css选择器的优先级从高到低是

    CSS 选择器的优先级从高到低:1. 行内样式;2. ID 选择器;3. 类选择器;4. 类型选择器;5. 通用选择器;6. 属性选择器;7. 伪类选择器;8. 伪元素选择器;当优先级相同,后面声明的样式覆盖前面样式,行内样式优先于外部样式表样式。 CSS 选择器的优先级 CSS 选择器的优先级决定…

    2025年12月24日
    000
  • css选择器的种类

    CSS选择器根据元素属性可分为:根据元素名称选择根据元素属性选择根据元素结构选择根据元素状态选择根据元素位置选择通用选择器 CSS 选择器的种类 CSS 选择器是用于从网页中选择特定元素的语法。根据元素的不同属性,CSS 选择器可以分为以下几类: 根据元素名称选择 全称选择器:选择特定元素名称,如 …

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信