CSS样式核心-选择器

        CSS选择器是CSS中非常重要的一个概念,它决定了格式化将应用于哪些元素。常见的CSS选择器有标签选择器(如div、p)、类选择器(如.class类选择器)、id选择器(如#idname)。还有更复杂的组合选择器和伪类选择器,比如子代选择器、后代选择器、相邻兄弟选择器和通用兄弟选择器等。

一、基本选择器

        基本选择器包括标签选择器、class类选择器和id选择器。

1)标签选择器

        标签选择符就是网页元素本身的属性,当你想为页面中的元素应用样式时,可以使用标签选择器。其格式为:

E{                        

         /* css代码 */ 

        }                             

例如一下代码表示的标签选择器:

<style>
 /* 该标签的字体为红色,字体大小为13px */
    p{
         color: red;
         font-size: 13px;
     }
 /* 盒子的边框为2px蓝色双线,宽度为350像素 */

    div{
         border: 2px double blue;      /* 边框为2px蓝色双线 */
         width: 350px;                   /* 宽度为350像素 */

     }
</style>
 2)class类选择器

        class类选择器的名称可以由用户自定义,当你需要为具有相同类元素的多个元素应用相同的样式时,可以使用类选择器。HTML 元素也可以引用多个类。使用类选择器时,需要使用英文.(点)进行标识。

例如以下代码:

<style>
    <!-- 使用类选择器时,需要使用英文.(点)进行标识。 -->
    .top{
        color: aqua;
         }
</style>
<body>
<!-- 类名不能以数字开头! -->
    <h1 class="top">你好啊</h1>
    <h3 class="top">你好吗</h3>
<!-- HTML元素也可引用两个类。 -->
    <p class="center large">这个段落引用两个类,class="center"和class="large"</p>
</body>
3)id选择器

           id选择器用于对页面中唯一的元素设置样式,每个id选择器在HTML页面中只能使用一次。使用id选择器时,需要在id名称前加上一个“#”号。

例如以下代码:

<style>
    #cl1{
        color: blueviolet;
        text-align: center;
     }
</style>
<body>
    <h2 id="cl1">id选择器</h2>
</body>

注:id名是唯一的。

二、样式优先级

        一般优先级原则是最接近目标对象的样式定义优先级最高。(行内样式>id选择器样式>类选择器样式>标签选择器样式)优先级一样时,遵循“后来居上”原则。

三、选择器的复合

1)交集选择器

        “交集”选择符由两个选择符直接连接构成,其中,第一个选择符必须是标签选择符,第二个选择符必须是class类选择符或id选择符。
注:两个选择符之间不能有空格,必须连续书写。

例如以下代码:

<style>
    p{
        color:blue;
        font-size: 20px;
        font-family: 仿宋;
        text-decoration: underline;     /* 设置下划线 */
    }
    /* 第一个选择符必须是标签选择符,第二个选择符必须是class类选择符或id选择符。 */
    p.p1{
        color: rebeccapurple;
        border: 1px solid red;      /* 设置红色边框 */
        text-decoration:none            /* 取消下划线 */
    }
</style>
</head>
<body>
    <p>交集选择器使用</p>
    <p class="p1">交集选择器使用</p>
    <p>交集选择器使用</p>
</body>

 显示效果:

2)并集选择器

        “并集”选择器可同时选中各个基本选择器所覆盖的内容范围。它用逗号来组合多个运算符。

例如以下代码:

<style>
 /* 各选择器之间用逗号隔开 */
        .f1,.f2,.f3{
            color: aqua;
        }
    </style>
</head>
<body>
    <p class="f1">并集选择器</p>
    <p class="f2">并集选择器</p>
    <p class="f3">并集选择器</p>
</body>

 显示效果:

3)关系选择器
a.子代选择器(大于号)

        子代选择器只能选择该元素的子代元素,使用大于号隔开。

结构:

选择器1>选择器2{属性:值; 属性:值}

例如以下代码:

    <style>
        /* 子代只包括儿子,不涉及到孙子,互不影响 */
        ul>li{
            color: rgb(80, 0, 252);
        }
        #father>#son{
            color: #000;
        }
    </style>
</head>
<body>
    <!-- 假如ul为父亲,li为儿子 -->
    <ul>
        <li>儿子</li>
        <!--  -->
        <ul id="father">
            <li id="son">孙子</li>
        </ul>
    </ul>
</body>

显示效果:

注:子代选择器不可跨代。 

b.后代选择器(以空格隔开)

        后代选择器是通过选取元素的后代元素,用空格组合两个以上的选择器,使用空格表示后代。

结构:

h1 span{属性:值; 属性:值}

例如以下代码:

    <style>
        /* 只对p标签中的span属性起作用 */
        p span{
            color:darkgoldenrod;
        }
    </style>
</head>
<body>
    <p>祖父<span>父亲</span>儿子<span>孙子</span></p>
    <!-- 不属于p标签的样式属性,不生效 -->
    <p>你好</p>
</body>

 显示效果:

c.相邻兄弟选择器

        相邻兄弟选择器在CSS中用加号(`+`)表示。它用于选择紧接在当前元素后面的元素,只要它们有相同的父元素。

结构:选择器+选择器

例如以下代码: 

<style>
    h1+p{
        color: deeppink;
    }
</style>
</head>
<body>
    <!-- 相邻兄弟选择器是选择在当前标签后的第一个兄弟元素,其他不生效 -->
    <h1>相邻兄弟选择器</h1>
    <p>第一个兄弟</p>
    <p>第二个兄弟</p>
    <p>第三个兄弟</p>
</body>

显示效果:

 

d.通用兄弟选择器

        通用兄弟选择器在CSS中使用波浪号(`~`)来表示。它用于选择所有在当前元素之后的兄弟元素,只要它们共享同一个父元素

结构:选择器~选择器

 例如以下代码:

    /* 选择h2标签后所有的兄弟元素 */
<style>
    h2~p{
        color: mediumblue;
    }
</style>
</head>
<body>
    <h2>通用兄弟选择器</h2>
    <p>兄弟元素</p>
    <p>兄弟元素</p>
    <div>
        <p>非兄弟元素</p>
    </div>
    <p>兄弟元素</p>
</body>

显示效果:

注:任何标签都有class和id属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值