toaster.css 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. /*
  2. * Toastr
  3. * Version 2.0.1
  4. * Copyright 2012 John Papa and Hans Fjallemark.
  5. * All Rights Reserved.
  6. * Use, reproduction, distribution, and modification of this code is subject to the terms and
  7. * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php
  8. *
  9. * Author: John Papa and Hans Fjallemark
  10. * Project: https://github.com/CodeSeven/toastr
  11. */
  12. .toast-title {
  13. font-weight: bold;
  14. }
  15. .toast-message {
  16. -ms-word-wrap: break-word;
  17. word-wrap: break-word;
  18. }
  19. .toast-message a,
  20. .toast-message label {
  21. color: #ffffff;
  22. }
  23. .toast-message a:hover {
  24. color: #cccccc;
  25. text-decoration: none;
  26. }
  27. .toast-close-button {
  28. position: relative;
  29. right: -0.3em;
  30. top: -0.3em;
  31. float: right;
  32. font-size: 20px;
  33. font-weight: bold;
  34. color: #ffffff;
  35. -webkit-text-shadow: 0 1px 0 #ffffff;
  36. text-shadow: 0 1px 0 #ffffff;
  37. opacity: 0.8;
  38. -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  39. filter: alpha(opacity=80);
  40. }
  41. .toast-close-button:hover,
  42. .toast-close-button:focus {
  43. color: #000000;
  44. text-decoration: none;
  45. cursor: pointer;
  46. opacity: 0.4;
  47. -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
  48. filter: alpha(opacity=40);
  49. }
  50. /*Additional properties for button version
  51. iOS requires the button element instead of an anchor tag.
  52. If you want the anchor version, it requires `href="#"`.*/
  53. button.toast-close-button {
  54. padding: 0;
  55. cursor: pointer;
  56. background: transparent;
  57. border: 0;
  58. -webkit-appearance: none;
  59. }
  60. .toast-top-full-width {
  61. top: 0;
  62. right: 0;
  63. width: 100%;
  64. }
  65. .toast-bottom-full-width {
  66. bottom: 0;
  67. right: 0;
  68. width: 100%;
  69. }
  70. .toast-top-left {
  71. top: 12px;
  72. left: 12px;
  73. }
  74. .toast-top-center {
  75. top: 12px;
  76. }
  77. .toast-top-right {
  78. top: 12px;
  79. right: 12px;
  80. }
  81. .toast-bottom-right {
  82. right: 12px;
  83. bottom: 12px;
  84. }
  85. .toast-bottom-center {
  86. bottom: 12px;
  87. }
  88. .toast-bottom-left {
  89. bottom: 12px;
  90. left: 12px;
  91. }
  92. .toast-center {
  93. top: 45%;
  94. }
  95. #toast-container {
  96. position: fixed;
  97. z-index: 999999;
  98. pointer-events: auto;
  99. /*overrides*/
  100. }
  101. #toast-container.toast-center,
  102. #toast-container.toast-top-center,
  103. #toast-container.toast-bottom-center{
  104. width: 100%;
  105. pointer-events: none;
  106. }
  107. #toast-container.toast-center > div,
  108. #toast-container.toast-top-center > div,
  109. #toast-container.toast-bottom-center > div{
  110. margin: auto;
  111. pointer-events: auto;
  112. }
  113. #toast-container.toast-center > button,
  114. #toast-container.toast-top-center > button,
  115. #toast-container.toast-bottom-center > button{
  116. pointer-events: auto;
  117. }
  118. #toast-container * {
  119. -moz-box-sizing: border-box;
  120. -webkit-box-sizing: border-box;
  121. box-sizing: border-box;
  122. }
  123. #toast-container > div {
  124. margin: 0 0 6px;
  125. padding: 15px 15px 15px 50px;
  126. width: 300px;
  127. -moz-border-radius: 3px 3px 3px 3px;
  128. -webkit-border-radius: 3px 3px 3px 3px;
  129. border-radius: 3px 3px 3px 3px;
  130. background-position: 15px center;
  131. background-repeat: no-repeat;
  132. -moz-box-shadow: 0 0 12px #999999;
  133. -webkit-box-shadow: 0 0 12px #999999;
  134. box-shadow: 0 0 12px #999999;
  135. color: #ffffff;
  136. opacity: 0.8;
  137. -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  138. filter: alpha(opacity=80);
  139. }
  140. #toast-container > :hover {
  141. -moz-box-shadow: 0 0 12px #000000;
  142. -webkit-box-shadow: 0 0 12px #000000;
  143. box-shadow: 0 0 12px #000000;
  144. opacity: 1;
  145. -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  146. filter: alpha(opacity=100);
  147. cursor: pointer;
  148. }
  149. #toast-container > .toast-info {
  150. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
  151. }
  152. #toast-container > .toast-wait {
  153. background-image: url("data:image/gif;base64,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") !important;
  154. }
  155. #toast-container > .toast-error {
  156. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
  157. }
  158. #toast-container > .toast-success {
  159. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
  160. }
  161. #toast-container > .toast-warning {
  162. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
  163. }
  164. #toast-container.toast-top-full-width > div,
  165. #toast-container.toast-bottom-full-width > div {
  166. width: 96%;
  167. margin: auto;
  168. }
  169. .toast {
  170. background-color: #030303;
  171. }
  172. .toast-success {
  173. background-color: #51a351;
  174. }
  175. .toast-error {
  176. background-color: #bd362f;
  177. }
  178. .toast-info {
  179. background-color: #2f96b4;
  180. }
  181. .toast-wait {
  182. background-color: #2f96b4;
  183. }
  184. .toast-warning {
  185. background-color: #f89406;
  186. }
  187. /*Responsive Design*/
  188. @media all and (max-width: 240px) {
  189. #toast-container > div {
  190. padding: 8px 8px 8px 50px;
  191. width: 11em;
  192. }
  193. #toast-container .toast-close-button {
  194. right: -0.2em;
  195. top: -0.2em;
  196. }
  197. }
  198. @media all and (min-width: 241px) and (max-width: 480px) {
  199. #toast-container > div {
  200. padding: 8px 8px 8px 50px;
  201. width: 18em;
  202. }
  203. #toast-container .toast-close-button {
  204. right: -0.2em;
  205. top: -0.2em;
  206. }
  207. }
  208. @media all and (min-width: 481px) and (max-width: 768px) {
  209. #toast-container > div {
  210. padding: 15px 15px 15px 50px;
  211. width: 25em;
  212. }
  213. }
  214. /*
  215. * AngularJS-Toaster
  216. * Version 0.3
  217. */
  218. :not(.no-enter)#toast-container > div.ng-enter,
  219. :not(.no-leave)#toast-container > div.ng-leave
  220. {
  221. -webkit-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
  222. -moz-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
  223. -ms-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
  224. -o-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
  225. transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;
  226. }
  227. :not(.no-enter)#toast-container > div.ng-enter.ng-enter-active,
  228. :not(.no-leave)#toast-container > div.ng-leave {
  229. opacity: 0.8;
  230. }
  231. :not(.no-leave)#toast-container > div.ng-leave.ng-leave-active,
  232. :not(.no-enter)#toast-container > div.ng-enter {
  233. opacity: 0;
  234. }