CSS3中的各类选择器的使用(有实例)

在css中,选择器是一种模式,用于选择需要添加样式的元素。

注意:每行最好只写一个样式,而且末尾要使用;分隔。

也就是对声明分组,一定要在各个声明的最后使用分号,这很重要。浏览器会忽略样式表中的空白符。

基本选择器

选择器的优先级:

id选择器 > 类选择器 > 元素选择器 > 通用选择器

行内样式 style属性中设置的样式 ,权重最高,优先级最高。

通用选择器

选择所有

* {
    属性名:属性值;
    ......
}
/*下面的规则可以使文档中的每个元素都为红色*/
* {
    color: red;
}

元素选择器

又叫标签选择器,选择指定的元素/标签

元素名称 {
    属性名:属性值;
    ......
}

div {
    width: 100px;    /*div的宽度*/
    height: 100px;   /*div的高度*/
    background-color: blue;
}

ID选择器

选择指定id属性值的元素。使用 #

id定义规则:以字母、数字、下划线、中划线组成,不要以数字开头。id值保持唯一

 #id属性值 {
    属性名:属性值;
     ......
 }

#div1 {
    width: 100px;    /*div的宽度*/
    height: 100px;   /*div的高度*/
    background-color: blue;
}

类选择器

class类选择器,选择设置指定class属性值的元素,使用 .

 .class属性值 {
    属性名:属性值;
     ......
 }

.cls1 {
    font-weight: bold;   /*字体粗细*/
}

分组选择器

当多个元素的样式相同的时候,我们没有必要重复地为每个元素都设置样式,我们可以通过在多个选择器之间使用逗号分隔的,来统一设置元素样式。

可以将任意多个选择器分组在一起,对此没有任何限制。只需要各个选择器之间使用,分隔即可。

选择器1,选择器2,选择器3,....{
	属性名:属性值;
     ......
}

/*为div标签和p标签统一设置字体为红色的样式*/
div,p{
    color:red;
}

实例中应用如下:

<!DOCTYPE html>
<html>
    <head>
        <meta  charset="utf-8">
        <title>基本选择器</title>
        <style>
            /* 
             选择器的优先级:
             id选择器 > 类选择器 > 元素选择器 > 通用选择器
             行内样式  style属性中设置的样式 ,权重最高,优先级最高。
             */
            /* 通用选择器 */
        	* {
    			color: orange;   /*字体颜色*/
			  }
            /* 元素选择器 */
            div {
   			 width: 100px;    /*div的宽度*/
    		 height: 100px;   /*div的高度*/
    		 background-color: blue;
			}
            /* ID选择器 */
            #div1 {
                color: #FF0000;
            }
            /* 类选择器 */
            .cls1 {
                font-weight: bold;
            }
            /* 分组选择器,为div标签和p标签统一设置border样式 */
            #div1, .cls1, span {
                border: 2px solid red;    /*边框  边框的粗细  边框的风格  边框的颜色*/
            }
        </style>
    </head>
    <!--内容区域:浏览器可见内容-->
    <body>
        <div class="cls1">div1</div>
        <div id="div1" class="cls1">div2</div>
        <div class="cls1">div3</div><br/>
        <span>p</span>    
        
    </body>
</html>

显示效果如下:

组合选择器

css组合选择器说明了两个选择器直接的关系。

在css中包含了四种组合方式:

后代选择器(以空格分隔):选择指定元素的所有的后代元素

子元素选择器(以大于号分隔):选择指定元素的第一代元素

相邻兄弟选择器(以加号分隔):选择指定元素相邻的指定元素(只会向下找一个)

普通兄弟选择器(以波浪线分隔):选择指定元素后的所有指定的同级元素(向下找所有指定的同级的)

后代(派生)选择器

用于选择指定标签元素下的后辈元素,以空格分隔

选择器1 选择器2 {
	.....
}

/*匹配class="food"标签里面的所有的li*/
.food li {
	/*边框  边框的粗细  边框的风格  边框的颜色*/
	border: 1px solid red;
}

子元素选择器

用于选择指定标签元素的所有第一代子元素,以大于号分隔

选择器1 > 选择器2 {
	.....
}

#d > div {
	border: 1px solid red;
}

相邻兄弟选择器

选择指定元素相邻的指定元素(只会向下找一个)。以加号分隔

选择器1 + 选择器2 {
	.....
}

#d + div {
	border: 1px solid red;
}

普通兄弟选择器

选择指定元素后的所有指定的同级元素(向下找所有指定的同级的)。以波浪线分隔

选择器1 ~ 选择器2 {
	.....
}

#d ~ div {
	border: 1px solid red;
}
<!DOCTYPE html>
<html>
    <head>
        <meta  charset="utf-8">
        <title>组合选择器</title>
        <style type="text/css">
            /* 后代选择器: 一级列表,二级列表都有效果*/
             .food li {
                border: 1px solid red;
            } 

            /* 子元素选择器:只有一级列表有效果*/
            .food > li {
                border: 1px solid red;
            }
            
            /* 相邻兄弟选择器 */
            #d + div {
                color: #FF0000;
            }
            
            /* 普通兄弟选择器 */
            #t ~ li {
                color: blue;
            }
            
        </style>
    </head>
    <!--内容区域:浏览器可见内容-->
    <body>
        <h2>食物</h2>
        <ul class="food">     <!--列表嵌套-->
            <li>水果        <!--一级列表-->
                <ul>           <!--二级列表-->
                    <li>黄瓜</li>
            		<li>苹果</li>
            		<li>圣女果</li>
                </ul>
            </li>
            
            <li>坚果            <!--一级列表-->
                <ul>           <!--二级列表-->
                    <li>开心果</li>
            		<li>夏威夷果</li>
            		<li>碧根果</li>
                </ul>
            </li>
        </ul>
        
        
        <div id="d">
            相邻兄弟选择器1
            <ul>
                <li>沈腾</li>
                <li>贾玲</li>
            </ul>
        </div>
        
        <div>
            相邻兄弟选择器2
        </div>
           
        <p>
            相邻兄弟选择器3
        </p>
        
        
        <div>
            普通兄弟选择器
            <ul>
                <li id="t">综艺</li>
                <li>王牌对王牌</li>
                <li>青春环游记</li>
                <li>向往的生活</li>
            </ul>
        </div>
    </body>
</html>       

显示结果:
应用后代选择器:

应用子元素选择器:

应用相邻选择器:

应用普通兄弟选择器:

posted @ 2022-04-17 14:15  wanpi  阅读(849)  评论(0编辑  收藏  举报