div设置属性position: absolute后设置overflow: auto;无效
时间: 2023-08-03 14:05:27 浏览: 170
div的position属性
当一个元素设置了 `position: absolute` 后,它会从文档流中脱离出来,不再占据原来的位置,而是相对于其最近的已定位(即设置了 `position` 属性,除了 `static`)的祖先元素进行定位。因此,如果你想要为其设置滚动条,需要将其父元素也设置为定位元素。
例如,如果你想要为一个 `position: absolute` 的 `div` 元素设置滚动条,可以将其父元素也设置为 `position: relative` 或 `position: absolute`,然后对其父元素设置 `overflow: auto`,如下所示:
HTML 代码:
```
<div class="parent">
<div class="child"></div>
</div>
```
CSS 代码:
```
.parent {
position: relative; /* 或者 position: absolute; */
width: 200px;
height: 200px;
overflow: auto;
}
.child {
position: absolute;
width: 300px;
height: 300px;
background-color: #ccc;
}
```
在这个例子中,`.parent` 元素是一个定位元素,并设置了 `overflow: auto`,`.child` 元素是一个 `position: absolute` 的元素,其宽度和高度都大于 `.parent` 元素,因此会超出 `.parent` 元素的范围,此时,`.parent` 元素会显示滚动条,用户可以通过滚动条滑动查看 `.child` 元素的内容。
需要注意的是,当一个元素设置了 `position: absolute` 后,其宽度和高度不再受到父元素的限制,因此需要根据具体情况设置其位置和大小。
阅读全文