美文网首页
CSS3选择器

CSS3选择器

作者: agui526 | 来源:发表于2017-06-04 00:11 被阅读0次

    1 CSS选择器的分类

    • 基本选择器
    • 层次选择器
    • 伪类选择器
    1. 动态伪类选择器
    2. 目标伪类选择器
    3. 语言伪类选择器
    4. UI元素状态伪类选择器
    5. 结构伪类选择器
    6. 否定伪类选择器
    • 伪元素
    • 属性选择器

    2 基本选择器

    2.1 语法

    选择器 类型 功能描述
    * 通配符选择器 选择文档中所有HTML元素
    E 元素选择器 选择指定类型的HTML元素
    #id ID选择器 选择指定ID属性值为"id"的任意类型元素
    .class 类选择器 选择指定class属性值为"class"的任意类型的任意多个元素
    selector1, selectorN 群组选择器 将每一个选择器匹配的元素集合并在一起

    2.2 案例

    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title>使用CSS3基本选择器</title>
        <style type="text/css">
            *{margin: 0;padding:0;}
            .clearfix:after,.clearfix:before{display:table;content:""}
            .clearfix:after{clear:both;overflow:hidden}
            .demo { width: 250px; border: 1px solid #ccc; padding: 10px;margin: 20px auto}  
            li {list-style:none outside none; float: left; height: 20px; line-height: 20px; width: 20px;border-radius: 10px; text-align: center; background: #f36; color: green; margin-right: 5px; }
            .demo *{background: orange}
            ul {background:grey}
            #first{background:lime;color:#000}
            #last {background:#000;color:lime}
            .item {background: green;color: #fff;font-weight:bold}
            .item.important {background:red;}
        </style>
    </head>
    <body>
        <ul class="clearfix demo">
            <li class="first" id="first">1</li>
            <li class="active">2</li>
            <li class="important item">3</li>
            <li class="important">4</li>
            <li class="item">5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li class="last" id="last">10</li>
        </ul>
    </body>
    </html>
    

    2.3 通配符选择器(*)

    通配符选择器用来选择所有的元素,当然也可以选择某个元素下的所有元素。

    2.4 元素选择器(E)

    2.5 ID选择器(#id)

    在使用ID选择器之前要在HTML文档中给定的元素设置id属性,id在整个HTML文档中具有唯一性

    2.6 类选择器(.class)

    类选择器是以独立于文档元素的方式来指定元素样式。使用前需要给需要的元素设置class属性,与ID选择器的不同就是一个文档中可以有多个相同的类名。

    在使用多类选择器时,要注意,如果一个多类选择器包含的类名中其中一个不存在,这个选择器讲无法找到相匹配的元素

    由于类名在一个HTML文档中可以同时存在于不同的标签上,比如div上有类名block,ul上也有类名block,当仅需要对ul为block定义样式,此时采用类选择器并不能达到需要的效果,其实CSS选择器还支持带有标签的类名选择器ul.block,这将只匹配class为block的所有ul元素

    2.7 群组选择器(selector1, selectorN)

    将具有相同样式的元素分组在一起,每个选择器之间用逗号(,)隔开,注意这里省去逗号局变成后代选择器了。

    3 层次选择器

    层次选择器时通过HTML的DOM元素间的层次关系获取元素,其主要的层次关系包括后代、父子、相邻和通用兄弟。

    3.1 语法

    选择器 类型 功能描述
    E F 后代选择器 选择匹配F元素,且匹配的F元素被包含在匹配的E元素内
    E>F 子选择器 选择匹配F元素,且匹配的F元素是所匹配的E元素的子元素
    E+F 相邻兄弟选择器 选择匹配F元素,且匹配的F元素紧接于匹配的E元素后面
    E~F 通用选择器 选择匹配F元素,且位于匹配的F元素后的所有匹配的F元素

    3.2 案例

    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title>使用CSS3层次选择器</title>
        <style type="text/css">
            *{margin: 0;padding:0;}
            body {width: 300px;margin: 0 auto;}
            div{margin:5px;padding:5px;border: 1px solid #ccc;}
            div div {background: orange;}
            body > div {background: green;}
            .active ~ div {background: red;}
            .active + div {background: lime;}
            
        </style>
    </head>
    <body>
        <div  class="active">1</div><!-- 为了说明相邻兄弟选择器,在此处添加一个类名active -->
        <div>2</div>
        <div>3</div>
        <div>4
            <div>5</div>
            <div>6</div>
        </div>
        <div>7
            <div>8
                <div>9
                    <div>10</div>
                </div>
            </div>
        </div>
    </body>
    </html>
    

    3.3 后代选择器(E F)

    选择E元素的所有后代,包括子元素、孙辈元素及更深层次的元素

    3.4 子选择器(E>F)

    选择E元素下的所有子元素

    3.5 相邻兄弟选择器(E+F)

    选择和E元素同层级且紧跟在E元素后面的元素

    3.6 通用兄弟选择器(E~F)

    选择E元素后面的所有兄弟元素

    4 动态伪类选择器

    待续。。。

    相关文章

      网友评论

          本文标题:CSS3选择器

          本文链接:https://www.haomeiwen.com/subject/hzymfxtx.html