2011-07-17 38 views
7

这对我来说没有意义。为什么集装箱内的绝对定位需要集装箱相对于

如果我想从容器边缘留下一个div:20px; top:20px,我应该可以执行像position:absolute-within-parent;之类的操作。定义孩子的位置不应该要求父母的修改。

至少它看起来更加模块化和解耦。而作为一名程序员,我被教导要沉迷于此。

+0

'绝对'\t该元素相对于其第一个定位(非静态)祖先元素 – onmyway133

回答

8

绝对定位是相对于称为包含块的东西。包含块是最接近的具有相对或绝对定位的父元素(如果没有其他可找到的元素,它可能是body元素)。这使您可以定位一个元素相对于其父项中的任何一个。 absolute-within-parent将限制您只能将元素相对于其直接父级进行绝对定位,而这并不总是您需要的。

+1

好吧,我明白这一点。但是不应该有另一个属性呢?例如容器可以有绝对容器:true ;.这似乎比做位置要好:亲戚;因为职位:相对;与其他属性冲突,如果我需要制作容器位置:固定;或位置:绝对,许多事情都被打破了。如果有一个绝对容器:true;正确的话,那么什么都不会被打破,这是好的模块化设计的标志。 – Max