通常,我会将一个类附加到一个元素上,这样我就可以使用position: relative;来定位它的子元素了。
如果我要写的话,有什么不对的地方,或者我应该说,有什么东西会破裂吗?
* {
position: relative;
}或者可能是下面的例子,因为这些通常是我需要相对定位的唯一元素:
div, navbar, footer, section, aside, header, article {
position: relative;
}根据W3schools,默认情况下所有元素都是position: static;,该元素根据页面的正常流定位。
“默认情况下,HTML元素是静态的。静态定位元素总是根据页面的正常流程定位。”
根据同一源,除非用CSS覆盖,否则相对定位的元素也会根据页面的正常流进行定位:
相对定位元素的内容可以移动并与其他元素重叠,但元素的保留空间仍保留在正常流中。
发布于 2014-04-11 10:05:09
是的,是这样的。如果您试图定位一个元素absolute,它的位置相对于最近的祖先,它有一个CSS position而不是static。
如果每个元素都有position:relative,那么这将是直接父元素。
但是,您可能希望将绝对元素相对于DOM树中更高的元素定位,或者绝对定位在页面主体上。
在某一时刻,您将遇到无法完全控制HTML的情况。然后,您将看到,设置所有relative都是适得其反的。
一个例子可能是一个phat层菜单。.menu类中的层位于分层ul li元素的丛林深处。这应该相对于.menu元素的位置进行定位。您可能不想在这里更改DOM树。
发布于 2014-04-11 10:12:54
如果将position: relative应用于页面中的所有元素,您将无法有效地使用position: absolute,因为您无法将一个元素定位到祖父母,而且您可能会以一种不可预测的方式破坏依赖position: absolute的外部插件/模块。
您可能会遇到z-index的问题(例如在下拉菜单中),最后您将用position: static和position: absolute覆盖这种行为。
发布于 2014-04-11 10:05:09
至于我使用的位置:相对是不好的-因为有时你需要定位相对浏览器窗口,它会给你一个问题。但是如果你确信你不会这么做,那就去做吧
https://stackoverflow.com/questions/23009288
复制相似问题