前端

css居中完全指北

2020-08-26  本文已影响0人  唐_银

css的水平垂直居中问题太常见了,整理一波

行内单行文本

行内元素的水平居中比较常见

text-align: center;

行内元素多行文本的垂直居中,可以用table布局来解决,当然了flex大法也能妥妥搞定

<div class="container">
    <span class="center">多行文本xxxxxx</span>
</div>

.container {
    display: table;
}
.center {
    display: table-cell;
    vertical-align: middle;
}

块级元素的水平垂直居中

不定宽高 通用方案

  1. flex大法
display: flex;
justify-content: center;
align-items: center;
  1. transform方式
position :absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%)
  1. table布局
.parent {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}
.child {
    display: inline-block; // table布局方法下子元素得是行内
}

已知宽高的情况

  1. margin负值方案
width: 100px;
height: 100px;
position : absolute;
top: 50%;
left: 50%;
margin: -50px 0 0 -50px;
  1. 绝对布局的方式
width: 1px;
height: 1px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
上一篇 下一篇

猜你喜欢

热点阅读