使用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 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短