课程
/前端开发
/HTML/CSS
/网页布局基础
【前提:没有设置了定位的父元素】绝对定位的层没有设置偏移量为什么还是在原位置浮动起来了?为什么不是<html>呢?
因为我认为设置偏移量后,如果没有设置了定位的父元素时就是相对<HTML>定位的啊。
2016-03-23
源自:网页布局基础 4-4
正在回答
题主的意思很明确,既然是脱离普通文档流,也没有设置top/left,那么元素应该就在整个HTML的左上角啊?这是因为我们对absolute的属性认知不完全而造成的。absolute具有跟随性,当没有设置top/left等偏移值时,这个元素只是脱离了文档流,会对后面的元素产生影响,但它自身原来在什么位置,现在还是在什么位置。另外,absolute的属性实在太猛了,建议多了解下。比如absolute跟float一样具有包裹性,即由内容撑开宽高,absolute会使inline元素块状化;当同时设置absolute和float属性时,float会失效等等
蛋蛋90斤
题主你不是自己说的绝对定位的层没有设置偏移量吗?那没设置当然是原位置脱离了标准文档流,但是没有偏移,要是设置了就是相对于<html>进行偏移了
浮动是因为设置了绝对定位,你这样是相对<html>偏移,但是你没有设置偏移量
前提是没有设置偏移量呀,如果设置了偏移量,那么就是相对于<html>偏移了的
举报
让你精通CSS中三大定位机制,彻底掌握网页布局的相关知识