pager.scss 6.2 KB

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