绝对定位元素水平垂直居中的两种常见方法

简介:

一、负外边距

方法:绝对定位元素的尺寸已知,top设置为50%,left设置为50%,外边距margin取负数,大小是宽度width和高度height的一半,有内边距padding时要加上padding值再取半。具体代码如下:

html代码:

<div class="box">
    <div class="box1"></div>
</div>

css代码:

.box{
    position: relative;
    width: 200px;
    height: 200px;
    background: yellow;
}

.box1{
    position: absolute;
    top: 50%;
    left:50%;    
    background: red;
    width: 100px;
    height: 100px;
    padding: 10px;
    margin-top: -60px;
    margin-left: -60px;
}

浏览器显示如下:

screenshot

除了这种常用方法外,在网上还看到了另一种比较简便的方法,整理如下:

二、利用margin: auto实现居中

方法:设置绝对定位元素top和bottom的值相等,left和right的值相等。但是left和right的值不能超过其相对元素width减去它自身width的一半,否则绝对定位会优先选取left值进行定位。top和bottom无此限制。最好配合overflow:auto防止溢出。具体代码如下:

css代码:

.box1{
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100px;
    height: 100px;
    background: red;
    overflow: auto;//当内部内容较多时,会自动出现滚动条
}

浏览器显示同上。

相关文章
|
14天前
|
前端开发 容器
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解
|
4月前
行内元素、块级元素、空元素的理解
行内元素、块级元素、空元素的理解
21 0
|
9月前
元素水平垂直居中的六种方法
元素水平垂直居中的六种方法
64 1
|
9月前
|
容器
【元素水平垂直居中的方法有哪些?元素不定宽高呢?】
【元素水平垂直居中的方法有哪些?元素不定宽高呢?】
【元素水平垂直居中的方法有哪些?元素不定宽高呢?】
|
11月前
|
移动开发 前端开发
关于H5中的相对定位与绝对定位区别的思考
关于H5中的相对定位与绝对定位区别的思考
146 0
|
前端开发 开发者
浮动与清除浮动| 学习笔记
快速学习浮动与清除浮动。
123 0
浮动与清除浮动| 学习笔记
hover时行级元素变成了块级元素,导致位置错乱
hover时行级元素变成了块级元素,导致位置错乱
|
容器
父元素如何围住浮动子元素
父元素如何围住浮动子元素
105 0
父元素如何围住浮动子元素
父级边框塌陷
问题描述 解决方法 总结
父级边框塌陷