关于css中选择器的小归纳(一)

关于css中选择器的小归纳

一、基本选择器

基本选择器是我们平常用到的最多的也是最便捷的选择器,其中有元素选择器(类似于a,div,body,ul),类选择器(我们在HTML标签里面为其添加的class),ID选择器(与类选择器类似),普遍选择器(*),并且选择器(类似“p.one#first”的写法)和并列选择器(类似“p,.one,#first”的写法)

1.元素选择器

范例:

<p>你好,css</p>
<div>你好,css</div>

css:

div{
            border:1px solid #ededed;
            background-color: lightblue;
        }

只有div标签的内容样式发生改变

2.类选择器

范例:

<p class="one">你好,css</p>
<p class="two">你好,css1</p>

css:

.one{
            border:1px solid #ededed;
            background-color: lightblue;
        }

只有class为“one”的p标签样式发生改变

3.ID选择器

范例:

<p id="first">你好,css</p>
<p id="second">你好,css</p>

css:


#first{
            border:1px solid #ededed;
            background-color: lightblue;
        }

只有ID为“first”的p标签样式发生改变

4.普遍选择器

范例:

<p>你好,css</p>
<div>你好,css</div>

css:

*{
            border:1px solid #ededed;
            background-color: lightblue;
        }

所有标签内的样式都发生改变

5.并且选择器

范例:

<p class="one" id="first">你好,css</p>
<p class="one">你好,css</p>
<p id="first">你好,css</p>

css:

p.one#first{
            border:1px solid #ededed;
            background-color: lightblue;
        }

只有ID为“first”且同时class为“one”的p标签样式发生改变

6.并列选择器

范例:

<p>你好,css</p>
<div class="one">你好,css</div>
<ul id="first">你好,css</ul>

css:

p,.one,#first{
            border:1px solid #ededed;
            background-color: lightblue;
        }

p标签,class为“one”的标签和ID为“first”的标签样式都发生改变

二、层次选择器

层次选择器一般用于选择网页中某一个标签中子类众多的情况,在这个时候为每一个标签都加上class或者是ID不太现实,但是不加又难以选择需要添加样式的标签,此时层次选择器尤为合适。

1.后代选择器(可被后代继承)

范例:

<div class="content">
        <p>你好,css</p>
        <hr>
        <ul>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </ul>
</div>

css:

.content{
    border:1px solid #ededed;
    background-color: lightblue;
}

class为content的div标签里面所有的子代及孙代样式都发生改变

2.子代选择器(最直接的子代,不能被孙辈元素继承)

范例:

<div class="content">
        <p>你好,css</p>
        <hr>
        <ul>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </ul>
</div>

css:

.content > li{
    border:1px solid #ededed;
    background-color: lightblue;
}

class为content的div标签里面所有的子代(只有子代,不含孙代)样式都发生改变

3.下一个兄弟选择器

范例:

<div>
        <ul>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </ul>
        <ol>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </ol>
        <dl>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </dl>
        
</div>

css:

ul + ol{
    border:1px solid #ededed;
    background-color: lightblue;
}

ul及ol标签内容的样式发生改变,但是dl内容样未改变

4.之后所有兄弟选择器

范例:

<div>
        <ul>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </ul>
        <ol>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </ol>
        <dl>
            <li>one</li>
            <li>two</li>
            <li>three</li>
        </dl>
        
</div>

css:

ul ~ dl{
    border:1px solid #ededed;
    background-color: lightblue;
}

从ul到dl所有内容的样式都发生了改变
(未完,待总结…)

    原文作者:安逸以异己
    原文地址: https://segmentfault.com/a/1190000013975252
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞