要水平居中块元素(如 <div>),请使用margin: auto;
设置元素的宽度将防止它延伸到容器的边缘。
然后,该元素将占据指定的宽度,剩余空间将在两个边距之间平均分配:
该 div 元素居中。
笔记:如果中心对齐没有效果width
属性未设置(或设置为 100%)。
要将文本集中在元素内,请使用text-align: center;
此文本居中。
提示:有关如何对齐文本的更多示例,请参阅CSS 文本章节。
要将图片居中,请将左右边距设置为auto
并把它做成一个block
元素:
对齐元素的一种方法是使用position: absolute;
:
在我年轻、脆弱的时候,父亲给了我一些建议,从那时起我就一直在思考这些建议。
.right {
position: absolute;
right: 0px;
width: 300px;
border: 3px solid #73AD21;
padding: 10px;
}
亲自试一试 »
笔记:绝对定位的元素会从正常流中移除,并且可以与元素重叠。
对齐元素的另一种方法是使用float
属性:
笔记:如果一个元素比包含它的元素高,并且它是浮动的,它会溢出到其容器之外。您可以使用"clearfix hack" 来解决此问题(请参阅下面的示例)。
然后我们可以将clearfix hack添加到包含元素来解决这个问题:
在 CSS 中,有很多方法可以使元素垂直居中。一个简单的解决方案是使用顶部和底部padding
:
我是垂直居中的。
要垂直和水平居中,请使用padding
和text-align: center
:
我是垂直和水平居中的。
另一个技巧是使用line-height
属性的值等于height
属性:
我是垂直和水平居中的。
.center {
line-height: 200px;
height: 200px;
border: 3px solid green;
text-align: center;
}
/* If the text has multiple lines, add the following: */
.center p {
line-height: 1.5;
display: inline-block;
vertical-align: middle;
}
亲自试一试 »
如果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%);
}
亲自试一试 »
提示:您将在我们的文章中了解有关变换属性的更多信息2D 变换章节。
您还可以使用 Flexbox 将事物居中。请注意,IE10 及更早版本不支持 flexbox:
.center {
display: flex;
justify-content: center;
align-items: center;
height: 200px;
border: 3px solid green;
}
亲自试一试 »
提示:您将在我们的文章中了解有关 Flexbox 的更多信息CSS Flexbox 章节。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!