tooltip 随页面滚动
时间: 2023-11-24 15:07:35 浏览: 33
tooltip随页面滚动的问题可能是由于tooltip组件的定位问题引起的。根据引用和引用的内容,tooltip组件的默认定位是相对于body元素进行绝对定位,而不是相对于包含它的父元素。因此,当tooltip组件位于一个较大的父元素内,并且页面内容超过了100vh时,就会出现滚动条。
为了解决这个问题,你可以根据引用中的代码,在父元素中添加一个新的div元素,并将这些tooltip组件的dom添加到这个新的div中。这样,tooltip组件就会相对于新的div进行定位,而不是相对于body元素。通过使用这种方法,tooltip组件将和父元素一起滚动,并且不会导致页面出现多余的滚动条。
另外,根据引用的内容,如果你的tooltip组件是在一个select代码块中,你还可以通过添加getPopupContainer属性并返回triggerNode.parentNode来解决选项滚动的问题。这样,tooltip组件将相对于其父元素进行定位,而不是相对于整个页面。
综上所述,你可以通过以上方法解决tooltip随页面滚动的问题。
相关问题
Tooltip如何不跟随页面滚动
要让 Tooltip 不跟随页面滚动,可以使用 CSS 属性 `position: fixed`。这会使 Tooltip 固定在屏幕上,不受页面滚动的影响。
例如,假设你有一个带有 Tooltip 的按钮,并且你想让 Tooltip 在点击按钮时显示并保持固定位置。你可以使用以下 CSS:
```css
.tooltip {
position: fixed;
top: 50px;
left: 50px;
}
```
这会将 Tooltip 放置在屏幕的固定位置,而不管页面如何滚动。当然,你需要根据你的实际情况来调整 `top` 和 `left` 的值,以确保 Tooltip 出现在你想要的位置。
另外,如果你使用 JavaScript 来控制 Tooltip 的显示和隐藏,你可以使用 `position: absolute` 将 Tooltip 放置在其父元素中,并根据需要设置父元素的 `position` 和 `overflow` 属性。这样,即使页面滚动,Tooltip 也会保持在其父元素的相对位置。
el-tooltip滚动时隐藏
要实现滚动时隐藏 el-tooltip,可以通过监听滚动事件,在滚动时将所有 el-tooltip 的 showPopper 属性设置为 false,代码示例如下:
```javascript
// 获取所有 el-tooltip 组件
const tooltips = document.querySelectorAll('.el-tooltip');
window.addEventListener('scroll', () => {
// 滚动时隐藏所有 el-tooltip
tooltips.forEach(tooltip => {
tooltip.showPopper = false;
});
});
```
这段代码会在页面滚动时隐藏所有 el-tooltip 组件。你可以将代码放在页面的 JS 文件中,或在 Vue 组件的 mounted 钩子中执行。