zoukankan      html  css  js  c++  java
  • css 选择器

    css选择器小结

    一、元素选择器

    语法格式如下:

    E{
       ……
    }

    示例代码:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> 元素选择器 </title>
        <style type="text/css">
            /* 定义对div元素起作用的CSS样式 */
            div{
                background-color: grey;
                font: italic normal bold 14pt normal 楷体_GB2312;
            }
            /* 定义对p元素起作用的CSS样式 */
            p{
                background-color: #444;
                color:#fff;
                font: normal small-caps bold 20pt normal 宋体;
            }
        </style>
    </head>
    <body>
          <div>div内的文字</div>
          <p>p内的文字</p>
    </body>
    </html>
    复制代码

    二、属性选择器

    语法格式如下:

    • E{}:该css样式对所有的E元素起作用
    • E[attr]:该样式对所有含有attr属性的E元素起作用
    • E[attr=value]:该样式对所有包含attr属性且attr属性的值为value的E元素起作用
    • E[attr~=value]:该样式对所有包含attr属性且attr属性的值是以空格隔开的系列值,其中某一个值是value的元素起作用
    • E[attr|=value]:该样式对所有包含attr属性且attr属性的值是以连字符隔开的系列值,其中某一个值是value的元素起作用
    • E[attr^="value"]:该样式对所有包含attr属性且attr属性的值为value开头的字符串的E元素起作用
    • E[attr$="value"]:该样式对所有包含attr属性且attr属性的值为value结尾的字符串的E元素起作用
    • E[attr*="value"]:该样式对所有包含attr属性且attr属性的值为value的字符串的E元素起作用

    示例代码如下:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> 属性选择器 </title>
        <style type="text/css">
        /* 对所有div元素都起作用的CSS样式 */
        div {
            300px;
            height:30px;
            background-color:#eee;
            border:1px solid black;
            padding:10px;
        }
        /* 对有id属性的div元素起作用的CSS样式 */
        div[id] {
            background-color:#aaa;
        }
        /* 对有id属性值包含xx的div元素起作用的CSS样式 */
        div[id*=xx] {
            background-color:#999;
        }
        /* 对有id属性值以xx开头的div元素起作用的CSS样式 */
        div[id^=xx] {
            background-color:#555;
            color:#fff;
        }
        /* 对有id属性值等于xx的div元素起作用的CSS样式 */
        div[id=xx] {
            background-color:#111;
            color:#fff;
        }
        </style>
    </head>
    <body>
    <div>没有任何属性的div元素</div>
    <div id="a">带id属性的div元素</div>
    <div id="zzxx">id属性值包含xx子字符串的div元素</div>
    <div id="xxyy">id属性值以xx开头的div元素</div>
    <div id="xx">id属性值为xx的div元素</div>
    </body>
    </html>
    复制代码

     

    三、id选择器

    四、类选择器

    五、包含选择器:

    语法如下:

     Selector1 Selector2{}

    示例代码如下:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title>包含选择器测试</title>
        <style type="text/css">
        /* 对所有的div元素起作用的CSS样式 */
        div {
            350px;
            height:60px;
            background-color:#ddd;
            margin:5px;
        }
        /* 对处于div之内、且class属性为a的元素起作用的CSS样式*/
        div .a {
            200px;
            height:35px;
            border:2px dotted black;
            background-color:#888;
        }
        </style>
    </head>
    <body>
    <div>没有任何属性的div元素</div>
    <div><section><div class="a">处于div之内且class属性为a的元素</div></section></div>
    <p class="a">没有处于div之内、但class属性为a的元素</p>
    </body>
    </html>
    复制代码

     六、子选择器

    语法如下;

    Selector1>Selector2{}

    其语法与包含选择器相似,但是他们区别如下:对于包含选择器,只要目标选择器在外部选择器对应的元素内部,即使是孙子元素也可以,但是子选择器必须是直接子元素才可以。

    实例代码如下:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> 子选择器 </title>
        <style type="text/css">
        /* 对所有的div元素起作用的CSS样式 */
        div {
            350px;
            height:60px;
            background-color:#ddd;
            margin:5px;
        }
        /* 对处于div之内、且class属性为a的元素起作用的CSS样式*/
        div>.a {
            200px;
            height:35px;
            border:2px dotted black;
            background-color:#888;
        }
        </style>
    </head>
    <body>
    <div>没有任何属性的div元素</div>
    <div><p class="a">class属性为a、且是div子节点的元素</p></div>
    <div><section><p class="a">class属性为a、且处于div内部的元素</p></section></div>
    </body>
    </html>
    复制代码

    七、兄弟选择器(css3新增)

    语法如下:

    Selector1~Selector2{}

    兄弟选择器匹配Selector1对应的元素后面、能匹配Selector2的兄弟节点。

    实例代码如下:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> E~F伪类选择器 </title>
        <style type="text/css">
            /* 匹配id为android的元素后面、class属性为long的兄弟节点 */
            #android ~ .long{
                background-color: #00FF00;
            }
        </style>
    </head>
    <body>
    <div>
        <div>疯狂Java讲义</div>
        <div class="long">轻量级Java EE企业应用实战</div>
        <div id="android">疯狂Android讲义</div>
        <p class="long">经典Java EE企业应用实战</p>
        <div class="long">JavaScript权威指南</div>
    </div>
    </body>
    </html>
    复制代码

    八、选择器组合

    语法如下:

    Selector1,Selector2,Selector3……{}

    {}中的样式会对前面列出的所有选择器起作用

    实例代码如下:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> 选择器组合 </title>
        <style type="text/css">
        /* div元素、class属性为a的元素、id为abc的元素都起作用的CSS样式 */
        div,.a,#abc {
            200px;
            height:35px;
            border:2px dotted black;
            background-color:#888;
        }
        </style>
    </head>
    <body>
    <div>没有任何属性的div元素</div>
    <p class="a">class属性为a的元素</p>
    <section id="abc">id为abc的元素</section>
    </body>
    </html>
    复制代码

    九、伪选择器:

    css提供的伪选择器主要有如下几个:

    • :first-letter样式对指定对象的第一个字符起作用
    • :first-line样式对指定对象的第一行内容起作用
    • :before该选择器与内容相关的属性结合使用,用于在指定对象内部的前端插入内容
    • :after该选择器与内容相关的属性结合使用,用于在指定对象内部的后端插入内容

    :first-letter实例代码如下:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> :first-letter </title>
        <style type="text/css">
            span {
                display:block;
            }
            /* span元素里第一个字母加粗、变蓝
            由于span是内联元素,因此需要先把span的display设为block,或者设置width、height,或者把position设置为absolute
            */
            span:first-letter{
                color:#f00;
                font-size:20pt;
            }
            /* section元素里第一个字母加粗、变蓝 */
            section:first-letter{
                color:#00f;
                font-size:30pt;
                font-weight:bold;
            }
            /* p元素里第一个字母加粗、变蓝 */
            p:first-letter{
                color:#00f;
                font-size:40pt;
                font-weight:bold;
            }
        </style>
    </head>
    <body>
    <span>abc</span>
    <section>其实我是一个程序员</section>
    <p>疯狂Java讲义</p>
    </body>
    </html>
    复制代码

    :first-line实例代码如下:

    复制代码
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> :first-line </title>
        <style type="text/css">
            span {
                display:block;
            }
            /* span元素里第一行文字的字体加大、变红
            由于span是内联元素,因此需要先把span的display设为block
            */
            span:first-line{
                color:#f00;
                font-size:20pt;
            }
            /* section元素里第一行文字的字体加大、变蓝 */
            section:first-line{
                color:#00f;
                font-size:30pt;
            }
            /* p元素里第一行文字的字体加大、变蓝 */
            p:first-line{
                color:#00f;
                font-size:30pt;
            }
        </style>
    </head>
    <body>
    <span>abc<br/>xyz</span>
    <section>去年今日此门中,<br/>
    人面桃花相印红。</section>
    <p style="160px">疯狂Java讲义</p>
    </body>
    </html>
    复制代码

    十、伪类选择器

    • 结构性伪类选择器
      • Selector:root匹配文档根元素
      • Selector:first-child匹配符合Selector选择器,而且必须是其父元素的第一个子节点的元素
      • Selector:last-child匹配符合Selector选择器,而且必须是其父元素的最后一个子节点的元素
      • Selector:nth-child(n)匹配符合Selector选择器,而且必须是其父元素的第n个子节点的元素
      • Selector:nth-last-child(n)匹配符合Selector选择器,而且必须是其父元素的倒数第n个子节点的元素
      • Selector:only-child匹配符合Selector选择器,而且必须是其父元素唯一一个子节点的元素
      • Selector:first-of-type匹配符合Selector选择器,而且同类型、同级的兄弟元素中的第一个元素
      • Selector:last-of-type匹配符合Selector选择器,而且同类型、同级的兄弟元素中的最后一个元素
      • Selector:nth-of-type(n)匹配符合Selector选择器,而且同类型、同级的兄弟元素中的第n个元素
      • Selector:nth-last-of-type(n)匹配符合Selector选择器,而且同类型、同级的兄弟元素中的倒数第n个元素
      • Selector:only-of-type:匹配符合Selector选择器,而且同类型、同级的兄弟元素中的唯一一个元素
      • Selector:empty:匹配符合Selector选择器,其内部没有任何子元素(包括文本节点)的元素
    • UI元素状态的伪类选择器:
      • Selector:link匹配Selector选择器且未被访问前的元素(通常只能是超链接)
      • Selector:visited匹配Selector选择器且已被访问前的元素(通常只能是超链接)
      • Selector:active匹配Selector选择器且处于被用户激活(在鼠标点击与释放之间)的元素(通常只能是超链接)
      • Selector:hover匹配Selector选择器且处于鼠标悬停状态的元素
      • Selector:focus匹配Selector选择器且已得到焦点的元素
      • Selector:enabled匹配Selector选择器且当前处于可用状态的元素
      • Selector:disabled匹配Selector选择器且当前处于不可用状态的元素
      • Selector:checked匹配Selector选择器且当前处于选中状态的元素
      • Selector:defaulted匹配Selector选择器且页面打开时处于选中状态(即使当前没有被选中亦可)的元素
      • Selector:read-only匹配Selector选择器且处于只读状态的元素
      • Selector:read-write匹配Selector选择器且处于读写状态的元素
      • Selector::section匹配Selector选择器的元素中当前元素被选中的内容
    • 浏览器专属属性:
    • css3新增
      • :not
      • :target
    https://www.tongbiao.xyz/
  • 相关阅读:
    Java基本数据类型
    Java入门
    JavaSE概述
    ORACLE中的自治事务
    JDWP Transport dt socket failed to initialize
    jinfo命令 Java Configuration Info
    mysql的bind-address设置为127 0 0 1,通过localhost连接访问不了
    与MQ通讯的完整JAVA程序
    Hadoop入门进阶步步高(三)-配置Hadoop
    GC Root
  • 原文地址:https://www.cnblogs.com/tongbiao/p/6803581.html
Copyright © 2011-2022 走看看