1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-23 18:40:03 +00:00

Refactor navbar dividers

* Instead of .divider-vertical, use .divider
* Makes use of .nav-divider mixin
* Dividers are horizontal to start, matching the default state of navbar nav links
* Dividers become vertical above 768px via media queries
This commit is contained in:
Mark Otto 2013-02-01 22:56:09 -08:00
parent dad9889aeb
commit 94e256c016
5 changed files with 57 additions and 35 deletions

View File

@ -8,7 +8,7 @@
* Designed and built with all the love in the world by @mdo and @fat. * Designed and built with all the love in the world by @mdo and @fat.
*/ */
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */ /*! normalize.css v2.1.0 | MIT License | git.io/normalize */
article, article,
aside, aside,
@ -2531,7 +2531,7 @@ fieldset[disabled] .btn-link:hover {
.dropdown-menu .divider { .dropdown-menu .divider {
height: 1px; height: 1px;
margin: 9px 1px; margin: 9px 0;
overflow: hidden; overflow: hidden;
background-color: #e5e5e5; background-color: #e5e5e5;
border-bottom: 1px solid #ffffff; border-bottom: 1px solid #ffffff;
@ -2827,7 +2827,7 @@ button.close {
.nav .divider { .nav .divider {
height: 1px; height: 1px;
margin: 9px 1px; margin: 9px 0;
overflow: hidden; overflow: hidden;
background-color: #e5e5e5; background-color: #e5e5e5;
border-bottom: 1px solid #ffffff; border-bottom: 1px solid #ffffff;
@ -3019,11 +3019,12 @@ button.close {
margin-top: 3px; margin-top: 3px;
} }
.navbar .divider-vertical { .navbar .nav > .divider {
height: 30px; height: 1px;
margin: 10px 9px; margin: 9px 0;
border-right: 1px solid #fbfbfb; overflow: hidden;
border-left: 1px solid #e1e1e1; background-color: #e1e1e1;
border-bottom: 1px solid #fbfbfb;
} }
.navbar-form { .navbar-form {
@ -3110,9 +3111,9 @@ button.close {
background-color: #444; background-color: #444;
} }
.navbar-inverse .divider-vertical { .navbar-inverse .nav > .divider {
border-right-color: #2f2f2f; background-color: #151515;
border-left-color: #151515; border-bottom-color: #2f2f2f;
} }
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
@ -3168,6 +3169,16 @@ button.close {
.navbar .nav > li { .navbar .nav > li {
float: left; float: left;
} }
.navbar .nav > .divider {
width: 1px;
height: 30px;
margin: 10px 9px;
border-right: 1px solid #fbfbfb;
border-bottom: 0;
}
.navbar-inverse .nav > .divider {
border-right-color: #2f2f2f;
}
.navbar .btn-navbar { .navbar .btn-navbar {
display: none; display: none;
} }

View File

@ -831,17 +831,17 @@
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
</ul> </ul>
</pre> </pre>
<p>You can easily add dividers to your nav links with an empty list item and a simple class. Just add this between links:</p> <p>You can easily add dividers to your nav links with an empty list item and a simple class. Just add the appropriate class to <code>&lt;li&gt;</code> elements between links. Dividers will be horizontal to start, but at resolutions above 768px they become vertical with the navigation.</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<ul class="nav"> <ul class="nav">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -849,7 +849,7 @@
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav"&gt; &lt;ul class="nav"&gt;
... ...
&lt;li class="divider-vertical"&gt;&lt;/li&gt; &lt;li class="divider"&gt;&lt;/li&gt;
... ...
&lt;/ul&gt; &lt;/ul&gt;
</pre> </pre>
@ -999,7 +999,7 @@
</form> </form>
<ul class="nav pull-right"> <ul class="nav pull-right">
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@ -1080,7 +1080,7 @@
</form> </form>
<ul class="nav pull-right"> <ul class="nav pull-right">
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">

View File

@ -763,17 +763,17 @@
&lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;/ul&gt;
</pre> </pre>
<p>You can easily add dividers to your nav links with an empty list item and a simple class. Just add this between links:</p> <p>You can easily add dividers to your nav links with an empty list item and a simple class. Just add the appropriate class to <code>&lt;li&gt;</code> elements between links. Dividers will be horizontal to start, but at resolutions above 768px they become vertical with the navigation.</p>
<div class="bs-docs-example"> <div class="bs-docs-example">
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<ul class="nav"> <ul class="nav">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -781,7 +781,7 @@
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav"&gt; &lt;ul class="nav"&gt;
... ...
&lt;li class="divider-vertical"&gt;&lt;/li&gt; &lt;li class="divider"&gt;&lt;/li&gt;
... ...
&lt;/ul&gt; &lt;/ul&gt;
</pre> </pre>
@ -931,7 +931,7 @@
</form> </form>
<ul class="nav pull-right"> <ul class="nav pull-right">
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@ -1012,7 +1012,7 @@
</form> </form>
<ul class="nav pull-right"> <ul class="nav pull-right">
<li><a href="#">Link</a></li> <li><a href="#">Link</a></li>
<li class="divider-vertical"></li> <li class="divider"></li>
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">

View File

@ -377,7 +377,7 @@
// Dividers (basically an hr) within dropdowns and nav lists // Dividers (basically an hr) within dropdowns and nav lists
.nav-divider(@top: #e5e5e5, @bottom: #fff) { .nav-divider(@top: #e5e5e5, @bottom: #fff) {
height: 1px; height: 1px;
margin: ((@line-height-base / 2) - 1) 1px; // 8px 1px margin: ((@line-height-base / 2) - 1) 0;
overflow: hidden; overflow: hidden;
background-color: @top; background-color: @top;
border-bottom: 1px solid @bottom; border-bottom: 1px solid @bottom;

View File

@ -104,11 +104,8 @@
} }
// Dividers in navbar // Dividers in navbar
.navbar .divider-vertical { .navbar .nav > .divider {
height: @navbar-height * .6; .nav-divider(darken(@navbar-bg, 5%), lighten(@navbar-bg, 5%));
margin: (@navbar-height * .2) 9px;
border-left: 1px solid darken(@navbar-bg, 5%);
border-right: 1px solid lighten(@navbar-bg, 5%);
} }
// Navbar form // Navbar form
@ -204,10 +201,10 @@
background-color: #444; background-color: #444;
} }
// Darken divider borders // Darken dividers
.divider-vertical { .nav > .divider {
border-left-color: darken(@navbar-inverse-bg, 5%); background-color: darken(@navbar-inverse-bg, 5%);
border-right-color: lighten(@navbar-inverse-bg, 5%); border-bottom-color: lighten(@navbar-inverse-bg, 5%);
} }
// Dropdowns // Dropdowns
@ -262,6 +259,20 @@
float: left; float: left;
} }
// Dividers go vertical
// Change the height and height, disable bottom border, then add right border
.navbar .nav > .divider {
width: 1px;
height: @navbar-height * .6;
margin: (@navbar-height * .2) 9px;
border-bottom: 0;
border-right: 1px solid lighten(@navbar-bg, 5%);
}
// Since we override the border, we need to specify it again for inverted navbars
.navbar-inverse .nav > .divider {
border-right-color: lighten(@navbar-inverse-bg, 5%);
}
// Required to make the collapsing navbar work on regular desktops // Required to make the collapsing navbar work on regular desktops
.navbar .btn-navbar { .navbar .btn-navbar {
display: none; display: none;