html,css 复习
BFC
BFC 全称为 块格式化上下文 (Block Formatting Context) .
使BFC 内部的浮动元素不会到处乱跑.
- 根元素()
- 浮动元素(元素的 float 不是 none)
- 绝对定位元素(元素的 position 为 absolute 或 fixed)
- 行内块元素(元素的 display 为 inline-block)
- 表格单元格(元素的 display为 table-cell,HTML表格单元格默认为该值)
- 表格标题(元素的 display 为 table-caption,HTML表格标题默认为该值)
- 匿名表格单元格元素(元素的 display为 table、table-row、 table-row-group、table-header-group、table-footer-group(分别是HTML table、row、tbody、thead、tfoot的默认属性)或 inline-table)
- overflow 值不为 visible 的块元素
- display 值为 flow-root 的元素
- contain 值为 layout、content或 paint 的元素
- 弹性元素(display为 flex 或 inline-flex元素的直接子元素)
- 网格元素(display为 grid 或 inline-grid 元素的直接子元素)
- 多列容器(元素的 column-count 或 column-width 不为 auto,包括column-count 为 1)
- column-span 为 all 的元素始终会创建一个新的BFC,即使该元素没有包裹在一个多列容器中(标准变更,Chrome bug)。
圣杯布局和双飞翼布局
- 使用float布局
- 两侧使用margin负值,以便和中间内容横向重叠
- 防止中间内容被两侧覆盖,一个用padding一个用margin
圣杯布局
1 | <div id="header">this is header</div> |
双飞翼布局
1 | <style type="text/css"> |
clearfix
.clearfix:after {
content: ‘’;
display: table;
clear: both;
}
.clearfix {
*zoom: 1;
}
flex布局
- flex-direction
- justift-content
- align-items
- flex-wrap
nowrap
wrap
wrap-reverse
- align-self
画个三点的色子
1 | .box { |
定位
absolute 和 relative 定位
- relative 依据自身定位
- absolute 依据最近一层的定位元素定位
- 如果有relative和fixed
- body
水平居中
- inline元素: text-align: center
- block元素: margin: auto
- absolute元素: left: 50% + margin-left: 负值
- absolute: top, left, bottom, right = 0 + margin: auto
垂直居中
- inline 元素: line-height的值等于height值
- absolute 元素: top: 50% + margin-top负值
- absolute 元素: transform(-50%, -50%)
- absolute 元素: top, left, bottom, right = 0 + margin: auto
line-height如何继承
1 | <style> |
- 写具体数值,如30px,则继承该值
- 写比例,如2或1.5,则继承该比例
- 写百分比,如200%,则继承计算出来的值
响应式
rem
- px 绝对长度单位
- em 相对长度单位,相对于父元素,不常用
- rem 相对长度单位,相对于根元素,常用于响应式布局
响应式布局常用方案
- media-query,根据不同的屏幕宽度设置根元素font-size
- rem,基于根元素的相对单位
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Prajna's blog!
评论