pager.scss 6.3 KB

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