5

我试图让我的toastr 通知出现在 div 的中间。我已经看到了一些建议,例如这个,但它基于整个窗口而不是在 div 中居中。

当 toastr 对表单上的元素一无所知时,是否可以将 toast 通知集中在表单元素中?

我最近的尝试是在页面中大致居中吐司,但我想将它放在某个 div 中。那可能吗?如果是这样,怎么做?

这是我的居中尝试:

.toast-center {
    top: 50%;
    left: 40%;
}

在此处输入图像描述

4

5 回答 5

6

您可以尝试创建一个新的 div 并将其放置在您预期的 div 的中心。

然后您可以使用positionClasstoastr 选项,这是您的通知弹出位置

toastr.options: {
    "positionClass": "your-newly-created-div-class"
}
于 2013-04-06T15:29:24.100 回答
4

在 toastr.css 中,添加:

.toast-top-center {
    top: 12px;
    left:50%;
    margin:0 0 0 -150px;
}

在 JavaScript 中,使用这个:

toastr.options = {
    positionClass: 'toast-top-center'
};

如果您的 toast div 有其他宽度,您可以将上面的 CSS 修改为它的一半宽度。

margin:0 0 0 (here caculate the -width/2 px for yourself)
于 2013-11-01T07:49:31.727 回答
2

你可以用jquery来做

在 toastr.css 中,添加:

.toast-top-center { 
   top: 12px;   
   margin: 0 auto;  
   left: 50%;   
   margin-left: -150px;
 }

在 js 文件中添加以下内容:

toastr.options = {
    positionClass: 'toast-top-center'
};

toastr.success("Your Message Header", "Your Message");

var $notifyContainer = $('#toast-container').closest('.toast-top-center');
if ($notifyContainer) {
   // align center
   var windowHeight = $(window).height() - 90;
   $notifyContainer.css("margin-top", windowHeight / 2);
}
于 2014-08-08T14:42:26.977 回答
1

以下片段在角度 ~9.1.0 中使用"ngx-toastr": "^12.1.0"进行了测试。

组件名称.ts

import { ToastrService } from 'ngx-toastr';

@Component({
  selector: 'app-component-name',
  templateUrl: './component-name.component.html',
  styleUrls: ['./component-name.component.scss']
})
export class ComponentName implements OnInit {
 
    constructor(private readonly toastrService: ToastrService) { }
    
      ngOnInit(): void {
        this.toastrService.toastrConfig.positionClass = 'toast-top-center';
      }
}

组件名称.scss

.toast-top-center { 
    top: 12px;   
    margin: 0 auto;  
    left: 50%;   
    margin-left: -150px;
}
于 2021-01-05T08:09:36.697 回答
0

在 ngx-toastr (^14.1.4) 的最新版本中有一个针对这个问题的原生解决方案,如果您检查 toast.css 文件,您可以看到以下内容:

.toast-center-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
 }

{positionClass: 'toast-center-center' }因此,当您调用 toastr 通知时,您只需在 .ts 中使用

于 2021-11-11T22:36:21.497 回答