• 技术文章 >web前端 >js教程

    CSS选择器使用方法总结

    php中世界最好的语言php中世界最好的语言2018-05-25 11:36:53原创1039
    这次给大家带来CSS选择器使用方法总结,CSS选择器使用的注意事项有哪些,下面就是实战案例,一起来看一下。

    CSS选择器

    1.id选择器 #id{ } ,“#id”选中元素
    2.类选择器 .class{ } ,“.类名称”选中元素
    3.标签选择器 p{ } ,“标签名”选中元素
    4.通配符选择器 { } ,""选中所有元素
    5.组合选择器:
    分组选择器 E,F “,”逗号隔开,同时选中E,F元素
    后代选择器 E F 空格隔开,选中E元素下的所有F元素(无论F元素嵌套多少层一样会被选中)
    直接子选择器 E > F “>”隔开,选中E元素下的直接子元素F,即E元素下的第一层级子元素F
    相邻兄弟选择器 E + F, “+”隔开选中E元素后的直接相邻元素F
    通用相邻选择器 E ~ F, “~”隔开选中E元素后面的所有同级元素F
    6.伪类选择器L-V-H-A,:link,:visited,:hover,:active
    7.伪元素选择器
    E::first-line 选中E元素内容的第一行
    E::first-letter 选中E元素内容的第一个字母
    E::before 在E元素之前插入conten内容
    E::after 在E元素之后插入content内容
    before和after是可以插入额外内容的位置,需要配合content属性使用
    8.属性选择器
    input[type="text"] {
    width:150px;
    }


    选择器的优先级

    css选择器优先级核心:每个选择器本身有优先级,作用范围越具体优先级越高。
    CSS优先级从高到低分别是:
    1.在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。
    2.作为style属性写在元素标签上的内联样式
    3.id选择器
    4.类选择器
    5.伪类选择器
    6.属性选择器
    7.标签选择器
    8.通配符选择器
    9.浏览器自定义
    当CSS样式的规则由多个选择器组成时,id选择器的权值为1000,class选择器为100,标签选择器为10,按权值求和的记过高低决定哪个优先。当两个css规则的权值相同时,谁更具体用谁,也就是权值高的选择器作用的越具体优先级越高。当两个选择器规则和权值都是一样,后面样式会覆盖前面的!
    p {color: #333;}
    p {color: #666;}
    这样p文案的颜色明显会是#666


    class 和 id 的使用场景

    id在页面上是唯一标识,class在页面上标识某一类型的样式,具有普遍性,可以重复使用。某元素的class名可以写成class="intro other",即可以有多个class名,代表叠加两个类名称对应的样式。id名不能这样写。ID名常用在页面布局(标记大框架),class一般在局部页面布局中使用,用于样式定义,因为命名时可将class名称写成一样,所以只需要对该class写一次样式,就能让有相同样式的元素复用。使用CSS选择器时划定适当的命名空间,提高代码可读性,便于维护


    选择器使用示例

    html
    #header{} /*选中id为header的元素*/
    .header{}    /*选中class=header的元素*/ 
    .header .logo{}  /*选中class=header下的所有class=logo的元素*/ 
    .header.mobile{}  /*选中class="header mobile"的元素*/ 
    .header p, .header h3{}  /*选中class=header元素下的所有p元素,同时选中class=header元素下的所有h3元素*/ 
    #header .nav>li{}  /*选中id=header元素下的所有class=nav元素的直接子元素li*/ 
    #header a:hover{}  /*选中id=header元素下的所有a元素,并使用hover伪类*/

    常见伪类选择器

    【1】结构伪类选择器
    E:first-child 选中E所在父元素下的第一个子元素,且该子元素是E元素
    E:last-child 选中E所在父元素下的最后一个子元素,且该子元素是E元素
    E:root 选中E所在根节点的元素,对于HTML即选中HTML元素
    E:nth-child(n) 选中E所在父元素下的第n个子元素,且该子元素是E元素
    E:nth-last-child(n) 选中E所在父元素下的倒数第n个子元素,且该子元素是E元素
    E:nth-of-type(n) 选中E所在父元素下的同类型元素中的第n个E元素
    E:nth-last-of-type(n) 选中E所在父元素下的同类型元素中的倒数第n个E个元素
    E:first-of-type 选中E所在父元素下的同类型元素中的第一个E元素
    E:last-of-type 选中E所在父元素下的同类型元素中的最后一个E元素
    E:only-child匹配父元素内仅有的一个子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1)
    E:only-of-type匹配父元素下使用同种标签的唯一一个子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1)
    E:empty匹配没有子元素的元素,且该元素无任何文本节点
    E:not(F) 匹配不符合当前选择器的任何元素
    【2】动态伪类选择器 顺序L-V-H-A
    link-visited-hover-active

    a:link{
     color:red;
     }
     
     a:visited{
     color:blue;
     }
     
     a:hover{
     color:gree;
     font-size:20px;
     }
     
     a:active{
     color:gold;
     }
     a:focus{
     color:gold; //a元素获得焦点后的样式
     }

    :first-child和:first-of-type的作用和区别

    E:first-child 指定元素E,找其父元素下的第一个E元素
    E:first-of-type 指定E类型的元素,找其父元素下的E类型元素的第一个


    代码示例:

    html
    <style>
    .item1:first-child{ color: red;}
    .item1:first-of-type{ background: blue;}
    </style> 
    <p class="ct"> 
    <p class="item1">aa</p>
    <h3 class="item1">bb</h3>
    <h3 class="item1">ccc</h3> 
    </p>

    Paste_Image.png

    .item1:first-child{color:red;}class=item1元素的父元素p下的第一个子元素item1字体红色<h3>bb<h3>,<h3>ccc<h3>虽然class=item1但他们不是其父元素下的第一个子元素。

    .item1:first-of-type{background:blue;}class=item1元素的父元素下的同类型元素中的第一个class=item1的元素。<p class=item1>aa</p>的父元素p下的同类型元素(p,h3)分别选中第一个即aa,bb加蓝色背景。


    text-align: center的作用

    设置元素内的文本水平居中对齐。text-align应用在块级元素上(p或p),对该块级元素(p/p)其内部的行内元素(文字、图片、input框)可设置对齐方式。
    text-align有5个值:left/right/center/justify/inherit,左对齐/右对齐/居中对齐/两端对齐/继承父元素align值。justify两端对齐的时候,每行中的字间距可能不一致。


    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    怎样处理MySQL数据库拒绝访问

    前端测试金字塔使用步骤详解

    以上就是CSS选择器使用方法总结的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:使用方法 css 选择器
    上一篇:前端中页面渲染优化方法总结 下一篇:在HTML中使用JS方法总结
    大前端线上培训班

    相关文章推荐

    • 实例解说JavaScript创建对象的四种方式• JS构造函数-实例对象-原型对象之间的关系• javascript中如何获取属性• 4个编写短小精炼JS代码的小技巧(分享)• nodejs怎么设置成员

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网