为什么绝对定位的元素不遵守定位指南?

时间:2017-04-17 05:25:06

标签: html css css-position

我正在关注如何在Dreamweaver中构建网站的教程(https://helpx.adobe.com/dreamweaver/how-to/make-website-pt6-web-links-navigation.html)但是我试图理解为什么教程中的某个步骤可以正常工作。

我有一个绝对定位的元素#navlink,这是它在DOM结构中的位置:

nav 
    h2 #menulink
    ul #navlink
nav

直观地查看结果,根据绝对标志从页面中删除ul#navlinks,而不是在最后定位的元素(即html页面)旁边锚定(因为ul上面的元素没有相对或其他位置)它跳到了dom上面的h2#menulink。

我不确定这是否只是我的代码中的一个错误,并且我不知不觉地以某种方式定位h2或nav元素,或者我忽略了为什么文档流附加点被覆盖的其他原因,但是无论我多少次通过代码,我都找不到错误。

这是一个完整的源代码链接,以及我在jfiddle中提供的渲染页面:

https://gist.github.com/anonymous/5d8bde1f196b919dab297560ff85b072

1 个答案:

答案 0 :(得分:1)

这是预期的行为。您的代码是正确的,浏览器也是如此。对于absolute定位,它在最后定位的元素旁边锚定""仅在定义leftright属性时水平放置,并且仅在定义topbottom属性时垂直放置。

如果top没有定义bottomleftrightul#navlink,则会从页面&#34中删除#34} ;,但定位为position: static