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

    一、CSS的定义

      层叠样式表,CSS修改HTML标签的显示效果

     

    二、CSS实例

    由选择器和声明组成

    选择器:{k1:v1;k2:v2}

    声明:属性 + 值

     

    三、CSS代码的位置

    1.直接在标签中的style属性

    2.在head标签中的style标签内

    3.单独的CSS文件中,通过link标签引用

    <head>
        <meta charset="UTF-8">
        <title>CSS的位置</title>
        <!--设置样式-->
        <style>
            div {color: blue}
        </style>
        
        <!--连接独立的CSS文件设置样式-->
        <link rel="stylesheet" href="color_style.css">
    </head>
    <body>
    <!--标签中设置样式-->
    <p style="color: red">在标签内设置样式</p>
    
    <!--head标签中设置样式-->
    <div>head标签内设置样式</div>
    
    <!--独立的CSS文件设置样式-->
    <span>CSS文件设置样式</span>
    
    </body>

     

    四、注释

    /*CSS注释*/

     

    五、CSS选择器

    ① 基本选择器

    ② 组合选择器

    ③ 属性选择器

    ④ 分组和嵌套

    ⑤ 伪类选择器

    ⑥ 伪元素选择器

     

    六、基本选择器

    ① ID选择器

    在标签内定义ID,通过ID找到相应的标签

     

    ② 元素选择器

    直接在head定义标签样式

     

    ③ 类选择器

    给标签添加上class属性,在head的style通过.类来定义;

    在标签里的class可以有多个值,通过类选择器给指定的标签定义样式;

     

    ④ 通用选择器

    用*表示通用

     

    <head>
        <meta charset="UTF-8">
        <title>基本选择器</title>
        <style>
            /*id选择器*/
            #p1 {color:red}
            #p2 {color:green}
    
            /*元素选择器*/
            span {color:pink}
            div {color: aqua}
    
            /*类选择器*/
            .c1 {color:blue}
            .c2 {color:yellow}
            span.c1 {color:indianred}
    
            /*通用选择器*/
            * {color: blueviolet}
        </style>
    </head>
    <body>
    <!--ID选择器-->
    <p id="p1">ID选择器</p>
    <p id="p2">ID选择器</p>
    <p>ID选择器</p>
    <p>ID选择器</p>
    <hr>
    <!--元素选择器-->
    <span>元素选择器</span>
    <span>元素选择器</span>
    <span>元素选择器</span>
    <hr>
    
    <!--类选择器-->
    <p class="c1">类选择器</p>
    <p>类选择器</p>
    <p class="c2">类选择器</p>
    <span class="c1">类选择器</span>
    <p>类选择器</p>
    <hr>
    <!--通用选择器-->
    <div>通用选择器</div>
    <div>通用选择器</div>
    <div>通用选择器</div>
    <div>通用选择器</div>
    <div>通用选择器</div>
    <hr>
    </body>

     

    七、组合选择器

    ① 儿子选择器(父级标签下的子级标签应用样式,直属关系)

    ② 后代组合器(父级标签以下的子级标签的内部都能应用样式,通过ID定义标签)

    ③ 毗邻选择器(同级标签往下指定一个标签应用样式)

    ④ 弟弟选择器(同级标签往下指定标签,所有指定的标签都应用样式)

    <head>
        <meta charset="UTF-8">
        <title>选择组合器</title>
        <style>
            /*儿子选择器*/
            div>a {
                color: red;
            }
    
            /*后代选择器*/
            div div{
                color: blue;
            }
    
            /*毗邻选择器*/
            div+span {color: yellow}
    
    
            /*弟弟选择器*/
            p~b {color: green}
    
        </style>
    </head>
    <body>
    <!--儿子选择器-->
    <div><a href="#">儿子选择器</a></div>
    <hr>
    
    <!--后代选择器-->
    <div id="descendant_style">
        没有样式
        <div>
            <u>下划线</u>
            <i>斜体</i>
            <b>加粗</b>
        </div>
        <div>
            <p>段落</p>
        </div>
    </div>
    <hr>
    
    <!--毗邻选择器-->
    <span>div同级标签</span>
    <span>div同级标签</span>
    <div>div标签</div>
    <span>div同级标签应用样式</span>
    <span>div同级标签应用样式</span>
    <hr>
    
    <!--弟弟选择器-->
    <b>p同级标签</b>
    <b>p同级标签</b>
    <p>p标签</p>
    <b>p同级标签</b>
    <b>p同级标签</b>
    <b>p同级标签</b>
    <b>p同级标签</b>
    </body>

     

    八、属性选择器

     根据属性寻找标签,自定义属性

    ①相同属性的标签

    ②相同属性且相同值的标签

    <head>
        <meta charset="UTF-8">
        <title>属性选择器</title>
        <style>
            /*同属性的标签*/
            div[myattribute] {color: blue}
    
            /*同属性同值的标签*/
            div[myattribute="mystyle"] {color: red}
    
            /*同属性某字符串开头的值*/
            div[title^='my'] {color: green;
                font-size: 20px}
    
            /*同属性某字符串结尾的值*/
            div[title$='end'] {color: yellow;font-size: 22px}
    
            /*同属性的值包含某个字符*/
            div[title*='a'] {color: bisque}
    
            /*同属性的值切割后等于某个值*/
            div[title~='this'] {color: darkorange}
    
        </style>
    
    </head>
    <body>
    <!--属性选择器-->
    <div myattribute="">同属性标签</div>
    <div myattribute="">同属性标签</div>
    <div myattribute="mystyle">同属性同值标签</div>
    <div myattribute="mystyle">同属性同值标签</div>
    <hr>
    
    <!--指定属性的值的开头的元素-->
    <div title="my style">title属性中值是my为开头的标签</div>
    <hr>
    
    <!--指定属性的值的结尾元素-->
    <div title="styleend">title属性中值是end为结尾的标签</div>
    <hr>
    
    <!--指定属性的值包含某个元素-->
    <div title="style_a_style">title属性中值包含a字符串的的标签</div>
    <hr>
    
    <!--指定属性的值切割后有一个值相同-->
    <div title="this style">title的值以空格切割后有一个值是this</div>
    </body>

     

    九、分组和嵌套

    分组:不同选择器应用相同的样式,可以使用分组

    <head>
        <meta charset="UTF-8">
        <title>分组</title>
        <style>
            /*分组*/
            #ii,.cc {color: red}
        </style>
    </head>
    <body>
    <div id="ii">div标签</div>
    <span class="cc">span标签</span>
    </body>

     

    嵌套:多个选择器混合使用,基本选择器之间可以任意嵌套组合使用

    head>
        <meta charset="UTF-8">
        <title>嵌套</title>
        <style>
            /*嵌套*/
            #dd i {color: green}
        </style>
    </head>
    <body>
    <div id="dd">
        <u>下划线</u>
        <u>下划线</u>
        <i>斜体</i>
        <i>斜体</i>
        <i>斜体</i>
    </div>
    <i>斜体</i>
    <i>斜体</i>
    </body>

     

    十、伪类选择器

    相同的标签的动作不同定义不同的样式

    <head>
        <meta charset="UTF-8">
        <title>伪类选择器</title>
        <style>
            /*未访问过的链接样式*/
            a:link {color: blue}
    
            /*访问过的链接样式*/
            a:visited {color: green}
    
            /*鼠标移动到链接上的样式*/
            a:hover {color: orange}
    
            /*鼠标点击不放的时候的样式*/
            a:active {color: pink}
    
            /*input输入框获取焦点时的样式*/
            input:focus {
                outline: none;
                background-color: #eeeeee;
            }
        </style>
    </head>
    <body>
    <div>
        <a href="http://www.123.com">未访问过链接</a>
    </div>
    <hr>
    <div>
        <a href="http://www.google.com">访问过链接</a>
    </div>
    <hr>
    <div>
        <a href="http://www.google.com">鼠标点击不放的链接</a>
    </div>
    <hr>
    <div>
        <a href="http://www.google.com">鼠标移动到链接上</a>
    </div>
    <hr>
    <form action="">
        <label>点击更改样式
            <input type="text">
        </label>
    </form>
    </body>

     

    十一、伪元素选择器

    <head>
        <meta charset="UTF-8">
        <title>伪元素的选择器</title>
        <style>
            /*首字母设置样式*/
            div:first-letter {
                font-weight: bold;
                font-size: 30px;
            }
    
            /*指定标签的开头插入内容*/
            p:before {
                content: '##';
                color: blue;
            }
    
            /*指定标签的结尾插入内容*/
            p:after {
                content: '~~';
                color: red;
            }
        </style>
    </head>
    <body>
    <div>这是div标签</div>
    <div>div标签</div>
    <p>段落标签</p>
    <p>段落标签</p>
    <p>段落标签</p>
    </body>

     

    十二、选择器的优先级

    ① 选择器重名的时候,应用最后的样式

    ② 内联样式>ID选择器>类选择器>元素选择器(1)>继承选择器(0)

    ③ !important;       最高权限,写在{}里面(不推荐用)

    ④ CSS继承,CSS继承性的权重是非常低的,是比普通元素的权重还要低的0

  • 相关阅读:
    【题解】洛谷P1896 [SCOI2005] 互不侵犯(状压DP)
    [BZOJ4383][POI2015] Pustynia-[线段树+dp+拓扑排序]
    [agc016E]Poor Turkeys
    [arc082E]ConvexScore-[凸包]
    [BZOJ4011][HNOI2015]落忆枫音-[dp乱搞+拓扑排序]
    [arc062E]Building Cubes with AtCoDeer
    [arc079F]Namori Grundy
    [agc006F]Blackout
    [BZOJ4444][SCOI2015]国旗计划-[ST表]
    [BZOJ1007][HNOI2008]水平可见直线-[凸包]
  • 原文地址:https://www.cnblogs.com/st-st/p/9766715.html
Copyright © 2011-2022 走看看