居中方法
水平居中
行内元素的水平居中
使用text-align 的方法实现行内元素的水平居中text-align: center: 实现块状元素内部 行元素的水平居中
1 | <div id = 'content'> |
块状元素的水平居中方法
1.使用margin 进行定位1 | <div id='content'> |
- 注意, 对于块状元素使用
margin: auto只能实现块状元素在父级块状元素内的水平居中如果在正常流中一个块元素的
margin-top margin-bottom设为auto的时候,这个元素的 margin 会自动计算为 0
在上面的图片中,尽管设置了 margin-top : 20px 但是由于 margin: auto 的存在,将块元素的 margin-top 重新计算为 02.借用定位元素 position: absolute借用定位元素实现的居中,可以实现水平,垂直居中的效果垂直居中:1 | 父元素: |
1 | 父元素: |
1 | 父元素: |
1 | 父元素: |
display: inline-block 来实现display: inline-block 这个属性很有意思:
使用了 display: inline-block 的元素,这个元素会表现出行内块的特征,这个元素即可以像块状元素一样具有 width 和 height, 也可以是向行内元素一样,呈行内排列
因此,我们的思路是:对于要进行水平居中的块状元素应用 display:inline-block , 使它表现出类似行状元素的特性,对于该元素的父元素,应用 text-align: center垂直居中
行内元素的垂直居中
1.对于单行元素,使用line-height: height 实现2.对于多行元素的垂直居中方法,使用 display: table-cell1 | <div class = 'content'> |

块状元素的垂直居中
1.使用position: absolute 来实现2.子元素声明 display: table-cell display: inline-block vertical-align: middle 来实现完全居中
position: absolute来实现- 使用
display: table-cell, 这时候 子元素必须要声明display: inline-block1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<div id='good'>
<div class='child'></div>
</div>
<style>
#good{
display:table-cell;
vertical-align: middle;
text-align: center;
width: 200px;
height: 200px;
background-color: blue;
}
.child {
display: inline-block;
width: 50px;
height: 50px;
background-color: red;
}
display: flex 实现居中的效果1 | <div class="parent"> |
1 | .parent { |