Angular,body添加css溢出:如果模态打开则隐藏并在关闭时将其删除?

Posted

技术标签:

【中文标题】Angular,body添加css溢出:如果模态打开则隐藏并在关闭时将其删除?【英文标题】:Angular, body add css overflow:hidden if modal is open and remove it if closed? 【发布时间】:2021-12-10 18:23:42 【问题描述】:

当我打开一个模态框时,有什么办法可以让 body 处于溢出:隐藏状态?这样,我只能滚动模态元素,而不能滚动正文元素。

【问题讨论】:

【参考方案1】:

我使用了这个解决方案

打字稿文件

constructor() 
  const body = document.getElementsByTagName('body')[0];
  body.classList.add('modal-open');

ngOnDestroy() 
   const body = document.getElementsByTagName('body')[0];
   body.classList.remove('modal-open');

css文件

.modal-open  overflow-y: hidden; 

【讨论】:

以上是关于Angular,body添加css溢出:如果模态打开则隐藏并在关闭时将其删除?的主要内容,如果未能解决你的问题,请参考以下文章

用于删除 Angular 材质 v5 模态背景的 CSS 代码

与 Bootstrap 模态一起使用时显示在模态后面的 Angular ui-select 选项

引导模式打开时如何防止滚动正文内容

使用 React 向 HTML <body> 标签添加一个类?

Bootstrap v5.1 模态不会从 <body> 中删除滚动

每次打开时如何使 div 模态滚动到顶部?