CSS基础|青训营笔记

270 阅读2分钟

CSS起源

随着 HTML 的发展,HTML 增加了很多功能,但代码也越来越臃肿,HTML 就变得越来越乱。网页也失去了语义化,维护代码很艰难,因为代码很混乱:于是装饰网页样式的 CSS(层叠样式表,Cascading Style Sheets)诞生了。

层叠Cascading、优先级

层叠三大规则

最高优先度:样式表来源

重要程度递增:

用户代理样式(浏览器默认样式)

用户样式表(很少有)

作者样式表(开发者写的,最多打交道的)*

作者样式表中的!important

用户样式表中的!important

用户代理样式表中的!important

 

*为了看它哪个生效,我们需要看选择器优先级

中优先度:选择器优先级

内联(o)> id(a)> class=attribute=pseudoclass(b)> type=pseudo-element(c)

举例: div:is(p,#card) 因为#card指id或p指字段,即有一个a。div是一个类型,所以有一个c。

所以div:is(p,#card)的标记为(1,0,1)

最低优先度:源码位置

选择器优先级相同的属性,位于代码最下面的那个起作用。谁最后声明,谁生效。

由层叠引出的编代码建议

1.     选择器少用id,因为优先级比较高,不利于后续代码覆盖和CSS复用。

2.     尽量不要用!important,优先级太高,后续代码拓展和灵活性会被压缩。

3.     自己的样式加载在引用库样式后面,以保证自己的样式被使用。

继承

1.     大部分具有继承特性的属性跟文本相关。还有少部分雷彪、表格的属性。

2.     可以使用inherit关键字显示制定一个属性值从其父元素继承。

如:        h1{

            font-size: 28px;

        }

        .card{

            font-size: 1px;

        }

        .card h1{

            font-size: inherit;

        }

最终card的h1会为1px,因为他继承了card的属性。

CSS的值和单位

属性后会跟值,后跟单位

值:文字类:initial,颜色,位置等等

       数值类:z-index:1这种数值,或带单位的数值,百分比等。

       函数生成:calc(),min(),max()等

单位:长度:绝对长度,相对长度。

         角度。

         时间。

         分辨率。