CSS基础

作者: 花括弧 | 来源:发表于2019-08-24 11:01 被阅读0次

    介绍css相关知识 和 非布局属性。

    css:Cascading Style Sheet 层叠样式表,简而言之 就是css的样式 是可以叠加的。默认 是根据css选择器的权重,按权重进行叠加,权重值大的css 覆盖 权重小的css。

    基本规则
    选择器{
        属性:值;
        属性:值;
    }
    
    * 选择器作用:用来匹配html元素。
    * 多个选择器之间可以叠加
    
    * 分类和权重
    * 解析方式和性能
        浏览器 解析选择器的 顺序,是按照 从右向左的。找到右边第一个选择器后,逐步向左边 进行选择器的验证。
        (.body div .hello) -> (.hello, div, .body)
        先找到.hello, 再去验证'.hello'有没有祖先叫'div',再去验证div有没有祖先'.body'。
        这样的选择器-解析顺序,是处于性能考虑。先找到最内部的 选择器,然后逐级向外 进行验证 外部的选择器。比 从外向内查找 要进行的步骤少。
        从右向左解析css选择器,这样做的目的是:为了加快 浏览器对css选择器的解析速度。 
    * 需要关注的选择器
    
    选择器分类
    * 元素选择器 a{}
    * 类选择器 .link{}
    * ID选择器 #id{}
    * 属性选择器 [type=radio]{}
    
    * 伪类选择器 :hover{}
    * 伪元素选择器 ::before{}
    
    * 组合选择器 [type=checkbox] + label{}
    * 否定选择器 :not(.link){}
    * 通用选择器 *{}
    
    伪元素 常见的有:before after。伪元素 不会出现在 html和dom树中。但是 伪元素是真实存在于页面中的元素,可以显示内容 可以设置样式 等等。
    伪类 是一个元素的某种状态。比如 鼠标 停留在 按钮上,该按钮就处于hover的状态
    
    选择器权重
    选择器的分类,也为选择器设置权重 带来了便捷。
    
    * ID选择器 #id{} +100
    * 类 属性 伪类   +10
    * 元素 伪元素        +1
    * 其它选择器     +0
    
    那么十个 类选择器  是不是等于 一个id选择器, 11个类选择器 就大于 一个id选择器?
    实际上 选择器的权重 是不能进位的,一个id选择器的权重 是大于 11个类选择器的。如下图所示:
    
    选择器权重 - 参考表
    '+'选择器则表示某元素后相邻的兄弟元素,也就是紧挨着的,是单个的。而'~'选择器则表示某元素后所有同级的指定元素,强调所有的。
    
    * !important优先级最高
        属性值 写上 '!important', 它就是最重要的 不会被其它css样式覆盖掉. 
    * 内联的style 优先级高于 (外部样式表 和 style标签中的样式),也高于 id选择器
    * 相同权重 后写的生效
    

    相关文章

      网友评论

          本文标题:CSS基础

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