html - CSS 绝对位置不适用于 margin-left :auto margin-right: auto

标签 html css position

假设您将以下 CSS 应用于 div 标签

.divtagABS {
    position: absolute;
    margin-left: auto;  
    margin-right: auto;
}

margin-leftmargin-right不生效

但如果你有亲戚,它工作正常 即

.divtagREL {
    position: relative;
    margin-left: auto;  
    margin-right: auto;
}

这是为什么呢?我只想让一个元素居中。

有人可以解释为什么在绝对位置将边距设置为 auto 不起作用吗?

最佳答案

编辑:这个答案曾经声称不可能使用 margin: auto; 将绝对定位的元素居中,但这根本不是真的。因为这是投票最多和接受度最高的答案,所以我想我只是将其更改为正确的。

当您将以下 CSS 应用于元素时

position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;

然后给元素一个固定的宽度和高度,比如 200px 或 40%,元素自己居中。

这是 a Fiddle效果图。

关于html - CSS 绝对位置不适用于 margin-left :auto margin-right: auto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998260/

相关文章:

html - 在 div 周围创建填充?

html - CSS - 溢出和定位

html - 组织 div 元素

java - 如何重定向到 WEB-INF 文件夹内的 JSP

html - 默认的 css 空选择器?

javascript - jQuery鼠标悬停动画效果

android - CSS scale() 不适用于 Android Chrome 70 和其他版本

css - 将页面分成两部分

javascript - 如何使用黑名单数组和正则表达式禁止带有变音符号的单词?

CSS - 页脚中的空白