CSS布局
- 一般要遵循横向布局和纵向布局
- 可以多加div尽量把页面布局分为横向布局、和纵向布局、不要写复杂布局
复习CSS基础
px、rem、em
- px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。在缩放页面时无法调整那些使用它作为单位的字体、按钮等的大小;
- em是相对长度单位。em 的值并不是固定的,会继承父级元素的字体大小,代表倍数;
- rem是CSS3新增的一个相对单位(root em,根em),rem 的值并不是固定的,始终是基于根元素 的,也代表倍数。
垂直居中的各种写法
- 设置内容的上下padding相等;场景:父容器的高度不是固定的而是由内容决定的;只是看起来居中而已
- 绝对定位:父容器宽高固定

- 绝对定位当宽高不固定时用transform

- vertical-align实现居中(div中的img)

- 设置父容器display:table-cell;vertical-align:middle(只对两种格式生效一种是行内元素另一种是表格元素)
BFC是什么
- 块级格式化上下文(block formatting context)是盒模型的渲染区域,并且有自己的一套渲染规则,它定义了容器中的元素如何的定位以及和其它元素的相互作用关系;且与不影响容器外部的布局
如何产生BFC
- 页面的根元素
- float不为none
- position为absolute或fixed
- display为inline-block,table-cell等
- overflow不为visible
BFC的作用
外边距发生场景
- 相邻元素,当两个元素相邻时,上元素margin-bottom与下元素的margin-top会进行合并
- 父子元素,父元素的margin-top和第一个子元素的margin-top;父元素的margin-bottom和最后一个子元素的margin-bottom
- 空元素,自身的margin-top和自身的margin-bottom会发生合并
外边距如何合并
阻止外边距合并
css hack
常见的兼容处理工具
宽度与高度
文字超过div(或者input框等)宽度用省略号显示css
input{
width: 50px; /*必须设置宽度*/
overflow: hidden; /*溢出隐藏*/
text-overflow: ellipsis; /*以省略号...显示*/
white-space: nowrap; /*强制不换行*/
}