你不知道的水平居中和垂直居中

173 阅读1分钟

css中的水平居中和垂直居中已经是老生常谈的话题了,今天就说两个也许你会忽略的点:

  1. 水平居中:
    • 文字的水平居中使用:text-align: center
    • 如果是一个div元素想要水平居中呢? 则需要:
      .block_center {
      	width: 80px;
          height:50px;
      	display: block; // 此处如果为inline-block 是不行的
          margin: 0 auto;
      }
      
  2. 垂直居中:
    • 使用flex布局(这个大家都知道就不赘述了,不熟悉的朋友可以搜索相关资料)
    • 使用line-height
      .parent {
      	width: 240px;
      	height: 120px;
      	line-height: 120px;
      	font-size: 0; // 为什么呢?我也不明白,测试表明,当font-size不为零时候,
          // 会影响child的垂直居中,
          。child会根据font-size的大小不同,稍微偏下几个像素,有大佬可以解释这个现象吗?
      }
      .child {
      	height: 80px;
          width: 100px;
          verticle-align: middle;
      }
      
  3. 如果想既水平居中又垂直居中,要么通过计算magin的方式,要么fex的方式(推荐)

作者说:以上是我对css垂直居中和水平居中的一点认识。有不准确的地方,希望大佬们在评论区指正,万分感谢。