CSS - 水平居中

2020-10-11  本文已影响0人  my木子

1、使用inline-block+text-align

// html
<div class="parent" >
    <div class="child">子</div>
    <div class="child">子</div>
</div>

// css
.parent{
    text-align:center;
    background: #eee;
}
.child{
    width: 100px;
    display:inline-block;
    background: #ddd;
}

// 解决间隙问题
.parent{
    text-align:center;
    background: #eee;
    font-size: 0;          // 兼容chrome
    letter-spacing: -4px;  // 兼容safari
    word-spacing: -4px;
}
}
.child{
    width: 100px;
    display:inline-block;
    background: #ddd;
    font-size: 16px;
    letter-spacing: normal;
    word-spacing: normal;
    display: inline-block;
}

2、使用absolute + margin

// html
<div class="parent" >
    <div class="child">子</div>
    <div class="child">子</div>
</div>
// css
.parent{
   background: #eee;
   position: relative;
}
.child {
    width: 100px;
    background: #ddd;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}

3、使用table + margin

// html
<div class="parent" >
    <div class="child">子</div>
    <div class="child">子</div>
</div>
// css
.parent{
   background: #eee;
}
.child {
    width: 100px;
    display:table;
    margin: 0 auto;
    background: #ddd;
}

4、使用absolute + transform

// html
<div class="parent" >
    <div class="child">子</div>
    <div class="child">子</div>
</div>
// css
.parent{
   background: #eee;
}
.child {
    width: 100px;
    background: #ddd;
    position: absolute;
    left:50%;
    transform:translateX(-50%);
}

5、使用flex+justify-content

// html
<div class="parent" >
    <div class="child">子</div>
    <div class="child">子</div>
</div>
// css
.parent{
   background: #eee;
}
.child {
    width: 100px;
    background: #ddd;
    position: absolute;
    left:50%;
    transform:translateX(-50%);
}
上一篇 下一篇

猜你喜欢

热点阅读