当前位置: 首页 > Web前端 > HTML

绝对定位元素设置为水平居中

时间:2023-04-02 20:09:40 HTML

需求:有时候页面中有些容器需要定位到特定的位置,但是又需要容器在水平方向居中显示,比如把一个容器放在页面中的背景图片,使用margin-top不方便,所以我决定使用绝对定位来设置。实现方法:方法一,在知道容器大小的前提下。元素{宽度:600px;高度:400px;位置:绝对;左:50%;顶部:50%;边距顶部:-200px;/*高度的一半*/margin-left:-300px;/*宽度的一半*/}缺点:该方法需要提前知道容器的尺寸,否则边距的负值无法准确调整,需要借助JS动态获取。方法二、在不知道容器大小的前提下,使用CSS3的transform属性代替margin。transform中translateoffset的百分比值是相对于自身大小的。设置示例如下:.element{position:absolute;左:50%;顶部:50%;转换:翻译(-50%,-50%);/*50%是其自身大小的一半*/-webkit-transform:translate(-50%,-50%);}缺点:兼容性否,仅IE10+和其他现代浏览器支持。忽略国内流行的IE8浏览器是不合适的(移动web开发可以忽略)。方法三、margin:auto实现绝对定位元素的居中。元素{宽度:600px;高度:400px;位置:绝对;左:0;顶部:0;右:0;底部:0;保证金:自动;/*yes这会自动居中*/}