zoukankan      html  css  js  c++  java
  • css调试与样式优先级

    如何查看一个标签的当前css样式

    css调试.png

    css调试2.png

    如上图所示

    1. 先用标签选择器选择某个标签
    2. 然后在elements区域就会自动找到该标签
    3. 然后在右侧的styles区域整个区域都是该标签的样式,从上到下是显示的优先级,被划掉的Style就是说明是被另一个样式覆盖了
    4. 把鼠标移动到style的样式上,会在每个样式上显示一个复选框,点击选中或者不选中就能本地调试样式
    5. 还能自己手动在element.style{}里面写上样式,element.style区域的css样式就是行内样式的意思,是最高级的样式
    6. 还能看到该样式的文件位置,也可能是行内样式
    7. 在本地调试完你自己想要的样式后,就可以去代码里改成一样的

    修改已有的样式有两种方式

    1. 一种是把原本的样式改了
    2. 另一种是用更高的选择器盖住原有的样式

    先讲讲把原本的样式改了的方式,在调试图里我们可以看到最后一个红色的框是一个css文件,这个文件就是这个样式的所在文件位置,去到样式源文件,搜索到code这个标签,把原本的样式删了,换新的上去就行

    但是如果原本的样式是在公共文件,你随便删,会让整个项目的样式都发生改变,就不能用上诉方法,就需要用更高的选择器盖住原有的样式

    css样式的优先级是同级显示后加载的,也就是自己的样式要写在最下面,在最后link引入,其实只要保证样式一样的选择器等级,写在最后加载就可以了,如果说不要,我就是要等级比原本的高,那就用样式等级去打败原本的样式,等级由标签内的style > id > class > tag,还有加法运算,比如id + class会大于id,这个具体自己分析,不难!

    行内样式是最强的,是<style></style>和css文件不能比的,但是,除了封装插件,别用行内样式,因为这样html标签真的特别的难看,又臭又长,多用class选择器和id选择器

    还有一个很强大的样式叫!important,他在行内样式没有一样用!important的情况下,比行内样式还高级,可以说是一个外挂一样的存在,平时写样式完全不会用这个的,只有在使用一些外部插件,需要修改外部插件的样式,并且是行内样式的时候,才会用到!

    除了id选择器,class选择器,标签选择器外,还有些特殊的选择器

    子元素选择器>,只给子元素添加对应的样式,同级或者子元素的子元素是不被影响的

    #aa>.aa{  }
    

    第一个弟弟选择器+只有写在他后面的同级的符合条件的第一个标签元素会被添加样式

    #aa+.aa{  }
    

    所有弟弟选择器~只有写在他后面的同级的符合条件的所有标签元素会被添加样式

    #aa~.aa{  }
    

    属性选择器,自定义属性也行

    [disabled]{   }
    [checked]{   }
    [data-xx]{   }
    input[type="text"]{   }
    

    伪类选择器

    #aa:after{   }
    #aa:before{   }
    

    序号选择权

    .list:nth-of-type(2n){   }
    

    优先级

    • 不同级别优先级: !important > 行内样式 > ID选择器 > 类选择器 > 元素 > 通配符 > 继承 > 浏览器默认属性
    • 相同级别优先级: 内联(行内)样式 > 内部样式表 > 外部样式表 > 导入样式(@import)
  • 相关阅读:
    并发通信、生产者消费者模型
    进程和线程的标识,守护模式
    IO多路复用
    网络编程(三):非阻塞套接字
    网络编程(二):套接字Socket
    网络编程(一):基础知识
    python标准库:base64模块
    @classmethod 和 @staticmethod
    Python特性及解释目录(不间断更新)
    Keras 整理及部分源码分析目录(不间断更新)
  • 原文地址:https://www.cnblogs.com/pengdt/p/12037503.html
Copyright © 2011-2022 走看看