当使用 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 右对齐