dropdown.scss 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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. &::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. }
  55. @include b(dropdown-menu) {
  56. position: absolute;
  57. top: 0;
  58. left: 0;
  59. z-index: 10;
  60. padding: 10px 0;
  61. margin: 5px 0;
  62. background-color: $--color-white;
  63. border: 1px solid $--border-color-lighter;
  64. border-radius: $--border-radius-base;
  65. box-shadow: $--dropdown-menu-box-shadow;
  66. @include e(item) {
  67. list-style: none;
  68. line-height: 36px;
  69. padding: 0 20px;
  70. margin: 0;
  71. font-size: $--font-size-base;
  72. color: $--color-text-regular;
  73. cursor: pointer;
  74. outline: none;
  75. &:not(.is-disabled):hover, &:focus {
  76. background-color: $--dropdown-menuItem-hover-fill;
  77. color: $--dropdown-menuItem-hover-color;
  78. }
  79. i {
  80. margin-right: 5px;
  81. }
  82. @include m(divided) {
  83. $divided-offset: 6px;
  84. position: relative;
  85. margin-top: $divided-offset;
  86. border-top: 1px solid $--border-color-lighter;
  87. &:before {
  88. content: '';
  89. height: $divided-offset;
  90. display: block;
  91. margin: 0 -20px;
  92. background-color: $--color-white;
  93. }
  94. }
  95. @include when(disabled) {
  96. cursor: default;
  97. color: $--font-color-disabled-base;
  98. pointer-events: none;
  99. }
  100. }
  101. @include m(medium) {
  102. padding: 6px 0;
  103. @include e(item) {
  104. line-height: 30px;
  105. padding: 0 17px;
  106. font-size: 14px;
  107. &.el-dropdown-menu__item--divided {
  108. $divided-offset: 6px;
  109. margin-top: $divided-offset;
  110. &:before {
  111. height: $divided-offset;
  112. margin: 0 -17px;
  113. }
  114. }
  115. }
  116. }
  117. @include m(small) {
  118. padding: 6px 0;
  119. @include e(item) {
  120. line-height: 27px;
  121. padding: 0 15px;
  122. font-size: 13px;
  123. &.el-dropdown-menu__item--divided {
  124. $divided-offset: 4px;
  125. margin-top: $divided-offset;
  126. &:before {
  127. height: $divided-offset;
  128. margin: 0 -15px;
  129. }
  130. }
  131. }
  132. }
  133. @include m(mini) {
  134. padding: 3px 0;
  135. @include e(item) {
  136. line-height: 24px;
  137. padding: 0 10px;
  138. font-size: 12px;
  139. &.el-dropdown-menu__item--divided {
  140. $divided-offset: 3px;
  141. margin-top: $divided-offset;
  142. &:before {
  143. height: $divided-offset;
  144. margin: 0 -10px;
  145. }
  146. }
  147. }
  148. }
  149. }