• 选择符


    CSS语法结构由三部分组成:选择符(Selector),属性(property)和值(value).

    使用方法:  Selector  { Property: value}

    类型选择符

    所谓类型选择符,是指网页中已有的标签类型作为名称的选择符

    例如:body, div, span等 

    全局选择符

    CSS全局选择符 -- 匹配文档中的任意一个元素

    *
    {
        color: pink;
        font-size: 12px;
        border: 1px solid blue;
    }

    统一定义页面的所有元素

    群组选择符

    除了可以对单个对象进行样式指定,还可以对一组对象进行相同的样式指派.只需要使用逗号对选择符进行分隔

    例如:h1,h2,h3,span { font-family:宋体 }

    包含选择符

    当我们仅仅想对某一个对象中的子对象进行样式指定时,包含选择符就被派上了用场.包含选择符组合中前一个对象包含后一个对象,对象之间使用空格作为分隔符.

    例如:h1 span{ font-weight:bold }

    子对象选择符

    包含选择符比子选择符范围更广,因包含关系中一个元素可以是另外一个元素的"儿子"、"孙子"、"从孙子",而子对象选择符中的一个元素只能是另外一个元素的"儿子","孙子"或"从孙子"不行

    例如

    p > code
    {
        color:blue;
        font-size:120%;
    }
    
    <p>
            <code>梦之都CSS子对象选择符可用,蓝色</code>
    </p>

    上面的例子可以显示p > code定义的样式.

    <p>
            <span><code>梦之都CSS子对象选择符不可用</code></span>
    </p>

    上面的例子不能显示p > code定义的样式,因为p与code不是直接包含关系,是间接包含关系(code是p的"孙子")

    直接相邻选择符

    h1 + p
    {
        color:red;
    }

    上面例子定义了直接相邻选择符

    <h1>梦之都CSS 直接相邻选择符</h1>
    <p>
            使用了样式
    </p>

    由于p和h1是直接的邻居,所以p段落中的内容可以显示红色样式

    普通相邻选择符

    匹配文档中符合选择符规定的普通相邻关系的元素,例如E ~ F选择符,E和F在文档被相同的元素包含(具有相同的父元素)且文档中F在E后出现(无需紧随其后),则选择符匹配元素F

    span ~ p
    {
        color:red;
    }

    id选择符

    每个id都是唯一的,不允许重复。因此一个ID选择符在一个HTML文档中只可使用一次

    css中的格式:#id名{样式}   

    class选择符

    类选择符可以包括HTML文档中不同类型的一些元素(就像一种分类),因此一个类选择符在一个HTML文档中可使用多次

    css中的格式是:.class名{样式}

    组合选择符

    对于以上所有css选择符,均可以进行组合使用  

    如:  .p1,#content,h1 .p2{ color:red }         表示class为p1,id为content,以及类型选择符h1标签下的所有class为p2的标签内字体的颜色为红色

    伪类

    CSS中样式和HTML文档中元素的连接通常基于元素在文档中的位置,这种方式满足于大部分需求。不过由于HTML文档结构的限制,一些效果无法实现,例如,某些用户行为引发的事件,下面是一些示例:

    • 当用户鼠标移动到某个HTML元素上
    • 离开HTML元素
    • 点击HTML元素

    伪类是一种特殊的类,它由CSS自动支持,属CSS的一种扩展类,名称不能被用户自定义,使用时只能够按标准格式进行应用

    例如:

    a: hover {

                  background-color:#000;

       }

    属性名选择符

     [att] -- CSS属性名选择符,匹配文档中具有att属性的E元素

    a[title]
    {
        color:red;
        border: 1px solid blue;
    }

    所有具有title属性的a标签将显示红色的文字,并显示蓝色边框

    属性值选择符[att=val]

    [att=val] -- CSS E[att=val] 属性值选择符,匹配文档中具有att属性且其值为val的E元素

    a[title="fwj"]
    {
        color:red;
    }

    所有title值为fwj的a标签的文字颜色将显示红色

    属性值选择符也可以匹配多个属性

    *[title="fwj"][href="http://www.baidu.com/"]
    {
        color: pink;
        border: 1px solid blue;
    }

    只有title为fwj和href为http://www.baidu.com/的标签,文字才显示粉色

     属性值选择符E[att~=val]

    E[att~=val] -- CSS E[att~=val] 属性值选择符,匹配文档中具有att属性且其中一个值(多个值使用空格分隔)为val(val不能包含空格)的E元素

    a[title~="baidu"]
    {
        color:red;
    }
    
    <a href="http://www.baidu.com/" title="www baidu com">红色</a>

    title属性包含三个值(多个值使用空格分隔),其中一个为baidu,因此可匹配样式

     属性值选择符 E[att|=val]

     E[att|=val] -- CSS E[att|=val] 属性值选择符,匹配文档中具有att属性且其中一个值为val,或者以val开头紧随其后的是连字符-的E元素(主要用来允许语言编码的匹配,例如HTML中的hreflang属性。关于lang(或 xml:lang)语言码的匹配,可查看:lang伪类)

    *[lang|="en"]
    {
        color: red;
    }
    
    *[lang|="zh"]
    {
        color: blue;
    }
    <p lang="en">梦之都红色</p>
    <p lang="en-US">梦之都红色</p>
    <p lang="zh">梦之都蓝色</p>

    属性值子串选择符E[att^=val]

    E[att^=val] -- CSS E[att^=val]属性值子串选择符,匹配文档中具有att属性且其值的前缀为val的E元素

    a[href^="mailto"] 
    {
        color: green;
        background: url(/images/css/icon-mail.png) center right no-repeat;
    }
    
    a[href^="https://"]
    {
        color:red;
        background: url(/images/css/icon-ssl.png) center right no-repeat;
    }
    
    a[href^="ftp://"]
    {
        color:gold;
        background: url(/images/css/icon-file.png) center right no-repeat;
    }

    上面示例根据不同的链接协议匹配不同的样式图片

     属性值子串选择符E[att$=val]

    E[att$=val] -- CSS E[att$=val] 属性值子串选择符,匹配文档中具有att属性且其值的后缀为val的E元素

    a[href$=".html"]
    {
        color:red;
    }
    
    a[href$=".php"]
    {
        color:green;
    }
    
    a[href$=".jsp"]
    {
        color:blue;
    }

    为不同的链接文件匹配不同的样式

    属性值子串选择符E[att*=val]

    E[att*=val] -- CSS E[att*=val] 属性值子串选择符,匹配文档中具有att属性且其包含val的E元素

    a[href*=".html"]
    {
        color:red;
    }
    
    a[href*=".php"]
    {
        color:green;
    }
    
    a[href*=".jsp"]
    {
        color:blue;
    }
    
    <a href="http://www.baidu.com/css.html?id=1&name=www">红色字体</a>
    <a href="http://www.baidu.com/css.php?id=2&name=dreamdu">绿色字体</a>
    <a href="http://www.baidu.com/css.jsp?id=3&name=com">蓝色字体</a>

    由于多数动态网页的网址后都有参数,因此可以使用[att*=val]匹配动态网页的样式

  • 相关阅读:
    upc组队赛16 Melody【签到水】
    upc组队赛16 WTMGB【模拟】
    upc组队赛15 Supreme Number【打表】
    upc组队赛15 Lattice's basics in digital electronics【模拟】
    upc组队赛15 Made In Heaven【第K短路 A*】
    upc组队赛14 As rich as Crassus【扩展中国剩余定理】
    upc组队赛14 Floating-Point Hazard【求导】
    upc组队赛14 Communication【并查集+floyd /Tarjan】
    upc组队赛14 Bus stop【签到水】
    2018/12/7 数据库事务和分布式事务
  • 原文地址:https://www.cnblogs.com/mingluosunshan/p/3264915.html
Copyright © 2020-2023  润新知