程序员

厚积薄发 前端学习笔记 CSS基础篇-水平、垂直居中布局

2018-12-06  本文已影响4人  子白青墨

水平、垂直居中布局是每个前端人必备掌握的基础技能之一,也是各大公司无比常用的面试题之一,可能我们在实践中用不到这么多的方法,但是掌握主流的垂直居中布局方法,是一个前端人的必须的职业素养之一,本文归纳总结了笔者认为比较实用的一些方法,另外一些奇淫技巧不在本文的讨论范围内

GitHub项目链接

写在前面

相关代码我只贴出水平垂直居中的,水平和垂直居中的综合方案代码,水平和垂直居中的分别的代码其实大部分都是融合在水平垂直居中布局中的

水平居中

垂直居中

总结:块级元素水平垂直居中

首先列出通用的css样式
通用css样式

/* 父元素通用样式 */
.containerCommon {
  height: 100px;
  background-color: gray;
}

/* 子元素通用样式 */
.itemCommon {
  width: 80px;
  height: 40px;
  background-color: black;
  color: white;
}
.container-11 {
  position: relative;
}

.item-11 {
  position: absolute;
  left: 50%;
  top: 50%;
  /*这里不用transform的话,就必须知道子元素宽度,通过margin-left和margin-right进行位移*/
  transform: translate(-50%, -50%);
}
.container-12 {
  position: relative;
}

.item-12 {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.container-13 {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 200px;
}

.item-13 {
  display: inline-block;
  color: white;
  background-color: black;
  /* margin: 0 auto; */
}
.container-14 {
  display: flex;
  justify-content: center;
  align-items: center;
}

写在后面

关于介绍的所有方法水平垂直居中布局方法中,在不考虑兼容性的情况下,首推flex布局,flex的特性现在主流浏览器都已经兼容到了,简介易用的语法,应该没谁不喜欢用了,除非是老版本的IE。其次就是综合定位方案2,相对比较传统的定位布局方法,兼容性都比较好,综合定位方案1要考虑 transform: translate(-50%, -50%)方法的兼容性

上一篇下一篇

猜你喜欢

热点阅读