水平居中
行内元素水平居中
text-align:center可以实现在块级元素内的行内元素的居中,对inline,inline-block,inline-table均有效
如果内部包含着另外一个块级元素,可以把它有块级元素转换为行内块元素
1 | <div style="text-align: center;"> |
块级元素水平居中
将这个块级元素设置左右边距margin-left,margin-right为auto
1 | <div> |
利用table+margin的方法
将子元素设置为display:table 在表现上类似于block元素
1 | <div> |
使用absolute+transform方法
将父元素设置为相对定位 将子元素设置为绝对定位,向右移动子元素,移动距离为父元素的一半,最后再移动子元素的一半宽度来达到居中的效果
absolute 定位针对父元素中不是static定位的第一个父元素进行定位
1 | <div style="position: relative;"> |
使用flex+justify-content方法
1 | .parent{ |
多个块级元素水平居中 使用flex布局
1 | .parent{ |
对于水平排列的块级元素设置为inline-block,在父元素上设置为text-align:center即可。
1 | <div style="text-align: center;"> |
浮动元素水平居中(重点考察)
**对于定宽的浮动元素,通过设置子元素relative+负margin,通过设置向右浮动为父容器宽度的50%,随后向左偏移自己的宽度的一半即可。
1 | <div> |
不定宽的浮动元素,外层嵌套一个浮动元素为float:left,随后设置定位为向左left:50%,
内部也设置为相对定位:float:left:50%;
1 | <div style="float: left;left:50%; position: relative;"> |
通用方法:使用flex布局
1 | <div style="display: flex;justify-content: center;"> |
绝对定位元素水平居中(重点考察)
1 | <div> |
通过设置子元素的position为absolute后,设置margin:0,auto,随后left和right设置为0即可。
垂直居中
单行内联元素垂直居中
父元素设置line-height等于行高
1 | <div style="height: 500px;line-height:500px"> |
多行内联元素垂直居中 使用flex,flex-direction为column定义主轴方向,
1 | <div style="display:flex;flex-direction: column;justify-content: center;height:500px"> |
利用表布局,设置子元素的display为table-cell 设置vertical-algin为middle即可
1 | <div style = "display: table;height: 1000px;"> |
块级元素的垂直居中
绝对定位为距离顶部50%,并设置margin-top偏移元素高度的一半
1 | position:absolute; |
使用absolute + transform
1 | top:50%; |
使用flex + align-items 子元素垂直居中 在父元素中设置
1 | display:flex; |
使用table-cell+vertical-align 注意 是父元素 将父元素转换为一个表格表单类似于td,tr,再通过设置vertical-align设置
水平垂直居中
设置子元素的position:absolute 随后设置margin:auto
1 | #container{ |
使用flex布局 在主轴和纵轴上都设置对齐方向
1 | #container{ |
grid与margin:auto结合
`
#container{
display:grid;
}
#center{
margin:auto;
}