pager.scss 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. /**Variable**/
  2. @import './helpers/mixin.scss';
  3. /*pager*/
  4. .vxe-pager {
  5. position: relative;
  6. display: flex;
  7. align-items: center;
  8. color: $vxe-font-color;
  9. font-family: $vxe-font-family;
  10. text-align: right;
  11. background-color: $vxe-pager-background-color;
  12. &.is--hidden {
  13. display: none;
  14. }
  15. &.align--left {
  16. text-align: left;
  17. }
  18. &.align--center {
  19. text-align: center;
  20. }
  21. &.is--loading {
  22. &:after {
  23. content: "";
  24. position: absolute;
  25. top: 0;
  26. left: 0;
  27. width: 100%;
  28. height: 100%;
  29. z-index: $vxe-loading-z-index;
  30. user-select: none;
  31. background-color: $vxe-loading-background-color;
  32. }
  33. }
  34. .vxe-pager--prev-btn,
  35. .vxe-pager--next-btn,
  36. .vxe-pager--num-btn,
  37. .vxe-pager--jump-prev,
  38. .vxe-pager--jump-next {
  39. color: inherit;
  40. outline: 0;
  41. padding: 0;
  42. border: 1px solid transparent;
  43. &:not(.is--disabled) {
  44. &:focus {
  45. box-shadow: 0 0 0.25em 0 $vxe-primary-color;
  46. }
  47. &:hover {
  48. color: lighten($vxe-primary-color, 6%);
  49. }
  50. &:active {
  51. background-color: darken($vxe-button-default-background-color, 3%);
  52. }
  53. }
  54. }
  55. &.is--border,
  56. &.is--perfect {
  57. &:not(.is--background) {
  58. .vxe-pager--prev-btn,
  59. .vxe-pager--next-btn,
  60. .vxe-pager--num-btn,
  61. .vxe-pager--jump-prev,
  62. .vxe-pager--jump-next {
  63. border-color: $vxe-input-border-color;
  64. }
  65. }
  66. }
  67. &.is--background,
  68. &.is--perfect {
  69. .vxe-pager--prev-btn,
  70. .vxe-pager--next-btn,
  71. .vxe-pager--jump-prev,
  72. .vxe-pager--num-btn,
  73. .vxe-pager--jump-next {
  74. background-color: $vxe-pager-perfect-button-background-color;
  75. }
  76. .vxe-pager--jump-prev,
  77. .vxe-pager--num-btn,
  78. .vxe-pager--jump-next {
  79. &:not(.is--disabled) {
  80. &.is--active {
  81. color: #fff;
  82. background-color: $vxe-primary-color;
  83. &:hover {
  84. background-color: lighten($vxe-primary-color, 6%);
  85. }
  86. &:focus {
  87. border-color: $vxe-primary-color;
  88. }
  89. &:active {
  90. border-color: darken($vxe-primary-color, 3%);
  91. background-color: darken($vxe-primary-color, 3%);
  92. }
  93. }
  94. }
  95. }
  96. }
  97. &.is--perfect {
  98. border: 1px solid $vxe-table-border-color;
  99. border-top-width: 0;
  100. background-color: $vxe-pager-perfect-background-color;
  101. }
  102. &.is--border {
  103. .vxe-pager--num-btn {
  104. &.is--active {
  105. border-color: $vxe-primary-color;
  106. }
  107. }
  108. }
  109. .vxe-pager--wrapper {
  110. flex-grow: 1;
  111. }
  112. .vxe-pager--jump-icon,
  113. .vxe-pager--btn-icon {
  114. position: absolute;
  115. top: 50%;
  116. left: 50%;
  117. transform: translate(-50%, -50%);
  118. }
  119. .vxe-pager--left-wrapper,
  120. .vxe-pager--right-wrapper,
  121. .vxe-pager--total,
  122. .vxe-pager--prev-btn,
  123. .vxe-pager--next-btn,
  124. .vxe-pager--jump,
  125. .vxe-pager--jump-prev,
  126. .vxe-pager--jump-next,
  127. .vxe-pager--count,
  128. .vxe-pager--sizes {
  129. margin: 0 0.4em;
  130. vertical-align: middle;
  131. display: inline-block;
  132. }
  133. .vxe-pager--prev-btn,
  134. .vxe-pager--jump-prev,
  135. .vxe-pager--num-btn,
  136. .vxe-pager--jump-next,
  137. .vxe-pager--next-btn {
  138. position: relative;
  139. cursor: pointer;
  140. }
  141. .vxe-pager--left-wrapper,
  142. .vxe-pager--right-wrapper,
  143. .vxe-pager--count,
  144. .vxe-pager--prev-btn,
  145. .vxe-pager--next-btn,
  146. .vxe-pager--jump-prev,
  147. .vxe-pager--num-btn,
  148. .vxe-pager--jump-next {
  149. height: 2.15em;
  150. line-height: 2em;
  151. display: inline-block;
  152. }
  153. .vxe-pager--jump .vxe-pager--goto,
  154. .vxe-pager--sizes > .vxe-input {
  155. height: 2.15em;
  156. line-height: 2.15em;
  157. }
  158. .vxe-pager--sizes > .vxe-select--panel .vxe-select-option {
  159. text-align: center;
  160. }
  161. .vxe-pager--jump-prev,
  162. .vxe-pager--prev-btn,
  163. .vxe-pager--next-btn,
  164. .vxe-pager--jump-next,
  165. .vxe-pager--num-btn,
  166. .vxe-pager--count {
  167. min-width: 2.15em;
  168. }
  169. .vxe-pager--btn-wrapper {
  170. padding: 0;
  171. margin: 0;
  172. display: inline-block;
  173. text-align: center;
  174. .vxe-pager--jump-prev,
  175. .vxe-pager--jump-next {
  176. &:hover {
  177. .vxe-pager--jump-more-icon {
  178. display: none;
  179. }
  180. .vxe-pager--jump-icon {
  181. display: inline-block;
  182. }
  183. }
  184. }
  185. .vxe-pager--jump-icon {
  186. display: none;
  187. }
  188. }
  189. .vxe-pager--jump-prev,
  190. .vxe-pager--prev-btn,
  191. .vxe-pager--next-btn,
  192. .vxe-pager--jump-next,
  193. .vxe-pager--num-btn {
  194. text-align: center;
  195. border-radius: $vxe-border-radius;
  196. margin: 0 0.25em;
  197. user-select: none;
  198. background-color: $vxe-pager-background-color;
  199. &:not(.is--disabled) {
  200. &:hover {
  201. color: lighten($vxe-primary-color, 6%);
  202. }
  203. &.is--active,
  204. &:focus {
  205. color: $vxe-primary-color;
  206. }
  207. &:active {
  208. color: darken($vxe-primary-color, 3%);
  209. }
  210. }
  211. &.is--disabled {
  212. cursor: no-drop;
  213. color: $vxe-disabled-color;
  214. &:hover {
  215. color: $vxe-disabled-color;
  216. }
  217. }
  218. }
  219. .vxe-pager--num-btn {
  220. vertical-align: middle;
  221. &.is--active {
  222. font-weight: 700;
  223. }
  224. }
  225. .vxe-pager--sizes {
  226. width: 7em;
  227. text-align: center;
  228. cursor: pointer;
  229. & .vxe-input--inner {
  230. text-align: center;
  231. }
  232. }
  233. .vxe-pager--count {
  234. text-align: center;
  235. & > span {
  236. vertical-align: middle;
  237. }
  238. .vxe-pager--separator {
  239. margin-right: 0.2em;
  240. &:before {
  241. content: "/";
  242. }
  243. }
  244. }
  245. .vxe-pager--jump .vxe-pager--goto {
  246. border-radius: $vxe-border-radius;
  247. border: 1px solid $vxe-input-border-color;
  248. color: $vxe-font-color;
  249. transition: border .2s ease-in-out;
  250. padding: 0 0.4em;
  251. background-color: $vxe-input-background-color;
  252. &:focus {
  253. border: 1px solid $vxe-primary-color;
  254. outline: 0;
  255. }
  256. }
  257. .vxe-pager--jump {
  258. .vxe-pager--goto-text {
  259. margin-right: 0.25em;
  260. }
  261. .vxe-pager--classifier-text {
  262. margin-left: 0.25em;
  263. }
  264. .vxe-pager--goto {
  265. width: 3.2em;
  266. text-align: center;
  267. }
  268. }
  269. }
  270. .vxe-pager {
  271. font-size: $vxe-font-size;
  272. height: $vxe-table-row-height-default;
  273. &.size--medium {
  274. font-size: $vxe-font-size-medium;
  275. height: $vxe-table-row-height-medium;
  276. }
  277. &.size--small {
  278. font-size: $vxe-font-size-small;
  279. height: $vxe-table-row-height-small;
  280. }
  281. &.size--mini {
  282. font-size: $vxe-font-size-mini;
  283. height: $vxe-table-row-height-mini;
  284. }
  285. }