From 0c1df9912f99780fcab410b231c00a5e56972b5e Mon Sep 17 00:00:00 2001 From: Chris Rebert <code@chrisrebert.com> Date: Thu, 29 Oct 2015 22:24:25 -0700 Subject: [PATCH] Refactor pagination code to remove unnecessary ancestor requirements in selectors --- scss/_pagination.scss | 71 +++++++++++++++++------------------- scss/mixins/_pagination.scss | 11 +++--- 2 files changed, 40 insertions(+), 42 deletions(-) diff --git a/scss/_pagination.scss b/scss/_pagination.scss index c7eafa1854..26a7102c17 100644 --- a/scss/_pagination.scss +++ b/scss/_pagination.scss @@ -4,43 +4,24 @@ margin-top: $spacer-y; margin-bottom: $spacer-y; @include border-radius(); +} - .page { - display: inline; // Remove list-style and block-level defaults +.page { + display: inline; // Remove list-style and block-level defaults + &:first-child { .page-link { - position: relative; - float: left; // Collapse white-space - padding: $pagination-padding-y $pagination-padding-x; - margin-left: -1px; - line-height: $line-height; - color: $pagination-color; - text-decoration: none; - background-color: $pagination-bg; - border: $pagination-border-width solid $pagination-border-color; - } - &:first-child { - .page-link { - margin-left: 0; - @include border-left-radius($border-radius); - } - } - &:last-child { - .page-link { - @include border-right-radius($border-radius); - } + margin-left: 0; + @include border-left-radius($border-radius); } } - - .page .page-link { - @include hover-focus { - color: $pagination-hover-color; - background-color: $pagination-hover-bg; - border-color: $pagination-hover-border; + &:last-child { + .page-link { + @include border-right-radius($border-radius); } } - .page.active .page-link { + &.active .page-link { @include plain-hover-focus { z-index: 2; color: $pagination-active-color; @@ -50,18 +31,34 @@ } } - .page.disabled { - .page-link { - @include plain-hover-focus { - color: $pagination-disabled-color; - cursor: $cursor-disabled; - background-color: $pagination-disabled-bg; - border-color: $pagination-disabled-border; - } + &.disabled .page-link { + @include plain-hover-focus { + color: $pagination-disabled-color; + cursor: $cursor-disabled; + background-color: $pagination-disabled-bg; + border-color: $pagination-disabled-border; } } } +.page-link { + position: relative; + float: left; // Collapse white-space + padding: $pagination-padding-y $pagination-padding-x; + margin-left: -1px; + line-height: $line-height; + color: $pagination-color; + text-decoration: none; + background-color: $pagination-bg; + border: 1px solid $pagination-border; + + @include hover-focus { + color: $pagination-hover-color; + background-color: $pagination-hover-bg; + border-color: $pagination-hover-border; + } +} + // // Sizing diff --git a/scss/mixins/_pagination.scss b/scss/mixins/_pagination.scss index 32c8de0b70..8d722004ec 100644 --- a/scss/mixins/_pagination.scss +++ b/scss/mixins/_pagination.scss @@ -1,12 +1,13 @@ // Pagination @mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { + .page-link { + padding: $padding-vertical $padding-horizontal; + font-size: $font-size; + line-height: $line-height; + } + .page { - .page-link { - padding: $padding-vertical $padding-horizontal; - font-size: $font-size; - line-height: $line-height; - } &:first-child { .page-link { @include border-left-radius($border-radius); -- GitLab