css之选择器

1.常用的选择器

<doctype html>
<html>
            <head>
                         <meta charset="utf-8"  />
                         <title>常用的选择器</title>
                         <style type="text/css">
                         
                                  /*
                                   *元素选择器
                                   *作用:通过元素选择器可以选择页面中的所有指定元素
                                   *语法:标签名{}
                                  */
                                  p{
                                       color:red;
                                    }
 
                                  /*
                                   *id选择器
                                   *通过元素的id属性值选中唯一的一个元素
                                   *语法:
                                   *        #id属性值{}
                                  */
                                   #p1{
                                           font-size:20px;
                                    }
 
 
                                    /*
                                     *类选择器
                                     *通过元素的class属性值选中一组元素
                                     *语法:
                                     *          .class属性值{}
                                    */
 
                                    .p2{
                                           color:red;
                                     }
                                     .hello{
                                                 font-size:50px;
                                     }
 
                                     /*
                                       *为id为p1的元素,class为p2的元素,还有h1,同时设置一个背景颜色为黄色
                                     */
 
                                    /* 
                                     *选择器分组(并集选择器)
                                     *通过选择器分组可以同时选中多个选择器对应的元素
                                     *语法:选择器1,选择器2,选择器N{}
                                     */
                                     #p1,.p2,h1{
                                             background-color:yellow;
                                     }
 
                                    /* 
                                     *适配选择器
                                     *他可以用来选中页面中的所有的元素
                                     *语法:*{}
                                   */
 
                                   *{
                                       color:red;
                                    }
 
                                   /*
                                     *为所有class  p3  span元素设置一个背景颜色为黄色
                                        
                                     *复合选择器(交集选择器)
                                     *作用:
                                     *        可以选中同时满足多个选择的元素
                                     * 语法:
                                     *          选择器1选择器2选择器N{}
                                   */
 
                                   span.p3{
                                                     background-color:yellow;
                                   }
 
 
              </head>
              <body>
 
                         <!--
                                我们可以为元素设置class属性
                                class属性和id属性类似,只不过class属性可以重复
                                所有相同class属性值的元素,我们说他们是一组元素
                                可以同时为一个元素设置多个class属性值,多个值之间使用空格隔开
                         -->
 
                          <p class="p2 hello">锄禾日当午</p> 
                          <p class="p2">锄禾日当午</p> 
                          <p class="p2">锄禾日当午</p> 
             </body>
 
</html>

2.属性选择器

<!DOCTYPE html>
<html>
          <head>
                    <meta charset="UTF-8">
                    <title></title>
                    <style type="text/css">
 
                       /*
                        *为所有具有title属性的p元素,设置一个背景颜色为黄色
                        *属性选择器
                        *    作用:可以根据元素中的属性或属性值来选取指定元素
                        *    语法:
                        *             [属性名]  选取含有指定属性的元素
                        *             [属性名=“属性值”]   选取含有指定属性值的元素
                        *             [属性名^=”属性值“]    选取属性值以指定内容开头的元素
                        *             [属性名$=”属性值“]    选取属性值以指定内容结尾的元素
                        *             [属性名*=”属性值“]    选取属性值以包含指定内容的元素
                        */
                        p[title]{
                                 background-color:yellow;
                        }
 
 
                       /*
                        *为title属性值为hello的元素设置一个背景颜色为黄色
                        */
                        p[title=“hello”]{
                                 background-color:yellow;
                        }
 
 
                        /*
                         *为title属性值以he开头的元素设置一个背景颜色为黄色
                         *
                         */
                         p[title^="he"]{
                                 background-color:yellow;
                         }
 
 
 
                        /*
                         *为title属性值以lo结尾的元素设置一个背景颜色为黄色
                         *
                         */
                         p[title$="lo"]{
                                 background-color:yellow;
                         }
 
                        /*
                         *为title属性值中包含l元素设置一个背景颜色为黄色
                         *
                         */
                         p[title*="l"]{
                                 background-color:yellow;
                         }
     
 
          </head>
          <body>
 
                    <!--
                          title属性:这个属性可以给任何标签指定
                                          当鼠标移入到元素上时,元素中的title属性的值将会作为提示文字显示
                    -->
                    <p title="hello">我是一个段落</p>
 
          </body>
</html>

3.伪类选择器

<doctype html>
<html>
            <head>
                         <meta charset="utf-8"  />
                         <title>伪类选择器</title>
                  
                         <style type="text/css">
                               /* 
                                    伪类专门用来表示元素的一种特殊状态
                                    比如,访问过的超链接,比如普通的超链接,比如获取集点的文本框
                                    当我们需要为处在这些特殊状态的元素设置样式时,就可以使用伪类
                              */
                 
                              /*
                                 为没访问过的链接设置一个颜色为绿色
                               *     :link
                               *    表示普通的链接(未访问过的链接)
                             */
                             a:link{
                                     color:yellowgreen;
                             }
 
                            /*
                             *为访问过的链接设置一个颜色为红色
                             *    :visited
                             *      表示访问过的链接
                             *
                             *浏览器是通过历史记录来判断一个链接是否访问过
                             *  由于涉及到用户的隐私问题,所以使用visited伪类只能设置字体的颜色
                             */
                             a:visited{
                                     color:red;
                             }
 
                            /*
                             *  :hover伪类表示鼠标移入的状态
                             */
                            a:hover{
                                     color:skyblue;
                             }
 
                            /*
                             *  :active表示的是超链接被点击的状态
                             */
                            a:active{
                                     color:black;
                            }
 
                           /*
                            *  :hover和:active也可以为其他元素设置
                            *    IE6中,不支持对超链接以外的元素设置:hover和:active
                            */
                           p:hover{
                                  background-color:yellow;
                           }
 
                           p:active{
                                   background-color:orange;
                           }
 
                          /*
                           *文本框获取焦点以后,修改背景颜色为黄色
                           */
                           input:focus{
                                   background-color:yellow;
                           }
 
                          /*
                           *为p标签中的内容使用样式
                           *   可以使用::selection为类
                           */
                          p::selection{
                                   background-color:orange;
                          }
 
                          </style>
                
              </head>
              <body>
 
                            <a  href="http://www.baidu.com">访问过的链接</a>
                            <br /><br />
                            <a href="http://www.baidu123456.com">没访问过的链接</a>
 
             </body>
 
</html>

4.兄弟元素选择器

<!DOCTYPE html>
<html>
          <head>
                    <meta charset="UTF-8">
                    <title></title>
                    <style type="text/css">
                              
                          /*
                           *  为span后的一个p元素来设置一个背景颜色为黄色
                           *后一个兄弟元素选择器
                           *作用:可以选中一个元素后紧挨着的指定的兄弟元素
                           *语法:前一个+后一个
                           *
                           */
                           span+p{
                                   background-color:yellow;
                            }
 
                           /*
                            *选中后边的所有兄弟元素
                            *语法:前一个~后边所有
                            */
                            span~p{
                                   background-color:yellow;
                            }
 
 
                    </style>
          </head>
          <body>
                    <p>我是一个段落</p>
                    <p>我是一个段落</p>
                    <span>我是一个span</span>
                    <p>我是一个段落</p>
                    <p>我是一个段落</p>
          </body>
</html>

5.否定伪类

<!DOCTYPE html>
<html>
          <head>
                    <meta charset="UTF-8">
                    <title></title>
                    <style type="text/css">
                           /*
                            *为所有的p元素设置一个背景颜色为黄色,除了class值为hello的
                            *
                            *否定伪类:
                            *   作用:可以从已选中的元素中剔除出某些元素
                            *    语法:
                            *              :not(选择器)
                            */
                            p:not(.hello){
                                   background-color:yellw;
                            }
 
                 </style>
          </head>
          <body>
                    <p>我是一个段落</p>
                    <p>我是一个段落</p>
                    <p  class="hello">我是一个段落</p>
                    <p>我是一个段落</p>
                    <p>我是一个段落</p>
          </body>
</html>

6.子元素的伪类

<!DOCTYPE html>
<html>
          <head>
                    <meta charset="UTF-8">
                    <title></title>
                    <style type="text/css">
                        /*
                         *为第一个p标签设置一个背景颜色为黄色
                         *  :firtst-child    可以选中第一个元素
                         */
                         body>p:first-child{
                               background-color:yellow;
                         }
 
                        /*
                         *为最后一个p标签设置一个背景颜色为黄色
                         *  :last-child    可以选中最后一个元素
                         */
                         p:last-child{
                              background-color:yellow;
                         }
 
 
                        /*
                         *   :nth-child   可以选中任意位置的子元素
                         *       该选择器后边可以指定一个参数,指定要选中第几个子元素
                         *       even表示偶数位置的子元素
                         *       odd表示奇数位置的子元素
                         */
                         p:nth-child(1){
                                 background-color:yellow;
                         }
 
                        /*
                         *  :first-of-type
                         *  :last-of-type
                         *  :nth-of-type
                         *            和:first-child这些非常的类似
                         *            只不过child,是在所有的子元素中排列
                         *            而type,是在当前类型的子元素中排列
                         */
                        p:first-of-type{
                                 background-color:yellow;
                        }
                            
                      
                     </style>
          </head>
          <body>
                     <span>我是span</span>
 
                     <p>我是一个段落</p>
 
                     <div>
                                 <p>我是一个段落</p>
                     </div>
          </body>
</html>

7.伪元素

<!DOCTYPE html>
<html>
          <head>
                    <meta charset="UTF-8">
                    <title></title>
                    <style type="text/css">
 
                       /*
                        *使用伪元素来表示元素中的一些特殊元素
                        */
                       /*
                        *为p中第一个字符来设置一个特殊的样式
                        */
                        p:first-letter{
                               color:red;
                               font-size:20px;
                        }
 
                        /*
                         *为p中的第一行设置一个背景颜色为黄色
                         *
                         */
                         p:first-line{
                               background-color:yellow;
                         }
 
                         /*
                          *  :before表示元素最前边的部分
                          *一般before都需要结合content这个样式一起使用
                          *通过content可以向before或after的位置添加一些内容
                          */
                         p:before{
                               content:“我会出现在整个段落的最后边”;
                               color:yellow;
                         }
                        
                          p:after{
                               content:“我会出现在整个段落的最前边”;
                               color:red;
                         }
                  
                </style>
          </head>
          <body>
                    <p>我是一个段落</p>
          </body>
</html>

8.子元素和后代元素选择器

<!DOCTYPE html>
<html>
            <head>
                        <meta charset="UTF-8">
                        <title></title>
                        <style  type="text/css">
                              
                                /*
                                  *为div中的span设置一个颜色为绿色
                                  *后代元素选择器
                                  *作用:
                                  *         选中指定元素的指定后代元素
                                  *语法:
                                  *          祖先元素   后代元素{}
                                  */
                                  div  span{
                                          color:greenyellow;
                                   }
 
                                  /*
                                   *选中id为d1的div中的p元素的span元素
                                   */
                                   div  p  span{
                                               font-size:50px;
                                    }
 
                                    /*
                                     *为div的子元素span设置一个背景颜色为黄色
                                     *子元素选择器
                                     *作用:
                                     *         选中指定父元素的指定子元素
                                     *语法:
                                     *          父元素>子元素
                                     */
                                     div>span{
                                            background-color:yellow;
                                      }
 
                           </style>
            </head>
            <body>
 
                        <!--
                                元素之间的关系:
                                                        父元素:直接包含子元素的元素
                                                        子元素:直接被父元素包含的元素
                                                        祖先元素:直接或间接包含后代元素的元素,父元素也是祖先元素
                                                        后代元素:直接或间接被祖先元素包含的元素,子元素也是后代元素
                                                        兄弟元素:拥有相同父元素的元素叫做兄弟元素
                        -->
 
                        <div>
                                 <p><span>我是p标签中的span</span></p>
                        </div>
 
                        <span>我是body中的span元素</span>
 
 
              </body>
</html>

9.选择器的优先级

<!DOCTYPE html>
<html>
          <head>
                    <meta charset="UTF-8">
                    <title></title>
                    <style type="text/css">
 
                             .p1{
                                  background-color:yellow;
                             }
 
                             p{
                                  background-color:red;
                             }
 
                            #p2{
                                  background-color:yellowgreen;
                             }
 
                            p#p2{
                                  background-color:red;
                             }
 
 
                            /*
                             *当使用不同的选择器,选中同一个元素时并且设置相同的样式时
                             *这时样式之间产生了冲突,最终到底采用哪个选择器定义的样式时,由选择器的优先级(权重)决定
                             *优先级高的优先显示
                             *
                             *
                             *优先级的规则
                             *       内联样式,优先级1000
                             *       id选择器,优先级100
                             *       类和伪类,优先级10
                             *       元素选择器,优先级1
                             *       通配*,优先级0
                             *       继承的样式,没有优先级
 
 
                             *当选择器中包含多种选择器时,需要将多种选择器的优先级相加然后再比较
                             *但是注意,选择器的优先级计算不会超过它的最大数量级
                             *如果选择器的优先级一样,则使用靠后的样式
 
                             *并集选择器的优先级是单独计算
                             *div,p,#p1,.hello{}
 
                             *可以在样式的最后,再加一个!important,则此时这样式将会获得一个最高的优先级,
                             *将会优先于所有的样式显示甚至超过内联样式,但是再开发中尽量避免使用!important
                             */
 
                 </style>
          </head>
          <body>
                   
 
                    <p  class="p1"   id="p2">我是一个段落</p>
                    
          </body>
</html>
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值