rc-cascader.scss 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. .rc-cascader {
  2. font-size: 12px;
  3. }
  4. .rc-cascader-menus {
  5. font-size: 12px;
  6. overflow: hidden;
  7. background: $panel-bg;
  8. position: absolute;
  9. border: $panel-border;
  10. border-radius: $border-radius;
  11. box-shadow: $typeahead-shadow;
  12. white-space: nowrap;
  13. }
  14. .rc-cascader-menus-hidden {
  15. display: none;
  16. }
  17. .rc-cascader-menus.slide-up-enter,
  18. .rc-cascader-menus.slide-up-appear {
  19. animation-duration: 0.3s;
  20. animation-fill-mode: both;
  21. transform-origin: 0 0;
  22. opacity: 0;
  23. animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
  24. animation-play-state: paused;
  25. }
  26. .rc-cascader-menus.slide-up-leave {
  27. animation-duration: 0.3s;
  28. animation-fill-mode: both;
  29. transform-origin: 0 0;
  30. opacity: 1;
  31. animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
  32. animation-play-state: paused;
  33. }
  34. .rc-cascader-menus.slide-up-enter.slide-up-enter-active.rc-cascader-menus-placement-bottomLeft,
  35. .rc-cascader-menus.slide-up-appear.slide-up-appear-active.rc-cascader-menus-placement-bottomLeft {
  36. animation-name: SlideUpIn;
  37. animation-play-state: running;
  38. }
  39. .rc-cascader-menus.slide-up-enter.slide-up-enter-active.rc-cascader-menus-placement-topLeft,
  40. .rc-cascader-menus.slide-up-appear.slide-up-appear-active.rc-cascader-menus-placement-topLeft {
  41. animation-name: SlideDownIn;
  42. animation-play-state: running;
  43. }
  44. .rc-cascader-menus.slide-up-leave.slide-up-leave-active.rc-cascader-menus-placement-bottomLeft {
  45. animation-name: SlideUpOut;
  46. animation-play-state: running;
  47. }
  48. .rc-cascader-menus.slide-up-leave.slide-up-leave-active.rc-cascader-menus-placement-topLeft {
  49. animation-name: SlideDownOut;
  50. animation-play-state: running;
  51. }
  52. .rc-cascader-menu {
  53. display: inline-block;
  54. /* width: 100px; */
  55. max-width: 50vw;
  56. height: 192px;
  57. list-style: none;
  58. margin: 0;
  59. padding: 0;
  60. border-right: $panel-border;
  61. overflow: auto;
  62. }
  63. .rc-cascader-menu:last-child {
  64. border-right: 0;
  65. }
  66. .rc-cascader-menu-item {
  67. height: 32px;
  68. line-height: 32px;
  69. padding: 0 2.5em 0 16px;
  70. cursor: pointer;
  71. white-space: nowrap;
  72. overflow: hidden;
  73. text-overflow: ellipsis;
  74. transition: all 0.3s ease;
  75. position: relative;
  76. }
  77. .rc-cascader-menu-item:hover {
  78. background: $typeahead-selected-bg;
  79. }
  80. .rc-cascader-menu-item-disabled {
  81. cursor: not-allowed;
  82. color: $text-color-weak;
  83. }
  84. .rc-cascader-menu-item-disabled:hover {
  85. background: transparent;
  86. }
  87. .rc-cascader-menu-item-loading:after {
  88. position: absolute;
  89. right: 12px;
  90. content: 'loading';
  91. color: $text-color-weak;
  92. font-style: italic;
  93. }
  94. .rc-cascader-menu-item-active {
  95. color: $typeahead-selected-color;
  96. background: $typeahead-selected-bg;
  97. }
  98. .rc-cascader-menu-item-active:hover {
  99. color: $typeahead-selected-color;
  100. background: $typeahead-selected-bg;
  101. }
  102. .rc-cascader-menu-item-expand {
  103. position: relative;
  104. }
  105. .rc-cascader-menu-item-expand:after {
  106. content: '>';
  107. font-size: 12px;
  108. color: $text-color-weak;
  109. position: absolute;
  110. right: 16px;
  111. line-height: 32px;
  112. }
  113. @keyframes SlideUpIn {
  114. 0% {
  115. opacity: 0;
  116. transform-origin: 0% 0%;
  117. transform: scaleY(0.8);
  118. }
  119. 100% {
  120. opacity: 1;
  121. transform-origin: 0% 0%;
  122. transform: scaleY(1);
  123. }
  124. }
  125. @keyframes SlideUpOut {
  126. 0% {
  127. opacity: 1;
  128. transform-origin: 0% 0%;
  129. transform: scaleY(1);
  130. }
  131. 100% {
  132. opacity: 0;
  133. transform-origin: 0% 0%;
  134. transform: scaleY(0.8);
  135. }
  136. }
  137. @keyframes SlideDownIn {
  138. 0% {
  139. opacity: 0;
  140. transform-origin: 0% 100%;
  141. transform: scaleY(0.8);
  142. }
  143. 100% {
  144. opacity: 1;
  145. transform-origin: 0% 100%;
  146. transform: scaleY(1);
  147. }
  148. }
  149. @keyframes SlideDownOut {
  150. 0% {
  151. opacity: 1;
  152. transform-origin: 0% 100%;
  153. transform: scaleY(1);
  154. }
  155. 100% {
  156. opacity: 0;
  157. transform-origin: 0% 100%;
  158. transform: scaleY(0.8);
  159. }
  160. }