Add responsive float classes; fixes #13690

This commit is contained in:
Chris Rebert 2015-11-25 02:32:41 -08:00
parent 48fc3d9aa7
commit a8dc4812a4
14 changed files with 53 additions and 42 deletions

View File

@ -1,6 +1,6 @@
<header class="navbar navbar-light navbar-static-top bd-navbar" role="banner"> <header class="navbar navbar-light navbar-static-top bd-navbar" role="banner">
{% comment %} {% comment %}
<nav class="nav navbar-nav pull-right"> <nav class="nav navbar-nav pull-xs-right">
<div class="nav-item dropdown"> <div class="nav-item dropdown">
<a class="nav-item nav-link dropdown-toggle" href="#" id="bd-versions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-item nav-link dropdown-toggle" href="#" id="bd-versions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
v{{ site.current_version }} v{{ site.current_version }}
@ -25,7 +25,7 @@
{% endcomment %} {% endcomment %}
<div class="clearfix"> <div class="clearfix">
<button class="navbar-toggler pull-right hidden-sm-up" type="button" data-toggle="collapse" data-target="#bd-main-nav"> <button class="navbar-toggler pull-xs-right hidden-sm-up" type="button" data-toggle="collapse" data-target="#bd-main-nav">
&#9776; &#9776;
</button> </button>
<a class="navbar-brand hidden-sm-up" href="{{ site.baseurl }}/"> <a class="navbar-brand hidden-sm-up" href="{{ site.baseurl }}/">

View File

@ -31,15 +31,15 @@ Add labels to any list group item to show unread counts, activity, etc.
{% example html %} {% example html %}
<ul class="list-group"> <ul class="list-group">
<li class="list-group-item"> <li class="list-group-item">
<span class="label label-default label-pill pull-right">14</span> <span class="label label-default label-pill pull-xs-right">14</span>
Cras justo odio Cras justo odio
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<span class="label label-default label-pill pull-right">2</span> <span class="label label-default label-pill pull-xs-right">2</span>
Dapibus ac facilisis in Dapibus ac facilisis in
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<span class="label label-default label-pill pull-right">1</span> <span class="label label-default label-pill pull-xs-right">1</span>
Morbi leo risus Morbi leo risus
</li> </li>
</ul> </ul>

View File

@ -17,7 +17,7 @@ Here's what you need to know before getting started with the navbar:
- Navbars require a wrapping `.navbar` and a [color scheme](#color-schemes). - Navbars require a wrapping `.navbar` and a [color scheme](#color-schemes).
- Navbars and their contents are fluid by default. Use [optional containers](#containers) to limit their horizontal width. - Navbars and their contents are fluid by default. Use [optional containers](#containers) to limit their horizontal width.
- Use `.pull-left` and `.pull-right` to quickly align sub-components. - Use `.pull-*-left` and `.pull-*-right` to quickly align sub-components.
- Ensure accessibility by using a `<nav>` element or, if using a more generic element such as a `<div>`, add a `role="navigation"` to every navbar to explicitly identify it as a landmark region for users of assistive technologies. - Ensure accessibility by using a `<nav>` element or, if using a more generic element such as a `<div>`, add a `role="navigation"` to every navbar to explicitly identify it as a landmark region for users of assistive technologies.
## Supported content ## Supported content
@ -48,7 +48,7 @@ Here's an example of all the sub-components included in a default, light navbar:
<a class="nav-link" href="#">About</a> <a class="nav-link" href="#">About</a>
</li> </li>
</ul> </ul>
<form class="form-inline navbar-form pull-right"> <form class="form-inline navbar-form pull-xs-right">
<input class="form-control" type="text" placeholder="Search"> <input class="form-control" type="text" placeholder="Search">
<button class="btn btn-success-outline" type="submit">Search</button> <button class="btn btn-success-outline" type="submit">Search</button>
</form> </form>
@ -78,7 +78,7 @@ Here are some examples to show what we mean.
<a class="nav-link" href="#">About</a> <a class="nav-link" href="#">About</a>
</li> </li>
</ul> </ul>
<form class="form-inline navbar-form pull-right"> <form class="form-inline navbar-form pull-xs-right">
<input class="form-control" type="text" placeholder="Search"> <input class="form-control" type="text" placeholder="Search">
<button class="btn btn-info-outline" type="submit">Search</button> <button class="btn btn-info-outline" type="submit">Search</button>
</form> </form>
@ -99,7 +99,7 @@ Here are some examples to show what we mean.
<a class="nav-link" href="#">About</a> <a class="nav-link" href="#">About</a>
</li> </li>
</ul> </ul>
<form class="form-inline navbar-form pull-right"> <form class="form-inline navbar-form pull-xs-right">
<input class="form-control" type="text" placeholder="Search"> <input class="form-control" type="text" placeholder="Search">
<button class="btn btn-secondary-outline" type="submit">Search</button> <button class="btn btn-secondary-outline" type="submit">Search</button>
</form> </form>
@ -120,7 +120,7 @@ Here are some examples to show what we mean.
<a class="nav-link" href="#">About</a> <a class="nav-link" href="#">About</a>
</li> </li>
</ul> </ul>
<form class="form-inline navbar-form pull-right"> <form class="form-inline navbar-form pull-xs-right">
<input class="form-control" type="text" placeholder="Search"> <input class="form-control" type="text" placeholder="Search">
<button class="btn btn-primary-outline" type="submit">Search</button> <button class="btn btn-primary-outline" type="submit">Search</button>
</form> </form>

View File

@ -168,25 +168,25 @@ Use a generic close icon for dismissing content like modals and alerts. **Be sur
</button> </button>
{% endexample %} {% endexample %}
## Floats ## Responsive floats
Float an element to the left or right with a class. `!important` is included to avoid specificity issues. Classes can also be used as mixins. These utility classes float an element to the left or right, or disable floating, based on the current viewport size using the [CSS `float` property](https://developer.mozilla.org/en-US/docs/Web/CSS/float). `!important` is included to avoid specificity issues. These use the same viewport width breakpoints as the grid system.
Two similar non-responsive mixins (`pull-left` and `pull-right`) are also available.
{% example html %} {% example html %}
<div class="pull-left">Float left</div> <div class="pull-xs-left">Float left on all viewport sizes</div>
<div class="pull-right">Float right</div> <div class="pull-xs-right">Float right on all viewport sizes</div>
<div class="pull-xs-none">Don't float on all viewport sizes</div>
<div class="pull-sm-left">Float left on viewports sized SM (small) or wider</div>
<div class="pull-md-left">Float left on viewports sized MD (medium) or wider</div>
<div class="pull-lg-left">Float left on viewports sized LG (large) or wider</div>
<div class="pull-xl-left">Float left on viewports sized XL (extra-large) or wider</div>
{% endexample %} {% endexample %}
{% highlight scss %} {% highlight scss %}
// Classes // Related simple non-responsive mixins
.pull-left {
float: left !important;
}
.pull-right {
float: right !important;
}
// Usage as mixins
.element { .element {
@include pull-left; @include pull-left;
} }

View File

@ -50,13 +50,13 @@ Add classes to an `<img>` element to easily style images in any project.
Align images with the [helper float classes]({{ site.baseurl }}/components/utilities/#floats) or [text alignment classes]({{ site.baseurl }}/components/utilities/#text-alignment). A simple centering class can also be used for `block` level images. Align images with the [helper float classes]({{ site.baseurl }}/components/utilities/#floats) or [text alignment classes]({{ site.baseurl }}/components/utilities/#text-alignment). A simple centering class can also be used for `block` level images.
<div class="bd-example bd-example-images"> <div class="bd-example bd-example-images">
<img data-src="holder.js/200x200" class="img-rounded pull-left" alt="A generic square placeholder image with rounded corners"> <img data-src="holder.js/200x200" class="img-rounded pull-xs-left" alt="A generic square placeholder image with rounded corners">
<img data-src="holder.js/200x200" class="img-rounded pull-right" alt="A generic square placeholder image with rounded corners"> <img data-src="holder.js/200x200" class="img-rounded pull-xs-right" alt="A generic square placeholder image with rounded corners">
</div> </div>
{% highlight html %} {% highlight html %}
<img src="..." class="img-rounded pull-left" alt="..."> <img src="..." class="img-rounded pull-xs-left" alt="...">
<img src="..." class="img-rounded pull-right" alt="..."> <img src="..." class="img-rounded pull-xs-right" alt="...">
{% endhighlight %} {% endhighlight %}
<div class="bd-example bd-example-images"> <div class="bd-example bd-example-images">

View File

@ -104,7 +104,7 @@
<footer class="text-muted"> <footer class="text-muted">
<div class="container"> <div class="container">
<p class="pull-right"> <p class="pull-xs-right">
<a href="#">Back to top</a> <a href="#">Back to top</a>
</p> </p>
<p>Album example is &copy; Bootstrap, but please download and customize it for yourself!</p> <p>Album example is &copy; Bootstrap, but please download and customize it for yourself!</p>

View File

@ -164,7 +164,7 @@
<!-- FOOTER --> <!-- FOOTER -->
<footer> <footer>
<p class="pull-right"><a href="#">Back to top</a></p> <p class="pull-xs-right"><a href="#">Back to top</a></p>
<p>&copy; 2014 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p> <p>&copy; 2014 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
</footer> </footer>

View File

@ -29,13 +29,13 @@
</button> </button>
<a class="navbar-brand" href="#">Project name</a> <a class="navbar-brand" href="#">Project name</a>
<div id="navbar"> <div id="navbar">
<nav class="nav navbar-nav pull-left"> <nav class="nav navbar-nav pull-xs-left">
<a class="nav-item nav-link" href="#">Dashboard</a> <a class="nav-item nav-link" href="#">Dashboard</a>
<a class="nav-item nav-link" href="#">Settings</a> <a class="nav-item nav-link" href="#">Settings</a>
<a class="nav-item nav-link" href="#">Profile</a> <a class="nav-item nav-link" href="#">Profile</a>
<a class="nav-item nav-link" href="#">Help</a> <a class="nav-item nav-link" href="#">Help</a>
</nav> </nav>
<form class="navbar-form pull-right"> <form class="navbar-form pull-xs-right">
<input type="text" class="form-control" placeholder="Search..."> <input type="text" class="form-control" placeholder="Search...">
</form> </form>
</div> </div>

View File

@ -23,7 +23,7 @@
<div class="container"> <div class="container">
<div class="header clearfix"> <div class="header clearfix">
<nav> <nav>
<ul class="nav nav-pills pull-right"> <ul class="nav nav-pills pull-xs-right">
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li> </li>

View File

@ -41,7 +41,7 @@
<a class="nav-link" href="#">About</a> <a class="nav-link" href="#">About</a>
</li> </li>
</ul> </ul>
<form class="form-inline navbar-form pull-right"> <form class="form-inline navbar-form pull-xs-right">
<input class="form-control" type="text" placeholder="Search"> <input class="form-control" type="text" placeholder="Search">
<button class="btn btn-success-outline" type="submit">Search</button> <button class="btn btn-success-outline" type="submit">Search</button>
</form> </form>

View File

@ -35,7 +35,7 @@
<div class="row row-offcanvas row-offcanvas-right"> <div class="row row-offcanvas row-offcanvas-right">
<div class="col-xs-12 col-sm-9"> <div class="col-xs-12 col-sm-9">
<p class="pull-right hidden-sm-up"> <p class="pull-xs-right hidden-sm-up">
<button type="button" class="btn btn-primary btn-sm" data-toggle="offcanvas">Toggle nav</button> <button type="button" class="btn btn-primary btn-sm" data-toggle="offcanvas">Toggle nav</button>
</p> </p>
<div class="jumbotron"> <div class="jumbotron">

View File

@ -20,7 +20,7 @@
<body> <body>
<button class="btn btn-secondary pull-right tooltip-bottom" title="This should be shifted to the left">Shift Left</button> <button class="btn btn-secondary pull-xs-right tooltip-bottom" title="This should be shifted to the left">Shift Left</button>
<button class="btn btn-secondary tooltip-bottom" title="This should be shifted to the right">Shift Right</button> <button class="btn btn-secondary tooltip-bottom" title="This should be shifted to the right">Shift Right</button>
<button class="btn btn-secondary tooltip-right" title="This should be shifted down">Shift Down</button> <button class="btn btn-secondary tooltip-right" title="This should be shifted down">Shift Down</button>
@ -30,7 +30,7 @@
<button class="btn btn-secondary tooltip-viewport-bottom" title="This should be shifted to the left">Shift Left</button> <button class="btn btn-secondary tooltip-viewport-bottom" title="This should be shifted to the left">Shift Left</button>
<button class="btn btn-secondary tooltip-viewport-right" title="This should be shifted down">Shift Down</button> <button class="btn btn-secondary tooltip-viewport-right" title="This should be shifted down">Shift Down</button>
<button class="btn btn-secondary pull-right tooltip-viewport-bottom" title="This should be shifted to the right">Shift Right</button> <button class="btn btn-secondary pull-xs-right tooltip-viewport-bottom" title="This should be shifted to the right">Shift Right</button>
<button class="btn btn-secondary tooltip-viewport-right btn-bottom" title="This should be shifted up">Shift Up</button> <button class="btn btn-secondary tooltip-viewport-right btn-bottom" title="This should be shifted up">Shift Up</button>
</div> </div>

View File

@ -128,6 +128,11 @@ Dropped entirely for the new card component.
- Renamed `.item` to `.carousel-item`. - Renamed `.item` to `.carousel-item`.
### Utilities
- Added `.pull-{left,right,none}-{xs,sm,md,lg,xl}` classes for responsive floats
- Removed `.pull-left` and `.pull-right` since they're redundant to `.pull-left-xs` and `.pull-right-xs`
## Documentation ## Documentation
Our documentation received an upgrade across the board as well. Here's the low down: Our documentation received an upgrade across the board as well. Here's the low down:

View File

@ -10,12 +10,18 @@
@include center-block(); @include center-block();
} }
.pull-right { @each $breakpoint in map-keys($grid-breakpoints) {
@include pull-right(); @include media-breakpoint-up($breakpoint) {
} .pull-#{$breakpoint}-left {
@include pull-left();
.pull-left { }
@include pull-left(); .pull-#{$breakpoint}-right {
@include pull-right();
}
.pull-#{$breakpoint}-none {
float: none !important;
}
}
} }