注意:如果子元素的高度大于父元素,且子元素设置了浮动,那么子元素将溢出,这时候你可以使用 “clearfix(清除浮动)” 来解决该问题。
我们可以在父元素上添加 overflow: auto; 来解决子元素溢出的问题:
实例
.clearfix {
overflow: auto;
}
当使用 float 属性时,IE8 以及更早的版本存在一个问题。如果省略 !DOCTYPE 声明,那么 IE8 以及更早的版本会在右侧增加 17px 的外边距。这似乎是为滚动条预留的空间。当使用 float 属性时,请始终设置 !DOCTYPE 声明:
实例
body {
margin: 0;
padding: 0;
}.right {
float: right;
width: 300px;
background-color: #b0e0e6;
}
垂直居中对齐 – 使用 padding
CSS 中有很多方式可以实现垂直居中对齐。 一个简单的方式就是头部顶部使用 padding:
我是垂直居中。
实例
.center {
padding: 70px 0;
border: 3px solid green;
}
如果要水平和垂直都居中,可以使用 padding 和 text-align: center:
我是水平和垂直都居中的。
实例
.center {
padding: 70px 0;
border: 3px solid green;
text-align: center;
}
垂直居中 – 使用 line-height
我是垂直居中的。
实例
.center {
line-height: 200px;
height: 200px;
border: 3px solid green;
text-align: center;
}/* 如果文本有多行,添加以下代码: */
.center p {
line-height: 1.5;
display: inline-block;
vertical-align: middle;
}
垂直居中 – 使用 position 和 transform
除了使用 padding 和 line-height 属性外,我们还可以使用 transform 属性来设置垂直居中:
实例
.center {
height: 200px;
position: relative;
border: 3px solid green;
}.center p {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
提示: 更多 transform 属性内容可以参阅 2D 翻转章节。
更多实例
CSS 使用 margin 让 div 居中对齐
CSS 使用绝对定位 让 div 右对齐










