zoukankan      html  css  js  c++  java
  • css选择器(1)

    css选择器

    css选择器有5个大类:

    1. 基本选择器
    2. 复合选择器
    3. 伪类选择器
    4. 伪元素选择器
    5. 属性选择器

    接下来具体介绍各个选择器:

    一、基本选择器

    1、 通用选择器

    通用选择器能够匹配所有的元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                *{
                    color: green;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p>万物皆虚,万事皆允</p>
            <p>万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    2、元素选择器

    元素选择器就是以某个html元素作为选择器

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                h1{
                    text-align: center;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p>万物皆虚,万事皆允</p>
            <p>万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    3、类选择器

    类选择器采用html5的全局属性class,用它来匹配指定的元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                .a{
                    color: red;
                }
                .b{
                    color: blue;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p class="a">万物皆虚,万事皆允</p>
            <p class="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    4、id选择器

    id选择器是使用html元素的id属性来进行定位的

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                #a{
                    color: green;
                }
                #b{
                    color: pink;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p id="a">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    二、复合选择器

    符合选择器是由两个或多个基础选择器通过不同的方式进行组合,来达到更精确的定位。

    1、交集选择器

    交集选择器由两个选择器直接连接构成,第一个选择器必须是元素选择器,第二个选择器必须是类选择器或id选择器

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                p#b{
                    color:yellow;
                }
                p.a{
                    color:pink;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p class="a">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    2、并集选择器

    由两个或两个以上任意选择器构成,所设置的样式对参与的每个选择器都有效

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                h1,p{
                    color:green;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p class="a">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    3、后代选择器

    用于选择包含在指定选择器匹配的元素中的后代元素,后代选择器使用空格进行分隔

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                body  p{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p>
                hahaha
                <div>
                    nimei
                    <p>
                        3
                    </p>
                </div>
            </p>
        </body>
    </html>
    
    

    4、子元素选择器

    子元素选择器和后代选择器很像,但只选择匹配元素中的直接子元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                body > p{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p>
                hahaha
                <div>
                    nimei
                    <p>
                        3
                    </p>
                </div>
            </p>
        </body>
    </html>
    
    

    5、相邻兄弟选择器

    如果需要选择紧接在某个元素后面的元素,而且两者具有共同的父元素,就可以使用相邻兄弟选择器。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                .a+.b{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p class="a">第一行</p>
            <p class="b">第二行</p>
            <p class="c">第三行</p>
            <p class="d">第四行</p>
        </body>
    </html>
    
    

    6、通用兄弟选择器

    通用兄弟选择器比相邻兄弟选择器的匹配范围更广一些,通用兄弟选择器匹配的元素无需挨着,只需要有共同父亲即可,也就是在同一层级。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                .a ~ p{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p class="a">第一行</p>
            <p class="b">第二行</p>
            <p class="c">第三行</p>
            <p class="d">第四行</p>
        </body>
    </html>
    
    

    三、伪元素选择器

    1、::first-line选择器

    用于匹配文本块的第一行内容,并且仅对块级元素的内的第一行内容有效

    tip:输入lorem可以填充乱数假文

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                ::first-line{
                    color:red;
                }
            </style>
        </head>
        <body>
            <div>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore, aut, officiis totam voluptatum, odit reprehenderit corrupti ipsam nesciunt veniam ut eos omnis necessitatibus inventore corporis! Dolorem exercitationem officiis dolor soluta!</div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione labore quibusdam, deleniti, nobis repellendus doloremque voluptatum velit, repudiandae dolorem inventore qui. Sit vero veritatis deleniti beatae ea, quibusdam reprehenderit eligendi?</p>
    
        </body>
    </html>
    
    

    如果想要让::first-line仅对一个元素起效,就要在冒号前加上这个元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                p::first-line{
                    color:red;
                }
            </style>
        </head>
        <body>
            <div>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore, aut, officiis totam voluptatum, odit reprehenderit corrupti ipsam nesciunt veniam ut eos omnis necessitatibus inventore corporis! Dolorem exercitationem officiis dolor soluta!</div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione labore quibusdam, deleniti, nobis repellendus doloremque voluptatum velit, repudiandae dolorem inventore qui. Sit vero veritatis deleniti beatae ea, quibusdam reprehenderit eligendi?</p>
    
        </body>
    </html>
    
    

    2、::first-leter选择器

    用来选中文本块的第一个字符

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                ::first-letter{
                    color:red;
                }
            </style>
        </head>
        <body>
            <div>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore, aut, officiis totam voluptatum, odit reprehenderit corrupti ipsam nesciunt veniam ut eos omnis necessitatibus inventore corporis! Dolorem exercitationem officiis dolor soluta!</div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione labore quibusdam, deleniti, nobis repellendus doloremque voluptatum velit, repudiandae dolorem inventore qui. Sit vero veritatis deleniti beatae ea, quibusdam reprehenderit eligendi?</p>
    
        </body>
    </html>
    
    

    同样,在冒号前加入特定标签,会让::first-letter的效果仅针对该标签。

    3、::before和::after

    将content属性的值插入到指定区域中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                p::before{
                    content: "大老师";
                }
                p::before{
                    content: url(img/a.png);
                }
                p::after{
                    content: "自爆"
                }
            </style>
        </head>
        <body>
            <p>的技能是</p>
        </body>
    </html>
    
    

    4、selection选择器

    用于匹配用户选中的部分文本

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
               ::selection{
                   color:red;
                   background-color: black;
               }
            </style>
        </head>
        <body>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Molestiae id soluta nemo ad et. Quibusdam, necessitatibus harum? Corporis inventore iure incidunt ea illo tempora nobis ratione consectetur voluptates vel! Quisquam.</p>
        </body>
    </html>
    
    
  • 相关阅读:
    BEM(Block–Element-Modifier)
    http://element.eleme.io/#/zh-CN/component/quickstart
    Commit message 的写法规范。本文介绍Angular 规范(
    好的commit应该长啥样 https://github.com/torvalds/linux/pull/17#issuecomment-5654674
    代码管理
    if you have content fetched asynchronously on pages where SEO is important, SSR might be necessary
    Martin Fowler’s Active Record design pattern.
    The Zen of Python
    Introspection in Python How to spy on your Python objects Guide to Python introspection
    Object-Oriented Metrics: LCOM 内聚性的度量
  • 原文地址:https://www.cnblogs.com/fate-/p/14429271.html
Copyright © 2011-2022 走看看