HTML、CSS笔记

盒模型

在CSS中,使用标准盒模型描述这些矩形盒子中的每个。这个模型描述了元素所占空间的内容。每一个盒子有四个边:外边距边, 边框边, 内填充边 与 内容边。css

  • 在标准模式下,一个块的总宽度= width + margin(左右) + padding(左右) + border(左右)
  • 在怪异模式下,一个块的总宽度= width + margin(左右)(即width已经包含了padding和border值)

外边距合并

块的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,这种行为称为外边距塌陷(margin collapsing),有的地方翻译为外边距合并。html

  • 相邻的兄弟元素:相邻的两个兄弟元素之间的外边距会塌陷。
  • 块级父元素与其第一个/最后一个子元素:若是块级父元素中,上边框宽度及上内边距距离为0时,此时这个块级父元素和其第一个子元素就会发生上外边距合并现象。
  • 空块元素:若是存在一个空的块级元素,其 border、padding、inline content、height、min-height 都不存在。那么此时它的上下边距中间将没有任何阻隔,此时它的上下外边距将会合并。

BFC

它决定了块级元素如何对它的内容进行布局,以及与其余元素的关系和相互关系
建立BFC的方式以下:cookie

  • 根元素或其它包含它的元素(html标签)
  • 浮动元素 (元素的 float 不是 none)
  • 绝对定位元素 (元素的 position 为 absolute 或 fixed)
  • 内联块 (元素具备 display: inline-block)
  • 表格单元格 (元素具备 display: table-cell,HTML表格单元格默认属性)
  • overflow 值不为 visible 的块元素
  • 弹性项 (display: flex 或 inline-flex元素的子元素)
  • 网格项 (display: grid 或 inline-grid 元素的子元素)

BFC做用

水平居中

子元素为行内元素仍是块状元素,宽度必定仍是宽度未定,采起的布局方案不一样。session

子元素为布局

行内元素:对父元素设置text-align:center;
定宽块状元素: 设置左右margin值为auto;
不定宽块状元素: 设置子元素为display:inline,而后在父元素上设置text-align:center;
通用方案: flex布局,对父元素设置display:flex;justify-content:center;flex

垂直居中

垂直居中对于子元素是单行内联文本、多行内联文本以及块状元素采用的方案是不一样的。
父元素必定,子元素为单行内联文本:设置父元素的height等于行高line-height
父元素必定,子元素为多行内联文本:设置父元素的display:table-cell,再设置vertical-align:middle;
块状元素:设置子元素position:absolute 并设置top、bottom为0,父元素要设置定位为static之外的值,margin:auto;
通用方案: flex布局,给父元素设置{display:flex; align-items:center;}。动画

圣杯布局和双飞翼布局

圣杯双飞翼.net

FLEX布局

flex翻译

grid布局

连接描述
CSS Grid 布局彻底指南(图解 Grid 详细教程)
如何使用 CSS Grid 快速而又灵活的布局orm

各类像素单位

设备像素,设备独立像素,CSS像素

session,cookie,localStorage,sessionStorage

浅谈session,cookie,sessionStorage,localStorage的区别及应用场景

transform、transition和animation

CSS3中动画属性transform、transition和animation

相关文章
相关标签/搜索