From 5a0365524d8a190c718bcb4950c423c9bef75bd9 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Sun, 1 Dec 2013 19:27:33 -0800 Subject: Rework navbar padding and margins for right aligned last-child elements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This slight reworking of the navbar spacing was brought about by a problem noted in #11530: use of `.navbar-form.navbar-right` leaves an extra 15px of space on the right. Here’s what’s new: * Removed the `padding` on `.navbar-collapse` within static top, fixed top, and fixed bottom navbars. Meaning, it’s still there for the default navbar. This was the root cause of the extra 15px padding for navbar forms. * As part of this, I also replaced the existing negative margin overrides for last-child elements with more contextual ones within their sub-components. Overall not too different, but should be more effective now and easier to work with now. For example of new changes, see http://jsbin.com/odeSiSo/1/. --- less/navbar.less | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'less/navbar.less') diff --git a/less/navbar.less b/less/navbar.less index 6796530f40..eb6031a59e 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -77,15 +77,13 @@ overflow-y: auto; } - // Account for first and last children spacing - .navbar-nav.navbar-left:first-child { - margin-left: -@navbar-padding-horizontal; - } - .navbar-nav.navbar-right:last-child { - margin-right: -@navbar-padding-horizontal; - } - .navbar-text:last-child { - margin-right: 0; + // Undo the collapse side padding for navbars with containers to ensure + // alignment of right-aligned contents. + .navbar-fixed-top &, + .navbar-static-top &, + .navbar-fixed-bottom & { + padding-left: 0; + padding-right: 0; } } } @@ -251,8 +249,11 @@ padding-bottom: @navbar-padding-vertical; } } - } + &.navbar-right:last-child { + margin-right: -@navbar-padding-horizontal; + } + } } @@ -303,6 +304,11 @@ padding-top: 0; padding-bottom: 0; .box-shadow(none); + + // Outdent the form if last child to line up with content down the page + &.navbar-right:last-child { + margin-right: -@navbar-padding-horizontal; + } } } @@ -354,6 +360,11 @@ float: left; margin-left: @navbar-padding-horizontal; margin-right: @navbar-padding-horizontal; + + // Outdent the form if last child to line up with content down the page + &.navbar-right:last-child { + margin-right: 0; + } } } -- cgit v1.2.3