dropdown.scss 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. @import "mixins/mixins";
  2. @import "common/var";
  3. @import "button";
  4. @import "./popper";
  5. @include b(dropdown) {
  6. display: inline-block;
  7. position: relative;
  8. color: $--color-text-regular;
  9. font-size: $--font-size-base;
  10. .el-button-group {
  11. display: block;
  12. .el-button {
  13. float: none;
  14. }
  15. }
  16. & .el-dropdown__caret-button {
  17. padding-left: 5px;
  18. padding-right: 5px;
  19. position: relative;
  20. border-left: none;
  21. &::before {
  22. $gap: 5px;
  23. content: '';
  24. position: absolute;
  25. display: block;
  26. width: 1px;
  27. top: $gap;
  28. bottom: $gap;
  29. left: 0;
  30. background: mix(white, transparent, 50%);
  31. }
  32. &.el-button--default::before {
  33. background: mix($--button-default-border-color, transparent, 50%);
  34. }
  35. &:hover {
  36. &:not(.is-disabled)::before {
  37. top: 0;
  38. bottom: 0;
  39. }
  40. }
  41. & .el-dropdown__icon {
  42. padding-left: 0;
  43. }
  44. }
  45. @include e(icon) {
  46. font-size: 12px;
  47. margin: 0 3px;
  48. }
  49. .el-dropdown-selfdefine { // 自定义
  50. &:focus:active, &:focus:not(.focusing) {
  51. outline-width: 0;
  52. }
  53. }
  54. [disabled] {
  55. cursor: not-allowed;
  56. color: $--font-color-disabled-base;
  57. }
  58. }
  59. @include b(dropdown-menu) {
  60. position: absolute;
  61. top: 0;
  62. left: 0;
  63. z-index: 10;
  64. padding: 10px 0;
  65. margin: 5px 0;
  66. background-color: $--color-white;
  67. border: 1px solid $--border-color-lighter;
  68. border-radius: $--border-radius-base;
  69. box-shadow: $--dropdown-menu-box-shadow;
  70. @include e(item) {
  71. list-style: none;
  72. line-height: 36px;
  73. padding: 0 20px;
  74. margin: 0;
  75. font-size: $--font-size-base;
  76. color: $--color-text-regular;
  77. cursor: pointer;
  78. outline: none;
  79. &:not(.is-disabled):hover, &:focus {
  80. background-color: $--dropdown-menuItem-hover-fill;
  81. color: $--dropdown-menuItem-hover-color;
  82. }
  83. i {
  84. margin-right: 5px;
  85. }
  86. @include m(divided) {
  87. $divided-offset: 6px;
  88. position: relative;
  89. margin-top: $divided-offset;
  90. border-top: 1px solid $--border-color-lighter;
  91. &:before {
  92. content: '';
  93. height: $divided-offset;
  94. display: block;
  95. margin: 0 -20px;
  96. background-color: $--color-white;
  97. }
  98. }
  99. @include when(disabled) {
  100. cursor: default;
  101. color: $--font-color-disabled-base;
  102. pointer-events: none;
  103. }
  104. }
  105. @include m(medium) {
  106. padding: 6px 0;
  107. @include e(item) {
  108. line-height: 30px;
  109. padding: 0 17px;
  110. font-size: 14px;
  111. &.el-dropdown-menu__item--divided {
  112. $divided-offset: 6px;
  113. margin-top: $divided-offset;
  114. &:before {
  115. height: $divided-offset;
  116. margin: 0 -17px;
  117. }
  118. }
  119. }
  120. }
  121. @include m(small) {
  122. padding: 6px 0;
  123. @include e(item) {
  124. line-height: 27px;
  125. padding: 0 15px;
  126. font-size: 13px;
  127. &.el-dropdown-menu__item--divided {
  128. $divided-offset: 4px;
  129. margin-top: $divided-offset;
  130. &:before {
  131. height: $divided-offset;
  132. margin: 0 -15px;
  133. }
  134. }
  135. }
  136. }
  137. @include m(mini) {
  138. padding: 3px 0;
  139. @include e(item) {
  140. line-height: 24px;
  141. padding: 0 10px;
  142. font-size: 12px;
  143. &.el-dropdown-menu__item--divided {
  144. $divided-offset: 3px;
  145. margin-top: $divided-offset;
  146. &:before {
  147. height: $divided-offset;
  148. margin: 0 -10px;
  149. }
  150. }
  151. }
  152. }
  153. }