CSS | 青训营

56 阅读2分钟

css是什么

CSS(Cascading Style Sheets,层叠样式表)是为 web 内容添加样式的代码。 image.png image.png

(1)width
  • 指定content-box的宽度
  • 取值为长度、百分比、auto
  • auto由浏览器根据其他属性确定
  • 百分比相对于容器content-box的宽度
(2)height
  • 指定content-box的高度
  • 取值为长度、百分比、auto
  • auto由内容计算而来
  • 百分比相对于容器content-box的高度
  • 容器有指定高度时,百分比才能生效
(3)padding
  • 指定四个方向的内边距
  • 百分比相对于容器的宽度
(4)border
  • 指定容器边框粗细、样式和颜色
(5)margin
  • 指定四个方向的外边距
  • 取值可以是长度、百分比和auto
  • 百分比相对于容器的宽度
  • 使用margin: auto;可以使容器水平居中

选择器优先级

首先选择器的优先级按照以下顺序由低到高排序,级数越高的规则优先级越高。

  • 0级 通配符(*)、选择符和逻辑组合伪类
  • 1级 标签选择器
  • 2级 类、属性选择器和伪类
  • 3级 ID选择器
  • 4级 内联style
  • 5级 !important

布局

image.png image.png image.png image.png image.png

行级排版上下文 IFC

只包含行级盒子的容器会创建一个IFC:Inline Formatting Contex

IFC内排版规则:

  • 盒子在一行内水平摆放
  • 一行放不下时,换行显示
  • text-align决定一行内盒子的水平对齐
  • vertical-align决定一行内盒子的垂直对齐
  • 避开浮动元素

块级排版上下文 BFC

某些元素会创建一个BFC:Block Formatting Contex

  • 根元素
  • 浮动、绝对定位、inline-block
  • Flex子项和Grid子项
  • overflow值不是visible的块盒
  • display: flow-root

BFC内的排版规则:

  • 盒子从上到下摆放
  • 垂直margin合并
  • BFC内盒子的margin不会与外面的合并
  • BFC不会和浮动元素重叠

FlexBox

FlexBox是什么:

可以控制子级盒子的

  • 摆放的流向和顺序
  • 宽度和高度
  • 水平和垂直方向的对齐
  • 是否允许折行

FlexBox的属性:

  • flex-direction:控制子元素的流向
  • justify-content:控制子元素的水平对齐方式
  • align-items:控制子元素的垂直对齐方式
  • order:控制子元素的排列顺序

Flexibility

可以设置子元素的伸展,当容器有剩余空间时,子元素伸展;否则,子元素收缩。

  • flex-flow:有剩余空间的伸展能力
  • flex-shrink:剩余空间不足时的收缩能力
  • flex-basis:没有伸展或收缩时的基础长度

Grid布局

image.png

image.png

float 浮动

image.png image.png