Closed xwartz closed 9 years ago
当父元素或者父元素的上层...设置了 overflow: auto 或者 overflow:scroll,然后内部元素设置 position: absolute; 内部元素是可以超出滚动区域的。
overflow: auto
overflow:scroll
position: absolute;
但是当父元素设置了 'position: relative;',内部元素就无法超出滚动区域,父元素 position: absolute; 是可以超出的。
将父元素的父元素设置 'position: relative;',也是不能超出滚动区域,直到在设置 overflow: auto 元素的父元素,才可以超出。 这里本来还觉得很诡异,因为之前代码里层级很多,然后发现只有在父元素三至四层时 设置 'position: relative;' 内部元素可以超出滚动区。其实这里的三至四层父元素,已经在滚动区域外部了,也就是内部元素 position: absolute; 参照的定位元素已经在滚动区域外部,所以才能超出滚动区域。
这里还有一个可以注意的地方是,即使将参照定位内部的元素设置overflow: hidden; ,也不会阻止元素超出滚动区域,这应该就是 absolute 属性脱离文档流的原因
overflow: hidden;
absolute
当父元素或者父元素的上层...设置了
overflow: auto
或者overflow:scroll
,然后内部元素设置position: absolute;
内部元素是可以超出滚动区域的。但是当父元素设置了 'position: relative;',内部元素就无法超出滚动区域,父元素
position: absolute;
是可以超出的。将父元素的父元素设置 'position: relative;',也是不能超出滚动区域,直到在设置
overflow: auto
元素的父元素,才可以超出。 这里本来还觉得很诡异,因为之前代码里层级很多,然后发现只有在父元素三至四层时 设置 'position: relative;' 内部元素可以超出滚动区。其实这里的三至四层父元素,已经在滚动区域外部了,也就是内部元素position: absolute;
参照的定位元素已经在滚动区域外部,所以才能超出滚动区域。