当前位置:  开发笔记 > 编程语言 > 正文

如何用背景颜色显示md-toast

如何解决《如何用背景颜色显示md-toast》经验,为你挑选了2个好方法。

我正在尝试使用角度材料创建具有一些背景颜色的吐司面具.我使用这个问题的答案,我创建了这个codepen,但它也显示了一些不想要的背景toast.

HTML:

Toast is not properly working with theme defined in CSS.

Toast

CSS:

md-toast.md-success-toast-theme {
    background-color: green;
}

md-toast.md-error-toast-theme {
    background-color: maroon;
    position: 'top right'
}

md-toast {
    height: 40px;
    width: 50px;
    margin-left: auto;
    margin-right: auto;
    left: 0; right: 0;
    top:10px;
}

JS:

angular.module('MyApp',['ngMaterial', 'ngMessages'])
.controller('AppCtrl', function($scope, $mdToast, $document) {
  $scope.showSimpleToast = function() {
    $mdToast.show(
      $mdToast.simple()
        .textContent('Simple lala Toast!')
      .theme('success-toast')
        .hideDelay(3000)
    );
  };
})

Thatkookoogu.. 15

定位吐司

您可以只将md-toast位置放在正确的位置,而不是给所有东西(切割你的吐司)一个位置.

通过文档,您可以正式放置吐司的四个位置:左上角,右上角,左下角,右下角.所以,首先,让我们将吐司放在左上角(这对于动画的变化非常重要.此外,这将允许我们在底部中心显示祝酒词).

$mdToast.show(
  $mdToast.simple()
    .textContent('Simple lala Toast!')
    .position('top')

现在,在css中,只需定位你的吐司:

md-toast {
  left: calc(50vw - 150px);
}

这将把吐司定位在视口的中心,减去吐司的一半.

你也可以通过javascript单独在底部中心显示祝酒词:

$mdToast.show(
  $mdToast.simple()
    .textContent('Simple lala Toast!')
    .position('bottom')

并且toast将在底部居中并使用正确的动画来显示它.

着色吐司

你为吐司的容器着色而不是吐司的实际内容.要为toast着色,可以添加以下css样式:

md-toast.md-success-toast-theme .md-toast-content {
  background-color: green;
}

您可以更改toast的主题以不覆盖默认的Toast样式.此外,更改特定主题的位置可以帮助同时使用这两个位置(默认和手动)(通过更改主题).

md-toast.md-thatkookooguy-toast-theme {
  left: calc(50vw - 150px);
}

这是一个有效的FORK for codepen.



1> Thatkookoogu..:
定位吐司

您可以只将md-toast位置放在正确的位置,而不是给所有东西(切割你的吐司)一个位置.

通过文档,您可以正式放置吐司的四个位置:左上角,右上角,左下角,右下角.所以,首先,让我们将吐司放在左上角(这对于动画的变化非常重要.此外,这将允许我们在底部中心显示祝酒词).

$mdToast.show(
  $mdToast.simple()
    .textContent('Simple lala Toast!')
    .position('top')

现在,在css中,只需定位你的吐司:

md-toast {
  left: calc(50vw - 150px);
}

这将把吐司定位在视口的中心,减去吐司的一半.

你也可以通过javascript单独在底部中心显示祝酒词:

$mdToast.show(
  $mdToast.simple()
    .textContent('Simple lala Toast!')
    .position('bottom')

并且toast将在底部居中并使用正确的动画来显示它.

着色吐司

你为吐司的容器着色而不是吐司的实际内容.要为toast着色,可以添加以下css样式:

md-toast.md-success-toast-theme .md-toast-content {
  background-color: green;
}

您可以更改toast的主题以不覆盖默认的Toast样式.此外,更改特定主题的位置可以帮助同时使用这两个位置(默认和手动)(通过更改主题).

md-toast.md-thatkookooguy-toast-theme {
  left: calc(50vw - 150px);
}

这是一个有效的FORK for codepen.



2> 小智..:

使用时

$mdToast.simple().theme('sometheme');

控制台中发生了一个警告,指出尚未定义指定的主题.更好的是使用toastClass属性.

var message = "An error occured!";
$mdToast.show($mdToast.simple({
  hideDelay: 126000,
  position: 'top right',
  content: message,
  toastClass: 'error'
}));

SCSS:

$red: rgb(244, 67, 54);
$green: rgb(76, 175, 80);

md-toast {
  &.error {
    .md-toast-content {
      background: $red;
      color: white;
    }
  }
  &.success {
    .md-toast-content {
      background: $green;
      color: white;
    }
  }
}

工作示例Codepen


Downvoter,关注评论?对于那些不想进入主题世界的人来说,这对我来说似乎是一个可行的解决方案.
推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有