css的复合选择器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css的复合选择器相关的知识,希望对你有一定的参考价值。

参考技术A 在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。

复合选择器可以更准确、更高效的选择目标元素(标签)。

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。

常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等。

后代选择器又称为包含选择器,可以选择父元素里面的子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

语法:

元素1 元素2 样式声明

上述语法表示选择元素1里面的所有元素2(后代元素)。

例如:

元素1和元素2中间用空格隔开。

元素1是父级,元素2是子级,最终选择的是元素2。

元素2可以是儿子,也可以是孙子等,只要是元素1的后代即可。

元素1和元素2可以是任意基础选择器。

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素。

语法:

上述语法表示选择元素1里面的所有直接后代(子元素)元素2。

例如:

元素1和元素2中间用大于号(>)隔开。

元素1是父级,元素2是子级,最终选择的是元素2。

元素2必须是亲儿子,其孙子、重孙之类都不归他管。也可以叫他亲儿子选择器。

并集选择器、伪类选择器等等。

并集选择器可以同时选择多组标签,同时为他们定义相同的样式。通常用于集体声明。

并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

语法:

上述语法表示选择元素1和元素2。

元素1和元素2中间用逗号隔开。

逗号可以理解为和的意思。

并集选择器通常用于集体声明。

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。

伪类选择器书写最大的特点是用冒号(:)表示,比如:hover、:first-child。

因为伪类选择器很多,比如有链接伪类、结构伪类等,所以看这里先给大家讲解常用的链接伪类选择器。

1.为了确保生效,请按照 LVHA 的循顺序声明::link-:visited-:hover-active。

2.因为a链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。

二链接伪类选择器实际开发中的写法:

:focus伪类选择器用于选取获得焦点的表单元素。

焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

CSS3样式,基础选择器,复合选择器

目录

CSS3样式规则

引入CSS3样式表的方式

CSS3的基础选择器

CSS3复合选择器

CSS3层叠性和继承性

CSS3的优先级


CSS(Cascading Style Sheet):层叠样式表

CSS3样式规则

选择器{
   属性1:属性值1;(键值对方式)
   属性2:属性值2;
   ......
}

选择器用于指定CSS样式作用的HTML对象,花括号内是对该对象设置的具体样式。其中,属性和属性值以“键值对”的形式出现。

引入CSS3样式表的方式

(1)行内式:也称为内联样式,是通过标签的style属性来设置元素的样式。一般写在标签的属性中(适合属性只用一次的内容)。
               例如: <p style="color:red;font-size: 25px;">西安邮电大学</p>

(2)内嵌式:在html页面中使用<style><\\style>嵌入css样式,通常放在head标签中,适合整体样式

(3)链入式:是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,然后在html页面找<link rel="stylesheet" href="(css样式文件的路径)">

(4)导入式:在<style>标签下使用@import url(css文件路径)导入外部的css文件
               例如:  <style  type="text/css">
                                  @import url(../css/c1.css);
                            </style>

CSS3的基础选择器

要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中执行这一任务的样式规则部分被称为选择器。

(1)选择器:用来定位页面中的标签    

(2)标签名选择器:是指用HTML标签名称作为选择器,按标签名分类,为页面中某一类标签指定统一的CSS样式。

标签名{           
    属性1:属性值1
    属性2:属性值2
    ......
}

(3)类选择器:给标签加上class属性,class属性值可以重复

.类名{
     属性1:属性值1;
     属性2:属性值2;
     ......
}

 (4)id选择器:给标签加上id属性,id属性值不能重复

 #id{           
    属性1:属性值1;
    属性2:属性值2;
    ......
}

(5)通配符选择器:所有选择器中范围最广的,能够匹配页面中的所有元素

*{
    属性1:属性值1;
    属性2:属性值2;
    ......
}

举例:

<html>
<style type="text/css">
    /* 类选择器 */
    .p1{
        color:red;
    }
    .p2{
        color:blue;
    }

    /* id选择器 */
    #beijing{
        color:rgb(100, 100, 100);
        font-family: '隶书';
    }
    #te{
        text-transform: capitalize;  /* 文本首字母大写 */
        word-spacing: 50px;  /* 单词之间的距离 */
        letter-spacing: 25px;  /* 字母之间的距离 */
        text-decoration: underline;   /* 下划线 */
    }

    /* 通配符选择器 */
    *{
        font-family: '隶书';
    }

    /*标签名选择器*/
    a{   
        text-decoration: none;  /* 取消超链接的下划线 */ 
    }
    p{
        text-shadow: 5px 3px 1px black;  /* 文字设置阴影:水平阴影距离 垂直阴影距离 模糊半径 阴影部分字体颜色 */
    }
</style>
<body>
    <!-- 给标签加上class属性,类选择器 -->
    <p class="p1">C++程序设计</p>   
    <p class="p2">Java程序设计</p>
    <p class="p1">JavaScript程序设计</p>
    <p class="p2">Python程序设计</p>

    <!-- id选择器,给属性中加入id,唯一 -->
    <h2 id="beijing">北京市</h2>
    <h2>上海市</h2>
    <h2>重庆市</h2>
    <h2>天津市</h2>

    <p id="te">table boy class</p>
    <a href="#">跳转到百度</a>
</body>
</html>

运行结果:

CSS3复合选择器

(1)标签指定式选择器

标签指定式选择器又称交集选择器,由两个选择器构成,其中第一个为标签选择器,第二个为class选择器或id选择器,两个选择器之间不能有空格,如h3.special或p#one。

(2)后代选择器

后代选择器用来选择元素或元素组的后代,其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

(3)并集选择器

并集选择器是各个选择器通过逗号连接而成的,任何形式的选择器都可以作为并集选择器的一部分。若某些选择器定义的样式完全或部分相同,可利用并集选择器为它们定义相同的样式。

CSS3层叠性和继承性

层叠性:指多种CSS样式的叠加

继承性:指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。       
      不能继承的属性:边框(border)、定位属性、内外边距(margin/padding)、布局属性、背景属性、宽高属性。

CSS3的优先级

据不同的选择器计算它的权值,优先应用权值最大的CSS样式。当前权值相同时,使用离它最近的CSS样式,CSS定义了一个!important命令,该命令被赋予最大的优先级,不受其他样式影响。(行内标签高于权值)

  • 标签名选择器的权重为1(什么都不带)
  • 类选择器的权重为10(前面带 . )
  • id选择器的权重为100(前面带#)

注意:继承样式的权重为0;行内样式优先;权重相同时CSS遵循就近原则;!important命令为最大优先级。

以上是关于css的复合选择器的主要内容,如果未能解决你的问题,请参考以下文章

CSS复合选择器

css复合选择器都有哪些

CSS基础知识二复合选择器元素显示模式背景三大特性注释

CSS学习笔记——复合选择器

CSS学习笔记——复合选择器

CSS学习笔记——复合选择器