美文网首页
CSS选择器

CSS选择器

作者: 小疏林er | 来源:发表于2020-04-17 22:10 被阅读0次

    1、三种引用方式

    • 行内样式:<h1 style="color:red;">内部样式</h1>
    • 内部样式表:<style>选择器{属性:属性值。。。}</style>
    • 外部样式表<link rel="stylesheet" type="text/css" href="css/test1.css"/>引入test1.css文件

    2、常用的选择器

    (1)基础选择器

    • 标签选择器 (标签名)

    使用标签选择器可选中当前范围的所有该标签元素。
    div {属性1 :属性值1;属性2 :属性值2;。。。}


    • 类选择器 (.+类名)

    使用类选择器可选中标签中带有class='类名'的所有元素
    .img {属性1 :属性值1;属性2 :属性值2;。。。}


    • id选择器 (#+id名)

    使用类选择器可选中标签中带有id='id名'的所有元素,
    #div1 {属性1 :属性值1;属性2 :属性值2;。。。}

    (2)高级选择器

    • 所有选择器:* (not不选)

    选择所有元素,注意和其他选择器一起使用,作用更大。
    * {属性1 :属性值1;属性2 :属性值2;。。。}选中所有元素。

    #ha *{属性1 :属性值1;属性2 :属性值2;。。。} 选中id名为ha的所有后代

    :not(p){属性1 :属性值1;属性2 :属性值2;。。。}选中出来p元素外所有元素(:别忘了!)。


    • 组合选择器:选择器1,选择器2。。。。。

    组合选择器就是选中选择器1和选择器2。选择器1、2可以是基础选择器和高级选择器的任意。
    div,span{属性1 :属性值1;属性2 :属性值2;。。。}选中所有div和span元素。


    • 后代选择器:祖先选择器 后代选择器

    div span{属性1 :属性值1;属性2 :属性值2;。。。}选择div内的所有span元素(不一定是子元素)


    • 父子选择器:父选择器>子选择器

    div>span{属性1 :属性值1;属性2 :属性值2;。。。}选择所有父级元素是div内的span元素。


    • 兄弟选择器:兄选择器+弟选择器

    .div1+p{属性1 :属性值1;属性2 :属性值2;。。。}选择紧挨着id='div1'的元素之后的p元素,只能由兄选弟,不可反过来(所谓的父子指的是内外层,兄弟则代表先后顺序)


    • 属性选择器:[属性名] /[属性名=属性值]/[属性*|^|$=属性值]

    [titie] {属性1 :属性值1;属性2 :属性值2;。。。}选择所有带有title属性的元素。
    (这个属性是写在标签内部的,并不是写在style里的属性1 属性2,style、title、href等等都是属性)

    [titie=你好,欢迎] {属性1 :属性值1;属性2 :属性值2;。。。}选择所有带有title属性并且属性值为你好,欢迎的元素。

    除了可以对准确的属性值进行选择,也可以进行模糊选择。

    *包含:[titie*=a] {属性1 :属性值1;。。。}选择title的属性值之中含有a的元素。
    ^开头:[titie^=a] {属性1 :属性值1;。。。}选择title的属性值之中开头为a的元素。
    $结尾:[titie$=a] {属性1 :属性值1;。。。}选择title的属性值之中结尾为a的元素。


    • nth选择器(也称为CSS3 结构类)
      span:nth-child(1){属性1 :属性值1;。。。}选择每个span是其父元素的第一个子元素。
      div:nth-of-type(2){属性1 :属性值1;。。。}选择每个div是其父元素的第二个儿子div元素。
      span:nth-last-of-type(3){属性1 :属性值1;。。。}选择每个span是其父元素的倒数第三个span元素。(这里面的123均可以更改,:可别忘了啊!)

    (3)伪类选择器:选择某个元素的状态

       a:link {color: #FF0000}        /* 未访问的链接 */
       a:visited {color: #00FF00} /* 已访问的链接 */
       a:hover {color: #FF00FF}   /* 鼠标移动到链接上 */
       a:active {color: #0000FF}  /* 选定的链接 */
    
    举一个栗子! 光标移到超链接上,字体变为蓝色
    <!DOCTYPE html>
    <html>
      <head>
          <meta charset="utf-8" />
          <title></title>
          <link rel="stylesheet" type="text/css" href="css/test1.css"/>
          <style type="text/css">
              a:hover{
                  color: #0000FF; /* 光标移到超链接上,字体变为蓝色 */
              }
          </style>
      </head>
      <body>
          <a href="https://www.baidu.com">百度</a>
      </body>
    </html>
    

    3、选择器练习

    css选择器有很多!上面列举的是常用的一些选择器,灵活搭配可解决大部分问题。

    下面是我随意写的栗子,先写的各种嵌套的标签,然后再写的文字,最后用不同的选择器将它们的颜色和文字进行匹配,尽量不用重复的方法。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style type="text/css">
                #div1 span:nth-child(1){
                    color: red;
                }
                body>div>span>div{
                    color: green;
                }
                #div1_1 div:nth-of-type(1){
                    color: yellow;
                }
                #div1_1 div:nth-child(1)+div{
                    color: #999900;
                }
                #span_div_span_div1{
                    color: #fa54ff;
                }
                #span_div_span_div1+div{
                    color: blue;
                }
                #span_div_span_div1+div+span div{
                    color: pink;
                }
                #div1:hover{
                    color: #00FFFF;
                }
                span:nth-last-of-type(1){
                    color: #00FFFF;
                }
            </style>
        </head>
        <body>
            <div id="div1">
                <span>俺想红</span>
                <span>
                    <div id="">
                        不想绿
                    </div>
                </span>
                <div id="div1_1">
                    
                    <div id="">
                        可别黄了
                    </div>
                    <div id="">
                        你说不黄就不黄啊
                    </div>
                </div>
            </div>
            <span>
                <div id="span_div">
                    <span id="span_div_span">
                        
                        <div id="span_div_span_div1">
                            紫了吧唧
                        </div>
                        <div id="">
                            蓝汪汪
                        </div>
                        <span>
                            <div id="">
                                粉嘟噜
                            </div>
                            <span>青出于蓝而胜于蓝</span>
                        </span>
                    </span>
                </div>
            </span>
        </body>
    </html>
    
    效果图:
    image.png

    4、优先级

    有的时候我们看到的效果和我们写的效果并不一样,一个html文件中可能用到上面的三种引入方式,他们之间存在优先级。优先级的大小导致你的哪个效果起作用。

    • 行内>>内部>外部(就近原则)
    • id>class>标签(相同方式引入)

    相关文章

      网友评论

          本文标题:CSS选择器

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