方法 - 清除浮动

浮动问题:
子元素使用float浮动后,脱离文档流,导致父元素高度变为0
解决方案:

  1. 父元素使用 overflow: hidden/auto; 属性
  2. 父元素也添加 float 浮动
  3. 使用伪元素 after 搭配 clear: both;。或使用空元素,原理是相同的。
  4. IE浏览器下需要给父元素添加 zoom: 1; 属性,触发 haslayout 。

    方法 - 元素水平垂直居中

  5. 定位 + transform:

div { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

  1. 定位 + margin:

div { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

  1. flex布局:

.parent { display: flex; flex-flow: row; justify-content: center; align-items: center; }

  1. 文字居中(text-align搭配line-height):

span { width:100px; height: 50px; text-align: center; line-height: 50px; }

单位 - rem、em、vh、px 各自代表的含义?

rem rem相对于根元素 标签的 font-size 大小。
1rem = 根元素 font-size 大小。
em
- 子元素font-size的em相对于父元素的font-size
- 元素width、height、padding、margin的em相对于该元素的font-size
vh、vw
- 1vh=视口高度的1%
- 1vw=视口宽度的1%,但通常使用%。
px pixel像素单位,相对于屏幕显示器分辨率