css选择器分类及优先级判断

目录

选择器分类

全局选择器

元素选择器

类选择器

ID选择器

合并选择器

内联选择器 

选择器的优先级


css语法规则由两个主要部分构成:选择器,以及一条或多条样式声明。

选择器分类

全局选择器:*

元素选择器:标签名称

类选择器:class属性名(.)

ID选择器:id属性名(#)

内联选择器:style

全局选择器

全局选择器可以与任何元素匹配,优先级最低,一般做样式初始化。

全局选择器应用通配符*

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    *{
        margin: 0;
        padding: 0;
    }
    </style>
</head>
<body>
   <p>Hello World</p>
</body>
</html>

元素选择器

HTML文档中的元素,如p,div,img,body等。

标签选择器,选择的是页面上所有这种类型的标签,经常描述共性,无法描述某一个元素的个性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p{
       color:green;
    }
    </style>
</head>
<body>
   <p>Hello</p>
   <p>World</p>
   <h3>Hello World</h3>
</body>
</html>

 如果想要一句话中出现多种样式的字体情况,可用<span>标签将特定字段标注,然后给<span>标签添加一个标签选择器。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p{
       color:green;
    }
    span{
        color:aqua;
    }
    </style>
</head>
<body>
   <p>Hello <span>World</span> 123</p> 
</body>
</html>

注意: 

 所有的标签都可以是选择器,如ul,li,dt,dl,div等。

元素标签选择器选择的是所有而不是一个。

类选择器

类选择器用.来定义,针对想要的所有标签使用,类选择器使用率较高,应用灵活。

类选择器名称一般由字母数字和-组成。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p{
       color:green;
    }
    .class-one{
       color:lightpink
    }
    .class-two{
        color: yellow;
    }
    </style>
</head>
<body>
   <p>苹果</p>
   <p class="class-one">草莓</p>
   <p class="class-two">香蕉</p>
</body>
</html>

class属性的特点:

类选择器可以被多种标签使用。

类名不能以数字开头。

同一个标签可以使用多个类选择器,用空格隔开。

例如

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p{
       color:green;
    }
    .class-one{
       color:lightpink
    }
    .class-two{
        color: yellow;
    }
    .size-one{
        font-size: 30px;
    }
    </style>
</head>
<body>
   <p>苹果</p>
   <p class="class-one size-one">草莓</p>
   <h3 class="class-two">香蕉</h3>
</body>
</html>

正确格式 

<p class="class-one size-one">草莓</p>

错误格式

<p class="class-one" class="size-one">草莓</p>

 

ID选择器

ID选择器针对某一个特定的标签来使用,只能使用一次,以#来定义。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    #text1{
        color: red;
     }

    #text2{
        color: blue;
     }

    .class1{
        color: green;
        font-size: 30px;
    }
    </style>
</head>
<body>
    <p id="text1">Hello World1</p>
    <p id="text2">Hello World2</p>

    <p class="class1">123</p>
    <p class="class1">456</p>
</body>
</html>

注意:

ID是唯一的。

ID不能以数字开头。

合并选择器

合并选择器用来提取共同样式,减少重复代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    p,h3{
        color: aqua;
        font-size:medium;
    }
    </style>
</head>
<body>
    <p>123</p>
    <h3>456</h3>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    .title,.content{
        color:aquamarine;
        font-size:medium;
    }
    </style>
</head>
<body>
    <h3 class="title">标题</h3>
    <p class="content">正文</p>
</body>
</html>

 

内联选择器 

内联样式也称行内样式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>

    </style>
</head>
<body>
    <p style="font-size: 36px;color: red;">Hello World</p>
</body>
</html>

选择器的优先级

在css中,权重用数字来衡量。

元素选择器的权重为1。

类选择器的权重为10。

ID选择器的权重为100。

内联选择器的权重为1000。

优先级从高到低:内联样式1000>ID选择器100>类选择器10>元素选择器1

优先级相同的选择器,样式由执行顺序来决定,后面代码样式会将前面代码样式覆盖,一般最终样式显示则为后面代码的样式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS选择器是用于选择HTML文档中的元素的模式。常见的CSS选择器包括: 1. 元素选择器:通过元素的标签名选择元素,如`p`选择所有的段落元素。 2. 选择器:通过元素的class属性选择元素,使用`.`符号,如`.container`选择class为"container"的元素。 3. ID选择器:通过元素的id属性选择元素,使用`#`符号,如`#header`选择id为"header"的元素。 4. 属性选择器:通过元素的属性选择元素,如`[type="text"]`选择所有type属性值为"text"的元素。 5. 后代选择器:通过元素的后代关系选择元素,使用空格分隔,如`.container p`选择class为"container"的元素内部的所有段落元素。 6. 子元素选择器:通过元素的直接子元素关系选择元素,使用`>`符号,如`.container > p`选择class为"container"的元素下的直接子元素中的所有段落元素。 7. 相邻兄弟选择器:通过元素的相邻兄弟关系选择元素,使用`+`符号,如`h2 + p`选择紧接在h2元素后面的p元素。 8. 伪选择器:通过元素的状态或位置选择元素,如`:hover`选择鼠标悬停的元素。 CSS选择器优先级表示了当多个选择器同时应用于同一个元素时,哪个选择器的样式规则会被应用。通常,优先级的计算规则如下: 1. ID选择器优先级最高,为100。 2. 选择器、属性选择器和伪选择器优先级为10。 3. 元素选择器和伪元素选择器优先级为1。 4. 通配符选择器和继承的样式没有优先级,其优先级为0。 如果多个选择器具有相同的优先级,则后面出现的选择器会覆盖前面出现的选择器。如果多个选择器具有不同的优先级,则优先级高的选择器的样式规则会被应用。 需要注意的是,使用`!important`声明可以提升样式规则的优先级,但是过度使用会导致样式难以维护和调试,应尽量避免滥用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值