ribbon.less 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. @import '../../style/themes/index';
  2. @import '../../style/mixins/index';
  3. @ribbon-prefix-cls: ~'@{ant-prefix}-ribbon';
  4. @ribbon-wrapper-prefix-cls: ~'@{ant-prefix}-ribbon-wrapper';
  5. .@{ribbon-wrapper-prefix-cls} {
  6. position: relative;
  7. }
  8. .@{ribbon-prefix-cls} {
  9. .reset-component();
  10. position: absolute;
  11. top: 8px;
  12. height: 22px;
  13. padding: 0 8px;
  14. color: @badge-text-color;
  15. line-height: 22px;
  16. white-space: nowrap;
  17. background-color: @primary-color;
  18. border-radius: @border-radius-sm;
  19. &-text {
  20. color: @white;
  21. }
  22. &-corner {
  23. position: absolute;
  24. top: 100%;
  25. width: 8px;
  26. height: 8px;
  27. color: currentcolor;
  28. border: 4px solid;
  29. transform: scaleY(0.75);
  30. transform-origin: top;
  31. // If not support IE 11, use filter: brightness(75%) instead
  32. &::after {
  33. position: absolute;
  34. top: -4px;
  35. left: -4px;
  36. width: inherit;
  37. height: inherit;
  38. color: rgba(0, 0, 0, 0.25);
  39. border: inherit;
  40. content: '';
  41. }
  42. }
  43. // colors
  44. // mixin to iterate over colors and create CSS class for each one
  45. .make-color-classes(@i: length(@preset-colors)) when (@i > 0) {
  46. .make-color-classes(@i - 1);
  47. @color: extract(@preset-colors, @i);
  48. @darkColor: '@{color}-6';
  49. &-color-@{color} {
  50. color: @@darkColor;
  51. background: @@darkColor;
  52. }
  53. }
  54. .make-color-classes();
  55. // placement
  56. &.@{ribbon-prefix-cls}-placement-end {
  57. right: -8px;
  58. border-bottom-right-radius: 0;
  59. .@{ribbon-prefix-cls}-corner {
  60. right: 0;
  61. border-color: currentcolor transparent transparent currentcolor;
  62. }
  63. }
  64. &.@{ribbon-prefix-cls}-placement-start {
  65. left: -8px;
  66. border-bottom-left-radius: 0;
  67. .@{ribbon-prefix-cls}-corner {
  68. left: 0;
  69. border-color: currentcolor currentcolor transparent transparent;
  70. }
  71. }
  72. }