水平居中
1. 行内元素的居中
对父元素设置 text-align:center;
.parent {
text-align: center;
}
2. 块状元素居中
- 已定宽块状元素,设置左右 margin值为 auto;
.parent {
height: 100px;
width: 400px;
background: black;
}
.child {
width: 100px;
height: 100px;
background: #4fc08d;
margin: 0 auto;
}
- 未定宽块状元素,设置子元素为display:inline,然后在父元素上设置text-align:center;
.parent {
height: 100px;
width: 400px;
background: black;
text-align: center;
}
.child {
width: 100px;
height: 100px;
background: #4fc08d;
display: inline-block;
}
垂直居中
1. 内联元素
- 父元素一定,子元素为单行内联文本:设置父元素的height等于行高line-height;
.parent {
height: 40px;
line-height:40px;
}
- 父元素一定,子元素为多行内联文本:设置父元素的display:table-cell或inline-block,再设置vertical-align:middle;
.parent {
height: 80px;
width: 200px;
display: table-cell;
vertical-align: middle;
background-color: red;
}
2. 块状元素
设置子元素position:fixed(absolute),然后设置margin:auto;
左右布局
1. 左右固定宽度
- 子元素宽度总和不能大于父元素的宽度。