理解CSS 青训营笔记

94 阅读4分钟

一、了解CSS

1.1 CSS概念

CSS指Cascading Style Sheets,即层叠样式表。CSS可以用来定义页面元素的样式,包括设置字体、颜色、位置、大小、添加动画效果等。

1.2 CSS工作流程

当浏览器加载html文档并完成解析之后,浏览器一方面利用解析结果构建DOM树,另一方面加载CSS并解析,将解析所得的样式添加到DOM树的节点,由此构成的DOM树用于进一步渲染展示页面。

1.3 选择器

选择器用于找出页面中的元素以为其设置样式。选择元素的方式有多种,有按照标签名、类名或id进行选择,按照属性进行选择,按照DOM树中位置进行选择。除了基本的通配选择器、标签选择器、id选择器、类选择器、属性选择器外,还有伪类选择器、组合选择器、选择器组。

1.4 颜色

颜色编码的方式有很多,最常用的两种是RGB和HSL。许多颜色有单独的名称,以便记忆和沟通。除此之外,通过设置alpha值可以控制透明度。

1.5 字体

课程介绍了若干种类的通用字体族与它们的适用情况。介绍了web font的使用方法和建议的罗列顺序(英文字体在前,中文字体在后)。除此之外,用例介绍了字体属性的控制效果。

1.6 调试

CSS的调试,可以利用浏览器的「检查」功能,在Windows下快捷键为Ctrl+Shift+I,在Mac下为Cmd+Opt+I。

二、深入CSS

2.1 选择器的特异度

CSS中,同一个标签可能可以匹配到多条不同的样式规则,因此,标签最终的样式由选择器的特异度又称优先级决定。最基本的,以下优先级依此递增:类型选择器,类选择器,ID选择器;除此之外,一些保留字如!important也会影响到最终生效的样式对应的选择器。

2.2 继承

每一个直接作用于元素的CSS规则总是会接管该元素从祖先元素继承而来的规则,即继承父元素的计算值,除非显示地指定一个值。通过inherit保留字可以显示地继承样式;每个属性都具有初始值,使用initial关键字可以将属性重置为初始值。

2.3 CSS求值过程

在解析出DOM树和样式规则后,首先通过选择器匹配、属性有效、媒介符合等方式对规则进行筛选,取得声明值;根据选择器优先级比较,得出优先级最高的属性值,即层叠过程;当层叠值为空时,使用继承值或初始值,由此产生了必不为空的指定值;接着,在解析步骤中将部分相对值或关键字转化为绝对值,并在规格化步骤中进一步转化直到所有值成为绝对值;最后,绝对值中的浮点数被转化为整型以供渲染。

2.4 布局

布局是指确定内容的大小和位置的算法,它依据元素、容器、兄弟节点和内容等信息进行计算。前端常用的布局方式包括floats、position、flexbox、gird、流式布局等,每一种方式都有诸多细节,要正确应用和调试需要仔细了解其特性和区别。

2.5 进一步学习

青训营的课程时间有限,要更深入地了解并熟练掌握CSS,需要后期再下苦工。要进一步学习CSS,可以充分利用 MDN 和 W3C CSS 规范,要保持探索欲,充分利用浏览器的开发者工具来在实践中加深了解,更要紧跟社区和业界发展,持续学习,更新自己的知识和技能,了解并运用CSS层出不穷的新特性。

创建型设计模式

封装对象创建过程,将对象的创建和使用解耦

单例模式

应用场景

处理资源访问冲突、用来创建全局唯一类。

解决方案

  • 懒汉式:用到的时候才创建(场景:不一定需要用到、创建代价大、延迟加载、需要快速启动系统)。
  • 饿汉式:系统启动时创建(场景:必定用到、临时创建影响响应速度)。
  • 多例:同一类的固定个数相同实例。

工厂模式

应用场景

用来创建继承同一父类、实现同一接口的子类对象,由给定的类型参数创建具体的对象。