理解css|青训营笔记

92 阅读5分钟

理解css

00课程概述

亚马逊网站对比:呈现更多交互和信息量

Css1第一个有层叠概念的语言(casading)

 css2表现和内容分离 css2.1 对2的修正扩展

css3规范模块化发展 样式丰富 提高网站可维护性与性能

部分css知识模块,布局、层叠上下文 css生态

01 基础知识

Css- cascading style sheets层叠样式表

(一)层叠三大规则:1。样式来源表9优先程度递减)

              2。选择器优先级

              3.源码位置

1.样式表来源重要排序:用户代理表(浏览器默认样式)—用户样式表(很少有)—作者样式表(developer写的 99%都是这个)—作者样式表中的!Important—用户样式表中的!Important—用户代理样式表中的!Important

2.选择器:基础 组合 属性 伪类 伪元素

选择器优先级:内联(不是选择器)>id>class=attribute=pseudo-class>type=pseudo-element

 

(0,1,2)<(1,1,0)

3.源码顺序 the last declaration in document order wins.
对于 @import的样式,根据它的顺序

对于link和style标签的样式,根据在document中的顺序决定

4.由层叠概念引出的css代码的good practice

选择尽量少用id(不利于css复用和覆盖

尽量不要用!Important(级别太高 扩展和灵活性会被压缩

自己的样式加载在引用库样式的后面

5.继承

样式生效:默认继承文本属性

可以使用inherit 关键字显式指定一个属性值从其父继承

6.css的值和单位 

 

7.盒模型 视觉格式化模型

内外边距 边界 宽高

 

由盒模型的特性能实现一些展现形式?

盒模型-负外边距

Padding,border,margin中,只有margin可以设置为负值 

外界可以感知的,局部调整因为会使代码难以维护

 

02 概述

把文本脱离文本流-常规流布局 更多布局

1.常规流布局 只会参与一种盒子的上下文

 

BFC:root元素内部会形成新的格式化上下文 沙盒特性

外边距折叠:会产生合并计算导致外边距塌陷

消除:上下边距之间加上border padding

在父子元素重叠时,设置父元素为BFC 使得父子在不同bfc

2.内联级格式化上下文

Line box高度计算(line height):最高元素的顶和最低元素的底的差值 天然垂直居中

 

 

实际case:单行元素居中 文字icon垂直对齐

3.弹性盒子布局 一维布局但两个控制方向 

展示灵活文件长度 展示筛子上六个面

4.网格布局:grid 行和列的二维布局

作用父元素:网格怎么划分

作用子元素:占用位置

Grid flex对比以及实用策略:大面积或整体布局推荐grid,小面积及组件 或grid item可以使用flex

5.定位position

为了可以在文档流的基础上,让元素移动,做出更多灵活的改变。当position属性取值非static的时候,可以使用top,right,bottom,left

 

03 层叠上下文(the stacking context)

对于html元素的三位构想 将元素沿着垂直屏幕的虚构z轴排开

 

一个层叠上下文对应一个渲染层的render layer

形成新的上下文的条件(任一

 

层叠上下文—stacking order

层叠顺序不仅指不同的层叠上下文的顺序,同一个层叠上下文内,元素间也有顺序

 

 css会优先解释内容index元素优先级比较高

层叠顺序不仅指不同层叠的上下文顺序,同一个层叠上下文元素间也有顺序

 

Z-index=0新的上下文 子元素无法超过父(和auto不同

编写格式:

 

04 变形 过渡 对话

Transform 变形 筛子立体

Transition 过渡 timing-function:线性 贝塞尔曲线 阶跃

Animation 动画 关键帧可以定义多个 在元素上进行添加

布局:计算布局 宽高位置改变

绘制:文本、着色、背景边框改变触发 某些渲染层形成合成层

合成:收集所有绘制完成的图层,按照顺序合成显示

提高动画性能的:尽量不触发reflow属性 遇到性能问题可以出发硬件加速 尽量使用transform和 opacity去写动画

05 响应式设计

1.原则:优先选用流式布局,比例

2.媒体查询:允许某些样式在满足特定条件时才生效

 

遵循cascading层叠覆盖的原则 min max选择一个

断点尽量根据内容选择

尽量减少断点 因为会增加维护成本

3.设备像素和参考像素移动端矢口配置:

设备像素:物理,只跟设备有关Dpi 和ppi 每英寸多少像素数

以对角线来称呼设备大小(6.1英寸)

css像素:参考像素 人在阅读体验过程中,使css在不同设备眼睛看起来差不多

dpr设备像素比 =设备像素/css像素

4.移动端的viewport

 

iPhone12dpr=3 但默认出厂980px 产生缩放条

 

5.相对长度

em

 

rem根元素字体大小

 

不同屏幕的等比放缩

Vw 天生是视口宽和 vh 不需要js动态配置

 

06 css生态相关

语言增强:预处理器 后处理器  较难维护

Scss less 通过预处理器解释成css 编程能力更强

scSS,less,stylus对比