CSS | 青训营笔记

81 阅读2分钟

CSS | 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的的第2天

CSS是什么?

Cascading Style Sheets 用来定义页面颜色的样式

在页面中使用CSS

一共有三种方式:外链、嵌入、内联

CSS是如何工作的

浏览器渲染页面原理
HTML被HTML解析器解析成DOM树,CSS被CSS解析成CSS规则树,浏览器会将CSS规则树附着在DOM树上,并结合两者生成渲染树Render Tree,生成布局,浏览器通过解析计算出每一个渲染树节点的位置和大小,在屏幕上画出渲染树的所有节点,将布局绘制在屏幕上,显示出整个页面。 image.png

选择器

Selector
目的:找出页面中的元素,以便给他们设计样式

  • 使用多种方式选择元素
    • 按照标签名、类名或id
    • 按照属性
    • 按照DOM树中的位置

伪类

不基于标签和属性定位元素

  • 分类
    • 状态伪类
    • 结构性伪类

继承

某些属性会自动继承其父元素的计算值,除非显式指定一个值

布局相关的技术

常规流、浮动、绝对定位

行级元素与块级元素

  • 块级元素:会独占一行,多个元素会另起一行,可以设置width、height、margin和padding属性;
  • 行级元素:不会独占一行,设置Width、Height属性无效。可以设置水平方向的margin和padding属性,不能设置垂直方向的padding和margin。

常规流

  • 根元素、浮动和绝对定位的元素会脱离常规流
  • 其他元素都在常规流之内
  • 常规流中的盒子,在某种排版上下文中参与布局

Flex布局 FlexibleBox

弹性布局,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。行内元素也可以使用Flex布局。注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis),项目默认沿水平主轴排列。

总结

CSS主要用来构建页面的样式,在学习过程中,我们要充分利用MDN和W3C CSS规范。

本文若有不足之处,欢迎纠正。