CSS

CSS 盒模型

从内到外依次是 content(内容)、padding(内边距)、border(边框)、margin(外边距)

根据计算宽度和高度的方式不同,可分为

  • 标准盒模型
width = contentWidth;
height = contentHeight;
  • 怪异盒模型
widht = contentWidth + paddingWidth + borderWidth;
height = contentHeight + paddinHeight + borderHeight;

可通过 CSS 样式设置,实现两种不同的盒模型

  • 标准盒模型
box-sizing: content-box;
  • 怪异盒模型
box-sizingl: border-box;

BFC 规范

BFC (Block Formatting Context) 块级格式化上下文 一块独立的区域,有自己的规则, bfc 中的元素与外界元素互不影响。BFC 是一块用来独立的布局环境,保护其中的内部元素不受外界影响,也不影响外部。

以下情况可以触发 BFC

  • body 标签
  • float: left|right
  • overflow: !visible
  • display: inint-block|table-cell|table-caption
  • position: absolute|fixed

BCF 应用

  • 清除浮动
  • 自适应布局
  • 垂直边距重叠

渐进增强优雅降级

  • 渐进增强 针对低版本浏览器进行构建页面,保证最基本的功能,然后在针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

  • 优化降级 一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

CSS 特性:继承性,层叠,优先级

  • 继承性 子标签或继承父标签的某些样式,如文本颜色和字号
  • 层叠 样式冲突,遵循的是就近原则
  • 优先级 定义 CSS 样式时,通常有多个规则应用在同一元素上,此时谁的权重高显示谁的样式

TIP

!important > 行内样式 > id > 类、伪类、属性 > 标签选择器 > 全局

对应权重: 无穷大 > 1000 > 100 > 10 > 1 > 0

position 的值

  • static: 默认值,元素正常在正常的流中
  • relative(相对定位): 生成相对定位的元素,相对于其正常(原本本身)位置进行定位
  • absolute(绝对定位): 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位
  • fixed(固定定位): 生成固定定位的元素, 相对于浏览器窗口进行定位
  • sticky(粘性定位): 当前元素设置了粘性定位,滚动到顶部就会吸附顶部,往下滑回到原来的位置

z-index 规则

  • 值可以是正整数、负整数或者 0 ,值越大,z 轴位置越靠上
  • 如果属性值相同,则按照书写顺序,后来居上
  • 数字后面不能加单位
  • z-index 只能应用于相对定位、绝对定位和固定定位的元素,其他标准流、浮动和静态定位无效
更新时间:
作者: dongtian