index.less 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. @import '../../style/themes/index';
  2. @import '../../style/mixins/index';
  3. @import '../../input/style/mixin';
  4. @pagination-prefix-cls: ~'@{ant-prefix}-pagination';
  5. .@{pagination-prefix-cls} {
  6. .reset-component();
  7. ul,
  8. ol {
  9. margin: 0;
  10. padding: 0;
  11. list-style: none;
  12. }
  13. &::after {
  14. display: block;
  15. clear: both;
  16. height: 0;
  17. overflow: hidden;
  18. visibility: hidden;
  19. content: ' ';
  20. }
  21. &-total-text {
  22. display: inline-block;
  23. height: @pagination-item-size;
  24. margin-right: 8px;
  25. line-height: @pagination-item-size - 2px;
  26. vertical-align: middle;
  27. }
  28. &-item {
  29. display: inline-block;
  30. min-width: @pagination-item-size;
  31. height: @pagination-item-size;
  32. margin-right: 8px;
  33. font-family: @pagination-font-family;
  34. line-height: @pagination-item-size - 2px;
  35. text-align: center;
  36. vertical-align: middle;
  37. list-style: none;
  38. background-color: @pagination-item-bg;
  39. border: @border-width-base @border-style-base @border-color-base;
  40. border-radius: @border-radius-base;
  41. outline: 0;
  42. cursor: pointer;
  43. user-select: none;
  44. a {
  45. display: block;
  46. padding: 0 6px;
  47. color: @text-color;
  48. transition: none;
  49. &:hover {
  50. text-decoration: none;
  51. }
  52. }
  53. &:hover {
  54. border-color: @primary-color;
  55. transition: all 0.3s;
  56. a {
  57. color: @primary-color;
  58. }
  59. }
  60. // cannot merge with `&:hover`
  61. // see https://github.com/ant-design/ant-design/pull/34002
  62. &:focus-visible {
  63. border-color: @primary-color;
  64. transition: all 0.3s;
  65. a {
  66. color: @primary-color;
  67. }
  68. }
  69. &-active {
  70. font-weight: @pagination-font-weight-active;
  71. background: @pagination-item-bg-active;
  72. border-color: @primary-color;
  73. a {
  74. color: @primary-color;
  75. }
  76. &:hover {
  77. border-color: @primary-5;
  78. }
  79. &:focus-visible {
  80. border-color: @primary-5;
  81. }
  82. &:hover a {
  83. color: @primary-5;
  84. }
  85. &:focus-visible a {
  86. color: @primary-5;
  87. }
  88. }
  89. }
  90. &-jump-prev,
  91. &-jump-next {
  92. outline: 0;
  93. .@{pagination-prefix-cls}-item-container {
  94. position: relative;
  95. .@{pagination-prefix-cls}-item-link-icon {
  96. color: @primary-color;
  97. font-size: @font-size-sm;
  98. letter-spacing: -1px;
  99. opacity: 0;
  100. transition: all 0.2s;
  101. &-svg {
  102. top: 0;
  103. right: 0;
  104. bottom: 0;
  105. left: 0;
  106. margin: auto;
  107. }
  108. }
  109. .@{pagination-prefix-cls}-item-ellipsis {
  110. position: absolute;
  111. top: 0;
  112. right: 0;
  113. bottom: 0;
  114. left: 0;
  115. display: block;
  116. margin: auto;
  117. color: @disabled-color;
  118. font-family: Arial, Helvetica, sans-serif;
  119. letter-spacing: 2px;
  120. text-align: center;
  121. text-indent: 0.13em;
  122. opacity: 1;
  123. transition: all 0.2s;
  124. }
  125. }
  126. &:hover {
  127. .@{pagination-prefix-cls}-item-link-icon {
  128. opacity: 1;
  129. }
  130. .@{pagination-prefix-cls}-item-ellipsis {
  131. opacity: 0;
  132. }
  133. }
  134. &:focus-visible {
  135. .@{pagination-prefix-cls}-item-link-icon {
  136. opacity: 1;
  137. }
  138. .@{pagination-prefix-cls}-item-ellipsis {
  139. opacity: 0;
  140. }
  141. }
  142. }
  143. &-prev,
  144. &-jump-prev,
  145. &-jump-next {
  146. margin-right: 8px;
  147. }
  148. &-prev,
  149. &-next,
  150. &-jump-prev,
  151. &-jump-next {
  152. display: inline-block;
  153. min-width: @pagination-item-size;
  154. height: @pagination-item-size;
  155. color: @text-color;
  156. font-family: @pagination-font-family;
  157. line-height: @pagination-item-size;
  158. text-align: center;
  159. vertical-align: middle;
  160. list-style: none;
  161. border-radius: @border-radius-base;
  162. cursor: pointer;
  163. transition: all 0.3s;
  164. }
  165. &-prev,
  166. &-next {
  167. font-family: Arial, Helvetica, sans-serif;
  168. outline: 0;
  169. button {
  170. color: @text-color;
  171. cursor: pointer;
  172. user-select: none;
  173. }
  174. &:hover button {
  175. border-color: @primary-5;
  176. }
  177. .@{pagination-prefix-cls}-item-link {
  178. display: block;
  179. width: 100%;
  180. height: 100%;
  181. padding: 0;
  182. font-size: 12px;
  183. text-align: center;
  184. background-color: @pagination-item-link-bg;
  185. border: @border-width-base @border-style-base @border-color-base;
  186. border-radius: @border-radius-base;
  187. outline: none;
  188. transition: all 0.3s;
  189. }
  190. &:focus-visible .@{pagination-prefix-cls}-item-link {
  191. color: @primary-color;
  192. border-color: @primary-color;
  193. }
  194. &:hover .@{pagination-prefix-cls}-item-link {
  195. color: @primary-color;
  196. border-color: @primary-color;
  197. }
  198. }
  199. &-disabled {
  200. &,
  201. &:hover {
  202. cursor: not-allowed;
  203. .@{pagination-prefix-cls}-item-link {
  204. color: @disabled-color;
  205. border-color: @border-color-base;
  206. cursor: not-allowed;
  207. }
  208. }
  209. &:focus-visible {
  210. cursor: not-allowed;
  211. .@{pagination-prefix-cls}-item-link {
  212. color: @disabled-color;
  213. border-color: @border-color-base;
  214. cursor: not-allowed;
  215. }
  216. }
  217. }
  218. &-slash {
  219. margin: 0 10px 0 5px;
  220. }
  221. &-options {
  222. display: inline-block;
  223. margin-left: 16px;
  224. vertical-align: middle;
  225. // IE11 css hack. `*::-ms-backdrop,` is a must have
  226. @media all and (-ms-high-contrast: none) {
  227. *::-ms-backdrop,
  228. & {
  229. vertical-align: top;
  230. }
  231. }
  232. &-size-changer.@{ant-prefix}-select {
  233. display: inline-block;
  234. width: auto;
  235. }
  236. &-quick-jumper {
  237. display: inline-block;
  238. height: @input-height-base;
  239. margin-left: @margin-xs;
  240. line-height: @input-height-base;
  241. vertical-align: top;
  242. input {
  243. .input();
  244. width: 50px;
  245. height: @input-height-base;
  246. margin: 0 8px;
  247. }
  248. }
  249. }
  250. &-simple &-prev,
  251. &-simple &-next {
  252. height: @pagination-item-size-sm;
  253. line-height: @pagination-item-size-sm;
  254. vertical-align: top;
  255. .@{pagination-prefix-cls}-item-link {
  256. height: @pagination-item-size-sm;
  257. background-color: transparent;
  258. border: 0;
  259. &::after {
  260. height: @pagination-item-size-sm;
  261. line-height: @pagination-item-size-sm;
  262. }
  263. }
  264. }
  265. &-simple &-simple-pager {
  266. display: inline-block;
  267. height: @pagination-item-size-sm;
  268. margin-right: 8px;
  269. input {
  270. box-sizing: border-box;
  271. height: 100%;
  272. margin-right: 8px;
  273. padding: 0 6px;
  274. text-align: center;
  275. background-color: @pagination-item-input-bg;
  276. border: @border-width-base @border-style-base @border-color-base;
  277. border-radius: @border-radius-base;
  278. outline: none;
  279. transition: border-color 0.3s;
  280. &:hover {
  281. border-color: @primary-color;
  282. }
  283. &:focus {
  284. border-color: @primary-color-hover;
  285. box-shadow: @input-outline-offset @outline-blur-size @outline-width @primary-color-outline;
  286. }
  287. &[disabled] {
  288. color: @disabled-color;
  289. background: @disabled-bg;
  290. border-color: @border-color-base;
  291. cursor: not-allowed;
  292. }
  293. }
  294. }
  295. &&-mini &-total-text,
  296. &&-mini &-simple-pager {
  297. height: @pagination-item-size-sm;
  298. line-height: @pagination-item-size-sm;
  299. }
  300. &&-mini &-item {
  301. min-width: @pagination-item-size-sm;
  302. height: @pagination-item-size-sm;
  303. margin: 0;
  304. line-height: @pagination-item-size-sm - 2px;
  305. }
  306. &&-mini &-item:not(&-item-active) {
  307. background: transparent;
  308. border-color: transparent;
  309. }
  310. &&-mini &-prev,
  311. &&-mini &-next {
  312. min-width: @pagination-item-size-sm;
  313. height: @pagination-item-size-sm;
  314. margin: 0;
  315. line-height: @pagination-item-size-sm;
  316. }
  317. &&-mini &-prev &-item-link,
  318. &&-mini &-next &-item-link {
  319. background: transparent;
  320. border-color: transparent;
  321. &::after {
  322. height: @pagination-item-size-sm;
  323. line-height: @pagination-item-size-sm;
  324. }
  325. }
  326. &&-mini &-jump-prev,
  327. &&-mini &-jump-next {
  328. height: @pagination-item-size-sm;
  329. margin-right: 0;
  330. line-height: @pagination-item-size-sm;
  331. }
  332. &&-mini &-options {
  333. margin-left: 2px;
  334. &-size-changer {
  335. top: @pagination-mini-options-size-changer-top;
  336. }
  337. &-quick-jumper {
  338. height: @pagination-item-size-sm;
  339. line-height: @pagination-item-size-sm;
  340. input {
  341. .input-sm();
  342. width: 44px;
  343. height: @input-height-sm;
  344. }
  345. }
  346. }
  347. // ============================ Disabled ============================
  348. &&-disabled {
  349. cursor: not-allowed;
  350. .@{pagination-prefix-cls}-item {
  351. background: @disabled-bg;
  352. border-color: @border-color-base;
  353. cursor: not-allowed;
  354. a {
  355. color: @disabled-color;
  356. background: transparent;
  357. border: none;
  358. cursor: not-allowed;
  359. }
  360. &-active {
  361. background: @pagination-item-disabled-bg-active;
  362. a {
  363. color: @pagination-item-disabled-color-active;
  364. }
  365. }
  366. }
  367. .@{pagination-prefix-cls}-item-link {
  368. color: @disabled-color;
  369. background: @disabled-bg;
  370. border-color: @border-color-base;
  371. cursor: not-allowed;
  372. .@{pagination-prefix-cls}-simple& {
  373. background: transparent;
  374. }
  375. }
  376. .@{pagination-prefix-cls}-item-link-icon {
  377. opacity: 0;
  378. }
  379. .@{pagination-prefix-cls}-item-ellipsis {
  380. opacity: 1;
  381. }
  382. .@{pagination-prefix-cls}-simple-pager {
  383. color: @disabled-color;
  384. }
  385. }
  386. }
  387. @media only screen and (max-width: @screen-lg) {
  388. .@{pagination-prefix-cls}-item {
  389. &-after-jump-prev,
  390. &-before-jump-next {
  391. display: none;
  392. }
  393. }
  394. }
  395. @media only screen and (max-width: @screen-sm) {
  396. .@{pagination-prefix-cls}-options {
  397. display: none;
  398. }
  399. }
  400. @import './rtl';