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

    css基础

    1.1  CSS整体的重点

    ☞ 选择器    

    ☞ 盒子模型

    ☞ 浮动

    ☞ 定位

    ☞ 动画 ,伸缩布局(c3部分)

    1.12 CSS特性

     1. ☞ 层叠性(覆盖)

             

    ◆在同一个标签中,如果优先级相同,如果定义的样式发生冲突,那么最后一次定义的样式会将前面定义的样式(冲突的那部分)覆盖掉。(根据样式表的书写顺序额)

    声明冲突:属性相同值不同,依靠层叠性解决

    1. 标签优先级 优胜略汰 跟来源和重要性

    2. 特殊性 优胜略汰

    color = "red"; 普通声明

    color = "red" !important;重要声明

    1. 源次性 优胜略汰

     

    2. ☞继承性:

         ◆首先只有在嵌套关系的标签中才会出现继承性。

         ◆如果子元素默认没有样式,同时该元素又受父元素的样式影响

         ◆color , font属性 ,text-align(此标签只能用于块标签当中)...都可以被子元素继承,文本类的样式具有继承性

         ◆注意:

             ✔width 和 height 不能被继承,块级元素宽度受父级影响,是因为块级元素特性

             ✔a标签在默认情况下,不能受父元素的文字颜色影响

             ✔标题标签在默认情况下,不能直接等于父元素设置的文字大小

     

    3. ☞优先级

    标签选择器<类选择器<ID选择器<行内样式<!important

    0 0 0 0 0

    选择器数量和 ,类选择器数量和,ID选择器和 相比较

     

    同等优先级,使用靠后的样式

    并集优先级单个计算

    ✔继承的权重为0

           

    ✔权重可以叠加

     

    总结:

         ◆一般我们通过css设置样式的时候,不要把选择器的优先级设置的太高或者太低。

    注意:在浏览器中交集的优先级要大于单个类或者id,但是,一个元素标签和一个类或者一个id比不上交集的优先级,大概是浏览器会在分别写的类(或id)和元素间选择一个,然后再和其他比较

    属性名 = “属性值”或者 属性名 = ‘属性值’

    单引号或者双引号都是一样的

    1.2  CSS概念

    ☞ 作用:

                 ◆美化网页(通过css控制标签的样式)

                    ◆网页布局(通过css控制标签的位置)

    ☞ 概念:层叠样式表 (Cascading Style Sheets)或者级联样式表层叠:css的特性。

              

    注意:

            ◆css是以html为基础

    ☞ 书写方式:

                    内部样式表

                           ✔先准备一个html页面

                             ✔在html页面中,head标签中添加一个style标签

                             ✔在style标签中写css代码

                    

                    ◆外联式写法(外部样式表)

                            ✔首先新建一个单独的css文件(在该文件中不需要写style标签,直接写css代码就可以)

                            ✔通过link标签将该css文件引入到当前html页面中

                  注意:

                      一个页面中可以同时引用多个css文件

                   ◆行内式写法:将css代码写入到html标签内部(内联样式)

      ☞将css代码在标签内部设置

    ☞总结:

                 ✔行内样式只能影响当前标签的样式

                 ✔行内样式会导致网页结构乱

                 ✔样式与结构没有分离

    1.3  CSS语法

    ☞ 选择器 {属性: 值; ......}

    ☞选择器分类       

    ◆基础选择器

                           ✔标签选择器(掌握)

                           ✔类选择器(掌握)

                           ✔ID选择器 在css当中尽量不要使用id选择器

                           ✔通配符选择器

    ◆复合选择器

    ✔标签指定式选择器(交集选择器)

    ✔并集选择器

    ✔子代选择器

    ✔后代选择器

    兄弟选择器

    ✔属性选择器

     ✔伪类选择器

    1.4 标签选择器

    ☞ html标签名 {属性: 值;}

    ☞ 作用:

           ◆ 通过html标签名选中需要设置样式的标签

        注意:

    ◆代码中遇到特殊符号,都必须是英文输入法下的符号。

    1.5 类选择器(使用最多)

    类命名规范

      ☞ 自定义类名不能使用纯数字或以数字开头

             

         

    ☞ 不推荐使用汉字定义类名

         

    ☞ 不能使用特殊字符或者以特殊字符开头($,#,@,%...)

    ☞ 建议不推荐使用标签名作为类名 

    ☞一般我们用具有一定语义的单词或者汉语拼音去定义一个类名 语义化类名 

     

    自定义类名 {属性: 值; ....}    定义

         

    类样式的调用:

             

    标签通过class属性去调用定义好的类样式

         

    例如:

              

    .test {color: red;}

    <p  class=”test”>文字</p>

     

    1.6  ID选择器(了解)  

    #自定义id名称 {属性: 值; ....}

    调用:

             

    标签通过id属性调用id样式

             #test {color: red;}

           

    <p   id=”test”></p>

     

    ID选择器与类选择器的区别:

                 ◆语法定义有区别  ( .   #)

                 ◆在id选择器中,一个标签只能调用一个id样式。

                 

              

    ◆一个类样式可以被多个标签调用,但是一个id样式最好只能被一个标签调用(否则,不符合编程规则)

    1.7  通配符选择器(了解)

      语法:

    * {属性: 值;...}

    特点:

    将页面中所有的标签都选中

    1.8☞标签指定式选择器(交集选择器)

             标签名.类名 {属性: 值;}

      标签名id名 {属性: 值;}

         

    总结:

                 标签指定式选择器符合 :既。。。。又。。。的关系

    注意:在浏览器中交集的优先级要大于单个类或者id,但是,一个元素标签和一个类或者一个id比不上交集的优先级,大概是浏览器会在分别写的类(或id)和元素间选择一个,然后再和其他比较

     

    1.9☞后代选择器

    选择器  选择器 {属性: 值;}

         

    总结:

                 ◆后代选择器标签之间的结构关系必须是嵌套结构

                 ◆后代选择器中只能选中所有的后代元素(直接子元素和间接子元素)

              

    ◆后代选择器中,选择器与选择器之间必须使用空格隔开

    注意上图的li标签样式

    1.10☞ 子代选择器

             选择器>选择器 {属性: 值;}

           

         

    总结:

             

    ◆子代选择器只能选中直接子元素

    ◆子代选择器不能选中父元素

    ◆子代选择器标签的结构必须是嵌套结构

    1.11☞兄弟选择器

    兄标签 + 弟标签 { 修饰弟标签 } 单个紧挨着的弟标签

    兄标签 ~ 弟标签 {修饰后边所有兄弟标签)后边所有的弟标签

     

     

    1.12☞ 并集选择器(多个选择器)

             选择器,选择器 {属性: 值;}

             注意:

                    ◆首先并集选择器可以选中所有符合条件的标签

                  ◆并集选择器与标签的结构无关

               

               

    ◆并集选择器一般在css样式初始化的时候会使用。

    1.13 属性选择器

     ☞属性选择器是通过标签的属性选中标签

          ☞语法:

                []{属性:值;....}

               

     

             

     

             

     

             

    1.14伪类

    ☞给链接添加样式:

    1. 正常链接 a:link (存在兼容性问题,直接用a即可)

    2. 鼠标滑过的链接 a:hover (hover 可以用于任何标签前面)

    3. 正在点击的链接 a:active

    4. 访问过的链接 a:visited(只能定义字体颜色)该选择器会让浏览器有缓存问题;通过历史记录判断该标签是否被访问过 (用途很少)

    hover作用于自身的时候只能给亲父级或者亲祖父级添加,才能影响自己

     

     

     

    1. 获取焦点 :focus

    2. 获取第一个子标签 :first-child

     

    选中的元素 ::selection

    1.131☞ 结构伪类选择器

         

    1. :first-child {属性: 值;}  选中父元素中的第一个子元素

         

    2. :last-child {属性: 值;} 选中父元素中最后一个子元素

         

    3. :nth-child(n) {属性: 值;}  选中父元素中第n个子元素

             

    ◆n 可以取一个正整数 (取值可以取到数字0)

             

    ◆n可以设置一个关键字  odd(奇数个数) | even(偶数个数)

             

    ◆n可以是一个表达式    an+b  

    a和b可以设置正数和负数

    注意:不能使用 n-b 这样的结果是计算机不会报错,同时会忽视nth:child()

     

    p:nth-child(-n + 2):指的是p标签的父级的前(小于等于2)个子元素 中 的p标签

    4. :nth-last-child(n){属性: 值;}

    选中倒数第n个子元素

     

    5. :first-of-type

    6. :last-of-type

    7. :nth-of-type

    1.132☞目标伪类选择器

             

    注意:伪类选择器是通过:

    :target {属性:值;....}

               

                ◆目标伪类选择器配合锚链接使用

                ◆当该标签被锚链接指向的时候,那么才会执行里面的css代码。

    1.133☞否定伪类 :not(元素标签)

     

    1.145伪元素选择器

    1. :first-line {}  选中父容器中的第一行 

    2. :first-letter{} 选中首字母(文字)

    3. :before

    4. :after

    ::selection{} 设置鼠标选中标签时的样式

    注意:

            ::selection {}只能设置与颜色相关的属性。

     

    现在伪元素不支持ie6

    当使用nth-child的时候并不会把伪元素计算在内

     

    总结:

    after和before

    ◆伪元素必须设置content属性

    ◆伪元素属于行内元素

    ◆伪元素中不能再创建伪元素

    ◆一般是将伪元素要依附于某一个标签

    : 和::是一样的区别不大w3c文档中是:符号

     

            ◆一个标签可以同时调用多个类样式

                 

    ✔一个标签只能调用一个id样式

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    SpringBoot中并发定时任务的实现、动态定时任务的实现(看这一篇就够了)
    压力测试
    AlertManger的详细配置
    http://www.linuxe.cn/post-518.html
    https://helpcdn.aliyun.com/knowledge_detail/194196.html
    AIOPS智能监控团队
    普罗新修斯监控mysql数据库1
    干货 | Elasticsearch集群黄色原因的终极探秘
    elasticsearch集群在生产上面必看的优化文章
    干货丨DolphinDB与Elasticserach在金融数据集上的性能对比测试
  • 原文地址:https://www.cnblogs.com/yangwenlong/p/12456513.html
Copyright © 2011-2022 走看看