选择器


常用选择器

1.元素选择器

p{
    color=red;
}
h1{
    color=red;
}

2.id选择器

根据id属性选中一个元素

<style>
#red{
    color:red;
}
</style>
<body>
    <p id="red">
        
    </p>
</body>

3.class选择器

class可重复,id不可重复

<style>
.blue{
    color:blue;
}
</style>
<body>
    <p class="red">
        
    </p>
</body>

复合选择器

1.交集选择器

作用:选中同时复合多个条件的元素

语法:选择器1选择器2选择器3选择器n{}

注意点:交集选择器中如果有元素选择器,必须使用元素选择器开头

<style>
.red{
    color:red;
}
div.red{
    font-size:30px;
}
.a.b.c{
    color:blue;
}
</style>
<body>
    <div class="red">
        我是div
    </div>
    <p class="red">
        我是p
    </p>
    <div class="red2 a b c">
        我是div2
    </div>
</body>

下面是这段代码的图片:

选择器分组

作用:同时选择多个选择器对应的元素

语法:选择器1,选择器2,选择器n{}

<style>
h1,span{
    color:green;
}
</style>

关系选择器

父元素:直接包含子元素的元素叫做父亲

子元素:直接被父元素包含的元素是子元素

祖先元素:直接或间接包含后代元素的元素叫做祖先元素

​ 一个元素的父元素也是它的祖先元素

后代元素:直接或间接被祖先元素包含的元素叫做后代元素

​ 子元素也是后代元素

兄弟元素:拥有相同父亲元素是兄弟元素

下面都是在这个html进行的例子:

<body>
    <div>    
    我是一个div
    <p>
        我是div中的p元素
        <span>我是p元素的span</span>
    </p>
    <span>我是div中的span元素</span>
    </div>
</body>

1.子元素选择器

作用:选定父元素的指定子元素

语法:父元素>子元素(可用class选择元素)

例子:为div的子元素span设置一个字体颜色红色(为div直接包含的span设置一个字体红色)

<style>
div>span{
    color:red;
}
</style>

2.后代选择器

作用:选中指令元素内的指定后代元素

语法:祖先 后代

<style>
div span{
    color:red;
}
</style>

3.兄弟选择器

语法:前一个+子元素(找紧挨着的元素)(选择下一个兄弟)

<style>
p+span{
    color:red;
}
</style>

选择下面所有兄弟:

<style>
p~span{
    color:red;
}
</style>

属性选择器

语法:[属性名]选择含有指定属性的元素

​ [属性名=属性值]选择含有指定属性和属性值的元素

​ [属性名^=属性值]选择属性值以指定值开头元素

​ [属性名$=属性值]选择属性值以指定值结尾元素

​ [属性名*=属性值]选择属性值中含有某值的元素

<style>
p[title=abc]{
    color:red;
}
</style>
<body>
    <p title="abc">
        1111
    </p>
</body>

伪类选择器

伪类用来描述一个元素的特殊状态

比如:第一个元素、被点击的元素,鼠标移入的元素

伪类一般:开头

1.:first-child

第一个子元素

<style>
ul>li:first-child{
    color:red;
}
</style>
<body>
    <ul>
        <li>11</li>
        <li>11</li>
        <li>11</li>
        <li>11</li>
        <li>11</li>
    </ul>
</body>

2.:last-child

最后一个子元素

3.nth-child(n)

选中第n个子元素

nth-child(2)选第二个子元素

特殊值:

n 第n个 n的范围:0到正无穷

2n(even) 偶数位元素

2n+1(odd)奇数位元素

4.:first-of-type :last -of-type :nth-of-type

这几个伪类的功能和上述的类似,不通点是他们是在同类型中进行排序

<style>
ul>li:first-of-type{
    color:red;
}
</style>
<body>
    <ul>
        <span>11</span>
        <li>11</li>
        <li>11</li>
        <li>11</li>
        <li>11</li>
        <li>11</li>
    </ul>
</body>

5.:not()

否定伪类,将符合条件元素从选择器去除

<style>
ul>li:not(:nth-child(3)){
    color:red;
}
</style>

将第三个子元素去除掉,其他全为红色

超链接伪类

用来表示没访问过的链接(正常的链接)

2.:visited

用来表示访问过的链接

3.:hover

表示鼠标移入状态

4.:active

表示鼠标点击

伪元素选择器

伪元素通常使用::开头

1.::first-letter

表示第一个字母

<style>
p::first-letter{
    font-size:90px;
}
</style>

会使文本第一个字母放大

2.::first-line

表示第一行

3.::selection

表示选中的内容(需要鼠标拖动)

4.::before

元素的开始的位置,必须结合content属性使用

<style>
div::before{
    content:'abc';
    color:red;
}
<body>
    <div>
        hello
    </div>
</body>

5.::after

元素的最后的位置,必须结合content属性使用


文章作者: Daniel Lin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Daniel Lin !
  目录