No Description

pagination.scss 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. /* Next/Previous navigation */
  2. // All navigation
  3. .navigation {
  4. color: var(--global--color-primary);
  5. a {
  6. color: var(--global--color-primary);
  7. text-decoration: none;
  8. &:hover {
  9. color: var(--global--color-primary-hover);
  10. text-decoration: underline;
  11. text-decoration-style: dotted;
  12. }
  13. &:focus {
  14. color: var(--global--color-secondary);
  15. }
  16. &:active {
  17. color: var(--global--color-primary);
  18. }
  19. }
  20. .nav-links {
  21. > * {
  22. min-width: 44px;
  23. min-height: 44px;
  24. }
  25. .nav-next a,
  26. .nav-previous a {
  27. display: flex;
  28. flex-direction: column;
  29. }
  30. .dots {
  31. text-align: center;
  32. }
  33. @include media(tablet) {
  34. display: flex;
  35. justify-content: center;
  36. flex-wrap: wrap;
  37. .nav-next,
  38. .nav-previous {
  39. flex: 0 1 auto;
  40. margin-bottom: inherit;
  41. margin-top: inherit;
  42. max-width: calc(50% - (0.5 * var(--global--spacing-unit)));
  43. }
  44. .nav-next {
  45. text-align: right;
  46. }
  47. }
  48. }
  49. .svg-icon {
  50. display: inline-block;
  51. fill: currentColor;
  52. vertical-align: middle;
  53. position: relative;
  54. }
  55. .nav-previous .svg-icon,
  56. .prev .svg-icon {
  57. top: -2px;
  58. margin-right: calc(0.25 * var(--global--spacing-unit));
  59. }
  60. .nav-next .svg-icon,
  61. .next .svg-icon {
  62. top: -1px;
  63. margin-left: calc(0.25 * var(--global--spacing-unit));
  64. }
  65. }
  66. // Singular navigation
  67. .post-navigation {
  68. margin: var(--global--spacing-vertical) auto;
  69. @include media(desktop) {
  70. margin: var(--global--spacing-vertical) auto;
  71. }
  72. @extend %responsive-alignwide-width;
  73. .meta-nav {
  74. line-height: var(--global--line-height-body);
  75. color: var(--global--color-primary);
  76. }
  77. .post-title {
  78. display: inline-block;
  79. font-family: var(--global--font-primary);
  80. font-size: var(--global--font-size-lg);
  81. font-weight: var(--pagination--font-weight-strong);
  82. line-height: var(--global--line-height-heading);
  83. @include media(desktop) {
  84. margin: 5px calc(24px + (0.25 * var(--global--spacing-unit))) 0;
  85. }
  86. }
  87. .nav-links {
  88. @include media(mobile) {
  89. justify-content: space-between;
  90. }
  91. }
  92. .nav-next,
  93. .nav-previous {
  94. margin-top: var(--global--spacing-vertical);
  95. margin-bottom: var(--global--spacing-vertical);
  96. &:first-child {
  97. margin-top: 0;
  98. }
  99. &:last-child {
  100. margin-bottom: 0;
  101. }
  102. }
  103. }
  104. // Index/archive navigation
  105. .pagination,
  106. .comments-pagination {
  107. border-top: 3px solid var(--global--color-border);
  108. padding-top: var(--global--spacing-vertical);
  109. margin: var(--global--spacing-vertical) auto;
  110. @include media(desktop) {
  111. margin: var(--global--spacing-vertical) auto;
  112. }
  113. @extend %responsive-alignwide-width;
  114. // Resets the top margin added to the .nav-links items below.
  115. .nav-links {
  116. margin-top: calc(-1 * var(--global--spacing-vertical));
  117. a:hover {
  118. color: var(--pagination--color-link-hover);
  119. }
  120. .is-dark-theme & {
  121. a:active,
  122. a:hover:active,
  123. a:hover:focus {
  124. color: var(--global--color-background);
  125. }
  126. }
  127. .has-background-white & {
  128. a:active,
  129. a:hover:active,
  130. a:hover:focus {
  131. color: var(--global--color-white);
  132. }
  133. }
  134. }
  135. .nav-links > * {
  136. color: var(--pagination--color-text);
  137. font-family: var(--pagination--font-family);
  138. font-size: var(--pagination--font-size);
  139. font-weight: var(--pagination--font-weight);
  140. margin-top: var(--global--spacing-vertical);
  141. margin-left: calc(0.66 * var(--global--spacing-unit));
  142. margin-right: calc(0.66 * var(--global--spacing-unit));
  143. &.current {
  144. text-decoration: underline;
  145. }
  146. &:not(.dots):not(.current):hover {
  147. text-decoration-style: dotted;
  148. }
  149. &:first-child {
  150. margin-left: 0;
  151. }
  152. &:last-child {
  153. margin-right: 0;
  154. }
  155. &.next {
  156. margin-left: auto;
  157. }
  158. &.prev {
  159. margin-right: auto;
  160. }
  161. }
  162. @include media(desktop-only) {
  163. .nav-links {
  164. display: flex;
  165. flex-wrap: wrap;
  166. }
  167. .page-numbers {
  168. display: none;
  169. &.prev,
  170. &.next {
  171. display: inline-block;
  172. flex: 0 1 auto;
  173. }
  174. }
  175. }
  176. @include media(mobile-only) {
  177. .nav-short {
  178. display: none;
  179. }
  180. }
  181. }
  182. // Comments pagination
  183. .comments-pagination {
  184. padding-top: calc(0.66 * var(--global--spacing-vertical));
  185. margin: calc(3 * var(--global--spacing-vertical)) auto;
  186. @include media(desktop) {
  187. margin: calc(3 * var(--global--spacing-vertical)) auto calc(4 * var(--global--spacing-vertical)) auto;
  188. }
  189. .nav-links > * {
  190. font-size: var(--global--font-size-md);
  191. }
  192. }