zoukankan      html  css  js  c++  java
  • css--css选择器,伪类

    前戏

    前面我们说过CSS规则由选择器和声明组成,我们要给标签设置属性,那我们就要找到对应的标签,CSS选择器可以帮我们找到我们需要的标签

    css选择器有:

    标签选择器

    类选择器

    ID选择器

    全局选择器

    群组选择器

    后代选择器

    标签选择器

    标签选择器前面我们用过,它是以HTML标签作为选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
            p{color:red}
            h1,div{color:blue}
         </style>
    </head>
    <body>
        <h1>h1标签</h1>
        <div>css选择器</div>
        <p>标签选择器</p>
        <p>类选择器</p>
        <p>ID选择器</p>
    </body>
    </html>

    注意:有多个标签之间用,隔开

    类选择器

    同一个元素可以设置多个类,之间用空格隔开

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
            .p1{color:red}
             .p2,.p3{color:blue}
    
         </style>
    </head>
    <body>
        <h1 class="p1">h1标签</h1>
        <div>css选择器</div>
        <p class="p1">标签选择器</p>
        <p class="p2">类选择器</p>
        <p class="p3">ID选择器</p>
    </body>
    </html>

    注意:多个类时用,隔开

    如果我们只想给p标签下的class=p1的设置怎么办?

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
          p.p1{color:red}
    
         </style>
    </head>
    <body>
        <h1 class="p1">h1标签</h1>
        <div>css选择器</div>
        <p class="p1">标签选择器</p>
        <p class="p2">类选择器</p>
        <p class="p3">ID选择器</p>
    </body>
    </html>

    在类选择器前面加上标签名就可以了

    ID选择器

    id选择器和类选择器差不多,类选择器用的是点,id选择器用的是#

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
          #i1{color: green}
    
         </style>
    </head>
    <body>
        <p id="i1">标签选择器</p>
        <p id="i2">类选择器</p>
        <p id="i3">ID选择器</p>
    </body>
    </html>
    View Code

    群组选择器

    群组选择器其实我们在标签选择器的时候已经使用过了,就是把多个标签用逗号隔开,当然,群组选择器不只可以用做标签,也可以用做类选择器,id选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
          #i1,#i2,#i3,.h1{color: red}
    
         </style>
    </head>
    <body>
        <h1 class="h1">我是h1</h1>
        <p id="i1">标签选择器</p>
        <p id="i2">类选择器</p>
        <p id="i3">ID选择器</p>
    </body>
    </html>
    View Code

    这样,页面上所有的字体都成了红色

    全局选择器

    全局选择器就是给所有标签设置一个样式,一般用做清除标签默认的样式

    我们来将上面的群组选择器换成全局选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
          *{color: red}
    
         </style>
    </head>
    <body>
        <h1 class="h1">我是h1</h1>
        <p id="i1">标签选择器</p>
        <p id="i2">类选择器</p>
        <p id="i3">ID选择器</p>
    </body>
    </html>
    View Code

    后代选择器

    使用后代选择器,之间用空格隔开

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
          p em {color: red}
    
         </style>
    </head>
    <body>
        <h1 class="h1"><em>明天</em>我是h1</h1>
        <p ><em>今天</em>标签选择器</p>
        <p id="i2">类选择器</p>
        <p id="i3">ID选择器</p>
    </body>
    </html>

    这样写我们就给p标签下面的em标签加上了颜色

    后代选择器可以写多层

    伪类选择器

    链接伪类

    链接也就是a标签,有四种状态:激活状态,已访问状态,未访问状态,和鼠标悬停状态

    伪类hover和active

    上面的四种状态的:link和:visited是a标签专用的,而:hover和:active其他标签也可以使用

    :hover用与访问的鼠标经过某个元素时

    :active用于一个元素被激活时(既按下鼠标之后松开鼠标之前的时间)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
         <style>
          a:link{color: blue}/*未访问状态*/
          a:visited{color: gray}/*已访问状态*/
          a:hover{color:red}/*鼠标悬浮状态*/
          a:active{color: green}/*鼠标激活状态*/
          p:hover{color:red}
          p:active{color: green}
    
         </style>
    </head>
    <body>
        <a href="https://cn.bing.com/">必应</a>
        <p id="i2">类选择器</p>
    
    </body>
    </html>
    View Code
    链接伪类的顺序

    :link>:visited>:hover>:active

    说明:

      a:hover必须置于a:link和a:visited之后才有效

      a:active必须置于a:hover之后才有效

     CSS优先级

    同一样式表中:

    1.权值相同,就近原则(离被设置元素越近优先级越高)

    2.权值不同,根据权值来判断css样式,哪种权值高,就使用哪种样式

    选择器权值

    标签选择器,权值为1

    类选择器和伪类,权值为10

    id选择器,权值为100

    通配符选择器,权值为0

    行内样式,权值为1000

    权值规则

    统计不同选择器的个数

    每类选择器的个数乘以相应的权值

    把所有的值想加得出选择器的权值

    !important规则

    可调整样式规则的优先级

    添加在样式规则之后,中间用空格隔开

    CSS样式命名

     采用英文字母,数字以及”-“和”_“命名

    以小写字母开头,不能以数字、”-“,"_"开头

    命名形式:单字,连字符,下划线和驼峰

  • 相关阅读:
    等式
    Lemon 评测软件用法
    同花顺
    浅谈二分图的最大匹配和二分图的KM算法
    LCT总结
    5.30模拟赛
    树上斜率优化
    5.22 noip模拟赛
    KMP,HASH,Trie,AC自动机
    splay总结
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/11027964.html
Copyright © 2011-2022 走看看