CSS 选择器(超级详细,欢迎补充)1

简介: CSS 选择器(超级详细,欢迎补充)

1、导语

css样式是由若干条样式规则组成的,这样的样式规则可以应用到不同的元素或文档上。css规则由两部分组成:选择器和声明语句。

选择器:selector用来指点需要设置样式的元素或文档(即HTML对象)

声明语句:通过属性(property)和属性值(value)描述样式的具体内容,多组声明语句用分号(;)分隔。声明语句不分先后顺序。

今天我们重点来介绍css中的选择器。

//基本语法
selector{
property1:value1;
property2:value2;
property3:value3;
...
}

2、css基本选择器

1)、标签选择器

可以看这篇博客链接HTML的标签HTML的常用标签

HTML文档的标签是css样式规则中非常常见的选择器。我们可以直接将HTML的标签作为选择器的名称,如p、h1、em,设置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>
      /*   p{        //p标签选择器
            border: 1px salmon solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
        h5{         //h5标签选择器
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        } */
    </style>
</head>
<body>
    <p>段落标签</p>
    <h5>文章标题标签</h5>
</body>
</html>

 963dec3d2d7547bf95f8db20044f5fa0.png


未 加标签选择器


e1977c53a077420ea5c87222efdfb1a2.png


2)类选择器

网页中通过使用标签选择器控制文档中所有该标签的样式,但是在实际设计过程中,有些由相同标签定义的不同对象需要显示不同的样式,这时就需要利用其他选择器来实现差异化的样式定义,例如可以利用类选择器轻松地将文档中多个<p>段落设置成不同的样式。

CSS 类选择器会根据元素的类属性中的内容匹配元素。类属性被定义为一个以空格分隔的列表项,在这组类名中,必须有一项与类选择器中的类名完全匹配,此条样式声明才会生效。

语法: .类名 {样式声明 }

示例

就比如上一个代码只需一个类选择器就可以实现和上述代码一样的效果,因此,灵活运用各种选择器是我们写好代码的关键。

<!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>
        .class{      
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <p class="class">段落标签</p>
    <h5 class="class">文章标题标签</h5>
</body>
</html>




19fdf091a08f4efb9a39ec53b4d5f8c8.png



3)ID选择器

ID选择器的使用方法和类选择器基本相同,定义了样式规则之后,通过标签的id属性来引用。

语法:#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>
        #class{
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <p id="class">段落标签</p>
    <h5 id="class">文章标题标签</h5>
</body>
</html>



4556537350394236b84b18a4242bf498.png

那这个时候就有人会问那ID选择器和类选择器有什么区别吗?


答:有。正常情况下,ID属性值在文档中是具有唯一性的,所以ID选择器和类别选择器最大的区别就是:一个ID选择器只能被引用一次,针对性强;一个元素只能引用一个ID选择器。因此一般大结构用ID选择器,如标志、导航、主体内容、版权等,结构内部用类别选择器。

4)通配符选择器

在 CSS 中,一个星号 (*) 就是一个通配选择器。它可以匹配任意类型的 HTML 元素。在配合其他简单选择器的时候,省略掉通配选择器会有同样的效果。比如*.class.class 的效果完全相同。

在 CSS3 中,星号 (*) 可以和命名空间组合使用:

1、ns|*    会匹配ns命名空间下的所有元素

2、*|*     会匹配所有命名空间下的所有元素

3、|*       会匹配所有没有命名空间的元素

3、css组合选择器

1)标记类别选择器(交集选择器)

这是由两个选择器直接连接构成,其指点的对象是两个基本选择器所指向的交集。其中第一个选择器必须是标签选择器,第二个选择器是类别选择器或者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>
        #class{
            border: 1px red solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
        p{
            border: 2px gold solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
        /*标记类别选择器*/
        p#class{    
            border: 3px black solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <h5 id="class">文章标题标签</h5>
    <p>段落标签1</p>
    <p id="class">段落标签</p>
</body>
</html>



0c71cba40174485f938de3acc63138f2.png


2)后代选择器

通常用单个空格(" ")字符表示 组合了两个选择器,如果第二个选择器匹配的元素具有与第一个选择器匹配的祖先(父母,父母的父母,父母的父母的父母等)元素,则它们将被选择。后代选择器有利于表现文档结构的上下文关系。

语法:选择器1 后代选择器2{样式声明}

<!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{
            border: 1px red solid;
            text-align: center;
            line-height: 100px;
        }
        /*后代选择器*/
        p span{    
            border: 3px black solid;
            text-align: center;
            line-height: 100px;
        }
        /*span{     //与后代选择器作用相同
            border: 3px black solid;
            text-align: center;
            line-height: 100px;
        }*/
    </style>
</head>
<body>
    <p>段落标签
        <span>spanspan</span>
    </p>
</body>
</html>

3)子选择器

描述的是某个元素的子元素,在两个选择器之间用">"来连接。

语法:元素 1 > 元素 2 {样式声明 }

<!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{
            border: 2px gold solid;
            height: 100px;
            width: 100px;
            text-align: center;
            line-height: 100px;
        }
         /* 子元素选择器 */
        p>span{   
            border:3px black solid;
            height:100px;
            width:100px;
            text-align:center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <p >段落标签1
        <span>spanspan</span>
    </p>
</body>
</html>

4)兄弟选择器

兄弟选择器主要包括两类:相邻兄弟选择器和普通兄弟选择器

Ⅰ、相邻兄弟选择器

当第二个元素紧跟在第一个元素之后,并且两个元素都是属于同一个父元素的子元素,则第二个元素将被选中。

语法:选择器1+选择器2{样式声明 }

<!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>
        li:first-of-type + li {
             color: red;
        }
    </style>
</head>
<body>
    <ul>
        <li>One</li>
        <li>Two!</li>
        <li>Three</li>
      </ul>
</body>
</html>


2b0336679af04622a1c0f0afa3bb0e84.png



目录
相关文章
|
2月前
|
前端开发
CSS:高级选择器
CSS:高级选择器
36 1
|
2月前
|
前端开发 JavaScript
CSS:基础选择器
CSS:基础选择器
46 1
|
13天前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
26 2
|
2月前
|
前端开发 JavaScript 容器
谁动了我的选择器?深入理解CSS选择器优先级
该文章详细解释了CSS选择器的工作原理,包括不同种类选择器的权重计算规则,并通过实例说明了如何解决样式冲突问题,确保所需的样式能够正确应用到目标元素上。
|
2月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
80 1
|
1月前
|
前端开发
CSS常见的选择器
CSS常见的选择器
17 0
|
2月前
|
前端开发 JavaScript
【CSS】选择器
【CSS】选择器
|
3月前
|
前端开发
CSS3选择器
【8月更文挑战第23天】CSS3选择器。
32 1
|
3月前
|
前端开发
CSS中的层级选择器&伪类选择器和伪元素选择器
CSS中的层级选择器&伪类选择器和伪元素选择器
|
3月前
|
前端开发
HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用
该博客文章详细介绍了HTML和CSS的基础知识,包括CSS样式的应用方式、语法规则、选择器的使用、盒子模型、内边距、外边距、元素的显示类型以及overflow属性处理溢出内容的方法,并通过代码示例和测试结果截图展示了这些知识点在网页设计中的应用。
HTML+CSS基础知识(2)选择器的使用、盒子模型的讲解、列表的使用