使用CSS转换
示例
CSS转换基于元素的大小,因此,如果您不知道元素的高度或宽度,则可以将其绝对定位在相对容器的顶部和左侧的50%位置,并将其左右平移50%将其垂直和水平居中。
请记住,使用此技术时,元素可能会在非整数像素边界处结束渲染,从而使其看起来模糊。解决方法请参见SO中的此答案。
的HTML
<div class="container"> <div class="element"></div> </div>
的CSS
.container {
position: relative;
}
.element {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}在JSFiddle中查看示例
跨浏览器兼容性
转换属性需要旧浏览器支持的前缀。Chrome<=35,Safari<=8,Opera<=22,AndroidBrowser<=4.4.4和IE9需要前缀。IE8和更早版本不支持CSS转换。
这是上一个示例的常见转换声明:
-webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera, Android */
-ms-transform: translate(-50%, -50%); /* IE 9 */
transform: translate(-50%, -50%);有关更多信息,请参见canIuse。
更多信息
根据第一非静态父元素被定位(position:relative,absolute,或fixed)。在这个小提琴和本文档主题中探索更多内容。
对于仅水平居中,请使用left:50%和transform:translateX(-50%)。仅垂直居中也是如此:用top:50%和居中transform:translateY(-50%)。
在此定心方法中使用非静态的宽度/高度元素会导致居中的元素看上去变形。这主要发生在包含文本的元素上,可以通过添加margin-right:-50%;和来解决margin-bottom:-50%;。查看此小提琴以获取更多信息。
热门推荐
10 除夕对同学简短祝福语
11 送去考试祝福语大全简短
12 银行考研上岸祝福语简短
13 女神结婚快乐祝福语简短
14 2026简短祝福语给老师
15 美丽晚霞祝福语简短句
16 老哥出门祝福语简短语
17 孩子懂事生日祝福语简短
18 老师及家人祝福语简短