CSS学习记录02CSS基本选择器、层次选择器、伪类选择器、属性选择器

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

Title

学Java

学Java

看视频课

在这里插入图片描述

其中:

  • border-radius: 圆角边框
  • border-radius:2em;等价于
_border-top-left-radius:2em;  
border-top-right-radius:2em;  
border-bottom-right-radius:2em;  
border-bottom-left-radius:2em;_
  • border-radius: 2em 1em 4em / 0.5em 3em;等价于
_border-top-left-radius: 2em 0.5em;  
border-top-right-radius: 1em 3em;  
border-bottom-right-radius: 4em 0.5em;  
border-bottom-left-radius: 1em 3em;_
2.1.2类选择器

引例:

给三个一级标题设置不同颜色

如果用标签选择器,显然是不行的

Title

标题1

标题2

标题3

在这里插入图片描述

这时候,就需要类选择器出场了:

Title

标题1

标题2

标题3

在这里插入图片描述

用<h1 class:“XXX”>设置类名称,在style中设置样式时,用”.类名"的方式单独设置某一个class属性的颜色,即类选择器选择所有class属性一致的标签设置样式,且可跨标签使用。

解释跨标签使用:

在上述类选择器代码中:

标题1

标题2

标题3

在这里插入图片描述

h1标签和p标签共用一个class属性是可以的。

用法简要归纳:

标题1

标题2

标题3

优势:

  • 可以多个标签归类(设置同一个class)
2.1.3ID选择器

顾名思义:

Title

标题1

标题2

标题3

用法简要归纳:

标题1

标题2

标题3

注意:

  • 在这里插入图片描述
id必须保证全局唯一!不可复用!
  • 不遵循就近原则,优先级为:id选择器>class选择器>标签选择器

2.2层次选择器

2.2.1后代选择器

在某个元素的后面

例:

Title

p1

p2

p3

    • p4

    • p5

    • p6

      在这里插入图片描述

      其中,body p{}指设置"body"后的所有p标签。

      2.2.2子选择器

      只设置一代

      在这里插入图片描述

      只有"body"后的第一代p标签才被有效设置。

      2.2.3相邻兄弟选择器

      顾名思义,同辈

      Title

      p0

      p1

      p2

      p3

      • p4

      • p5

      • p6

        p7

        p8

        在这里插入图片描述

        其中"p2"是"p1"的相邻兄弟(向下顺延),“p8"是"p7"的相邻兄弟(向下顺延),所以"p2”、"p8"被有效设置,"p0"因其为"p1"的向上相邻而非向下,故不被有效设置。

        2.2.4通用选择器

        在这里插入图片描述

        即,相对于相邻兄弟选择器,多了其本身。

        2.3伪类选择器

        伪类选择器(简称:伪类)通过冒号来定义,它定义了元素的状态,如点击按下,点击完成等,通过伪类可以为元素的状态修改样式。

        伪类选择器主要可以分为:动态伪类选择器、UI元素状态伪类选择器、结构伪类选择器、否定伪类选择器。

        2.3.1动态伪类选择器

        | 语法 | 解释 |

        | — | — |

        | E:link | 选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上 |

        | E:visited | 选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上 |

        | E:active | 选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上 |

        | E:hover | 选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover |

        | E:focus | 选择匹配的E元素,而且匹配元素获取焦点 |

        a标签有4种伪类(即对应四种状态),如下:

        • :link “链接”:超链接点击之前

        • :visited “访问过的”:链接被访问过之后

        • :hover “悬停”:鼠标放到标签上的时候

        • :active “激活”: 鼠标点击标签,但是不松手时。

        例:

        /让超链接点击之前是红色/

        a:link {color: red;}

        /让超链接点击之后是橙色/

        a:visited {color: orange;}

        /鼠标悬停,放到标签上的时候是绿色/

        a:hover {color: green;}

        /鼠标点击链接,但是不松手的时候/

        a:active {color: black;}

        在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的,a:active 必须被置于 a:hover 之后,才是有效的。所以,a标签的这四种伪类选择器的顺序为:a:link ,a:visited,a:hover ,a:active

        2.3.2UI元素状态伪类选择器

        | 语法 | 解释 |

        | — | — |

        | E:checked | 匹配选中的复选按钮或者单选按钮表单元素 |

        | E:enabled | 匹配所有启用的表单元素 |

        | E:disabled | 匹配所有禁用的表单元素 |

        UI元素状态伪类选择器主要是针对于HTML中的Form元素进行操作,最常见的比如我们"type="text"有enable和disabled两种状态,前者为可写状态后者为不可状态;另外"type="radio"和"type=“checkbox”"有"checked"和"unchecked"两种状态。来看两个实例,比如说你想将"disabled"的文本框与别的文本框区别出来,你就可以这样应用:

        input[type=“text”]:disabled {border:1px solid #999;background-color: #fefefe;}

        注意:IE6-8不支持":checked",“:enabled”,":disabled"这三种选择器。

        2.3.3结构伪类选择器

        | 语法 | 解释 |

        | — | — |

        | E:fisrt-child | 作为父元素的第一个子元素的元素E。与E:nth-child(1)等同 |

        | E:last-child | 作为父元素的最后一个子元素的元素E。与E:nth-last-child(1)等同 |

        | E:root | 选择匹配元素E所在文档的根元素。在HTML文档中,根元素始终是html,此时该选择器与html类型选择器匹配的内容相同 |

        | E F:nth-child(n) | 选择父元素E的第n个子元素F。其中n可以是整数(1,2,3)、关键字(even,odd)、可以是公式(2n+1),而且n值起始值为1,而不是0 |

        | E F:nth-last-child(n) | 选择父元素E的倒数第n个子元素F。此选择器与E:nth-child(n)选择器计算顺序刚好相反,但使用方法都是一样的,其中:nth-last-child(1)始终匹配最后一个元素,与last-child等同 |

        | E:nth-of-type(n) | 选择父元素内具有指定类型的第n个E元素 |

        | E:nth-last-of-type(n) | 选择父元素内具有指定类型的倒数第n个E元素 |

        | E:first-of-type | 选择父元素内具有指定类型的第一个E元素,与E:nth-of-type(1)等同 |

        | E:last-of-tye | 选择父元素内具有指定类型的最后一个E元素,与E:nth-last-of-type(1)等同 |

        | E:only-child | 选择父元素只包含一个子元素,且该子元素匹配E元素 |

        | E:only-of-type | 选择父元素只包含一个同类型子元素,且该子元素匹配E元素 |

        | E:empty | 选择没有子元素的元素,而且该元素也不包含任何文本节点 |

        Title

        p1

        p2

        p3

        • li1
        • li2
        • li3
        • 在这里插入图片描述

          规定属于其父元素的第一个子元素的每个 p 的背景色:

          /选中p1:定位到父元素,选择当前的第一个元素/

          p:nth-child(1){

          background: blueviolet;

          }

          解释:

          第一步:定位p的父元素(p的第一个作用)

          第二步:定位父元素下的第一个元素(数字的作用)

          第三步:判断这第一个元素是否为p,若为p则改变样式,否则无效

          选择父元素里第二个类型为p的元素,设置为黄色背景:

          p:nth-last-of-type(2) {

          background: yellow;

          }

          在这里插入图片描述

          结构伪类选择器,可以根据元素在文档中所处的位置,来动态选择元素,从而减少HTML文档对ID或类的依赖,有助于保持代码干净整洁。

          结构伪类选择器很容易遭到误解,需要特别强调。如:

          input:not([type="submit"]) {border: 1px solid red;}

          它表示的是:选择父元素下的第一个子元素 p,而不是选择 p 元素的第一个子元素。

          2.3.4否定伪类选择器

          | 语法 | 解释 |

          | — | — |

          | E:not(F) | 匹配所有除元素F外的E元素 |

          例:对form中所有input加边框,但又不想submit也起变化,就可以这样写:

          input:not([type=“submit”]) {border: 1px solid red;}

          文末

          技术是没有终点的,也是学不完的,最重要的是活着、不秃。

          零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。

          最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。

          自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。

          高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。

          技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。

          拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!

          网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

          需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
          img

          一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
          很容易遭到误解,需要特别强调。如:

          input:not([type="submit"]) {border: 1px solid red;}

          它表示的是:选择父元素下的第一个子元素 p,而不是选择 p 元素的第一个子元素。

          2.3.4否定伪类选择器

          | 语法 | 解释 |

          | — | — |

          | E:not(F) | 匹配所有除元素F外的E元素 |

          例:对form中所有input加边框,但又不想submit也起变化,就可以这样写:

          input:not([type=“submit”]) {border: 1px solid red;}

          文末

          技术是没有终点的,也是学不完的,最重要的是活着、不秃。

          零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。

          最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。

          自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。

          高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。

          技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。

          拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!

          网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

          需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
          [外链图片转存中…(img-hRbUoMub-1713290124671)]

          一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

        • 4
          点赞
        • 4
          收藏
          觉得还不错? 一键收藏
        • 0
          评论
        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

        当前余额3.43前往充值 >
        需支付:10.00
        成就一亿技术人!
        领取后你会自动成为博主和红包主的粉丝 规则
        hope_wisdom
        发出的红包
        实付
        使用余额支付
        点击重新获取
        扫码支付
        钱包余额 0

        抵扣说明:

        1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
        2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

        余额充值