Jon*_*yte 5 html css css-position
我常常发现自己将一个类附加到一个元素上,只是为了让它可以position: relative;
让我的孩子使用它position: absolute;
如果我写的话会有什么不妥,或者我应该说会有什么问题吗?
* {
position: relative;
}
Run Code Online (Sandbox Code Playgroud)
或者可能是下面的例子,因为这些通常是我需要相对定位的唯一元素:
div, navbar, footer, section, aside, header, article {
position: relative;
}
Run Code Online (Sandbox Code Playgroud)
根据W3schools,position: static;
默认情况下所有元素都是根据页面的正常流程定位的.
"HTML元素默认定位为静态.静态定位元素总是根据页面的正常流程定位."
并且根据相同的来源,相对定位的元素也根据页面的正常流程定位,除非被CSS覆盖:
"相对定位元素的内容可以移动并与其他元素重叠,但元素的保留空间仍然保留在正常流程中."
是的.如果你试图定位一个元素,absolute
它相对于最近的祖先定位,它具有position
除了之外的CSS static
.
如果每个元素都有position:relative
,那么这将是直接父元素.
但是您可能希望将绝对元素相对于DOM树中的元素进一步放置,或者可能绝对位于页面主体上.
在某些时候,您将遇到无法完全控制HTML的情况.然后你会看到,设置一切都会适得其反relative
.
一个例子可能是phat图层菜单..menu
在层次ul
li
元素的丛林深处的某个类中有层.这应该相对于.menu
元素的位置定位.您可能不想在此处更改DOM树.