CSS相对+右(或底部)几乎从不工作

Aks*_*rma 14 css position css-float

我已经写了很长一段时间了.

我注意到了

<div style="position: relative; right: 20%; bottom: 20%;">some text</div> 
Run Code Online (Sandbox Code Playgroud)

永远不会有效

相对定位适用于指定的左侧和顶部,但不适用于右侧/底部.为什么?

快速解决这个问题是使用"绝对"而是以像素为单位指定右/底,但我需要一个理由.

如果我错了,请纠正我.无论外部容器是绝对放置还是相对放置,将容器的"相对"定位到容器的边界或者容器内的元件是否总是"绝对"定位没有多大意义?

谢谢.

oom*_*aut 14

绝对与相对 - 解释CSS定位

相对定位使用与绝对定位相同的四个定位属性.但是,不是将元素的位置基于浏览器视图端口,而是在元素仍处于正常流程中时从元素的位置开始.

  • 好吧:40px; 与margin-left几乎相同:-40px; 在那种情况下呢?那太奇怪了...... (2认同)

use*_*440 8

相对定位确实适用于底部/右侧值,而不是您期望的方式:

http://cssdesk.com/RX24j

将相对元素的位置值视为边距,周围元素忽略."边距"将始终相对于正常文档流中的先前位置移动元素,但同时将其从正常流中移除.

当超出正常的文档流程时,周围的元素就像它在正常流程中的原始位置一样...但事实并非如此.这就是相对元素可以与其父元素重叠的原因(如在Rel 1中).