Loading

CSS3--居中思路

一、水平居中

1、行内元素

如果父元素是块级元素且里面包含行内元素,则直接给父元素设置 text-align: center。

.center{
        text-align:center;
}
<div class="center">水平居中</div>

2、块级元素

2.1、定宽块级

给需要居中的块级元素添加margin:0 auto即可。

.center {
  width:200px;
  margin:0 auto;
  border:1px solid red;
}
<div class="center">水平居中</div>

2.2、不定宽块级

flex布局

<div class="parent">
    <div class="child">我是块级元素</div>
</div>

.parent {
  height: 300px;
  width: 400px;
  display: flex;
  justify-content: center;
}

grid布局

.parent{
  display:grid;
  justify-items:center; /*justify-content:center;*/
} 

absolute + transform

.parent {
  height: 300px;
  width: 400px;
  position: relative;
  background:  red;
}
.child {
  position: absolute;
  background: pink;
  left: 50%;
  transform: translateX(-50%);
}

<div class="parent">
    <div class="child">我是块级元素</div>
</div>

二、垂直居中

1、单行文本

设置line-height = height 或 padding-top=padding-bottom。

2、图片

line-height 和 vertical-align

#box{
    width: 300px;
    height: 300px;
    background: #ddd;
    line-height: 300px;
}
#box img {
    width: 200px;
    height: 200px;
    vertical-align: middle;
}

3、块级元素

3.1、绝对定位结合margin: auto

#box {
    width: 300px;
    height: 300px;
    background: #ddd;
    position: relative;
}
#child {
    width: 200px;
    height: 100px;
    background: orange;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 100px;
}

3.2、Grid

<div id="box">
    <div class="one"></div>
    <div class="two">target item</div>
    <div class="three"></div>
</div>

#box {
    width: 300px;
    height: 300px;
    display: grid;
}

三、水平垂直居中

1、绝对定位+margin

.father {
    position: relative;
}
.child {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -50px;
    margin-top: -50px;
}

2、绝对定位+负边距

    div{
        width:200px;
        height: 200px;
        background:green;
        
        position: absolute;
        left:50%;
        top:50%;
        margin-left:-100px;
        margin-top:-100px;
    }

实现水平垂直,只需要同时结合水平居中和垂直居中,篇幅有限,部分相似代码方式省略。

posted @ 2022-01-17 23:43  三淼  阅读(51)  评论(0编辑  收藏  举报