当前位置: 首页 > 面试题库 >

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

龙兴贤
2023-03-14
问题内容

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

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

左边距和右边距无效

但是,如果您有亲戚,它可以正常工作,即

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

这是为什么?我只想将元素居中

有人可以解释为什么将页边距设置为绝对位置无效吗?


问题答案:

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

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

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

然后为元素提供固定的宽度和高度,例如200px或40%,元素 将自动 居中。



 类似资料:
  • 问题内容: 我打开控制台(chrome \ firefox)并运行以下行: 内容未包含在#popupFrame中,这使它变得很奇怪。 目标是创建像firefox这样的警告框 问题答案: 第二个div是(默认值),因此z-index不适用于它。 您需要定位(将位置属性设置为,而不是在这种情况下可能需要的其他位置)要分配给的任何内容。

  • 我有一个动画的SafeArea视图,里面有两个按钮,视图有位置:绝对。当我点击按钮时,它会穿过它,并点击de按钮后面的元素。我目前正在使用zIndex和elevation,并尝试了许多解决堆栈溢出的方法,例如: 使用TouchableHighlight 使用onPressIn而不是onPress 将TouchableOpity从report-nate-手势处理程序中导入,而不是从report-na

  • 问题内容: HTML CSS 问题 文本应放在我的“表格单元”的中间。一切正常,直到我添加“ position:absolute”。现在它不能再将我的内容放在中间了吗?为什么不?它仍然知道我的身高和宽度,因为我在CSS中进行了设置。 有什么聪明的解决方法吗? 问题答案: 一切正常,直到我添加“ position:absolute”。现在它不能再将我的内容放在中间了吗?为什么不? 部队,在这里阅读第

  • 问题内容: 我在另一个div内有两个div,我想使用css将一个子div放在父div的右上角,另一个子div放在父div的底下。即,我想对两个子div使用绝对定位,但是将它们相对于父div而不是页面定位。我怎样才能做到这一点? 范例html: 问题答案: 这工作,因为手段类似“使用,,,来定位自己相对于谁拥有最近的祖先或”。 因此,我们使have 和子代都有,然后使用和定位子代。

  • 问题内容: 我有3个要素。 第一个更大(包装)并具有 第2个相对于第1个相对位置绝对定位(并包含在第1个中) 第3个包含在第2个中,并且也具有绝对定位。 为什么第3个位置相对于第2个绝对位置(这也是第1个位置的绝对位置)而不是相对位置的第一个位置? 因为3rd 是绝对定位到2nd的绝对定位。 问题答案: 因为就像重置孩子的相对位置一样。 这是无法解决的-如果您希望第三个相对于第一个绝对定位,则必须

  • 问题内容: 我正在尝试将ID为“ absPos”的div相对于其父div放在绝对位置。但它不起作用,div放置在页面的左上角。 我的代码示例如下 您能帮我解决这个问题吗?在我的实际情况下,我必须放置背景图像,而不是红色背景色。 问候 问题答案: 绝对定位的元素从其最近的祖先开始定位。在您的代码中,祖先都不是“定位”元素,因此div从body元素(即)偏移。 解决方案是将其应用于父div,这迫使它成