diff --git a/Gruntfile.js b/Gruntfile.js
index 2b9c188992..bc7d009f0a 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -170,6 +170,7 @@ module.exports = function (grunt) {
compatibility: 'ie9',
keepSpecialComments: '*',
sourceMap: true,
+ sourceMapInlineSources: true,
advanced: false
},
core: {
diff --git a/_config.yml b/_config.yml
index f3283b4621..31c708ecd4 100644
--- a/_config.yml
+++ b/_config.yml
@@ -14,7 +14,7 @@ destination: _gh_pages
host: 0.0.0.0
port: 9001
baseurl: ""
-url: http://getbootstrap.com
+url: http://v4-alpha.getbootstrap.com
encoding: UTF-8
exclude: [assets/scss/]
@@ -22,6 +22,14 @@ gems:
- jekyll-redirect-from
- jekyll-sitemap
+# Social
+title: Bootstrap
+description: The most popular HTML, CSS, and JS framework in the world.
+twitter: getbootstrap
+authors: Mark Otto, Jacob Thornton, and Bootstrap contributors
+social_logo_path: /assets/brand/bootstrap-social-logo.png
+social_image_path: /assets/brand/bootstrap-social.png
+
# Custom vars
current_version: 4.0.0-alpha.4
repo: https://github.com/twbs/bootstrap
diff --git a/docs/_data/browser-bugs.yml b/docs/_data/browser-bugs.yml
index f69b937309..97c6d3d35b 100644
--- a/docs/_data/browser-bugs.yml
+++ b/docs/_data/browser-bugs.yml
@@ -1,3 +1,13 @@
+-
+ browser: >
+ Microsoft Edge
+ summary: >
+ Visual artifacts in scrollable modal dialogs
+ upstream_bug: >
+ Edge#9011176
+ origin: >
+ Bootstrap#20755
+
-
browser: >
Microsoft Edge
diff --git a/docs/_includes/header.html b/docs/_includes/header.html
index 3fc75c0583..54bfddf690 100644
--- a/docs/_includes/header.html
+++ b/docs/_includes/header.html
@@ -1,17 +1,17 @@
-
-
- {% if page.layout == "home" %}
- {{ page.title }}
+ {% if page.title %}
+ {{ page.title }} · {{ site.title }}
{% else %}
- {{ page.title }} · Bootstrap
+ {{ site.title }} · {{ site.description }}
{% endif %}
+{% include social.html %}
+
{% if site.github %}
diff --git a/docs/_includes/social.html b/docs/_includes/social.html
new file mode 100644
index 0000000000..c488ea6108
--- /dev/null
+++ b/docs/_includes/social.html
@@ -0,0 +1,31 @@
+
+
+
+
+{% if page.title %}
+
+
+
+
+{% else %}
+
+
+
+
+{% endif %}
+
+
+{% if page.title %}
+
+
+
+{% else %}
+
+
+
+{% endif %}
+
+
+
+
+
diff --git a/docs/about/brand.md b/docs/about/brand.md
index fcb8804aed..546e9c1542 100644
--- a/docs/about/brand.md
+++ b/docs/about/brand.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Brand guidelines
+description: Documentation and examples for Bootstrap's logo and brand usage guidelines.
group: about
---
diff --git a/docs/about/history.md b/docs/about/history.md
index ae4764ee73..590a99c35f 100644
--- a/docs/about/history.md
+++ b/docs/about/history.md
@@ -1,6 +1,7 @@
---
layout: docs
title: History
+description: A brief overview of the history of Bootstrap.
group: about
redirect_from: "/about/"
---
diff --git a/docs/about/license.md b/docs/about/license.md
index 997b1c9ef0..d614731bf0 100644
--- a/docs/about/license.md
+++ b/docs/about/license.md
@@ -1,6 +1,7 @@
---
layout: docs
title: License FAQs
+description: Commonly asked questions about Bootstrap's open source license.
group: about
---
diff --git a/docs/about/team.md b/docs/about/team.md
index 2492471cf1..aa575f8f2b 100644
--- a/docs/about/team.md
+++ b/docs/about/team.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Team
+description: An overview of the founding team and core contributors to Bootstrap.
group: about
---
diff --git a/docs/about/translations.md b/docs/about/translations.md
index de6519bb31..576259d356 100644
--- a/docs/about/translations.md
+++ b/docs/about/translations.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Translations
+description: Links to community-translated Bootstrap documentation sites.
group: about
---
diff --git a/docs/assets/brand/bootstrap-social-logo.png b/docs/assets/brand/bootstrap-social-logo.png
new file mode 100644
index 0000000000..a2f0168c5d
Binary files /dev/null and b/docs/assets/brand/bootstrap-social-logo.png differ
diff --git a/docs/assets/brand/bootstrap-social.png b/docs/assets/brand/bootstrap-social.png
new file mode 100644
index 0000000000..cfac9c5fc7
Binary files /dev/null and b/docs/assets/brand/bootstrap-social.png differ
diff --git a/docs/assets/scss/_component-examples.scss b/docs/assets/scss/_component-examples.scss
index 1ab49218cb..a429b9aae4 100644
--- a/docs/assets/scss/_component-examples.scss
+++ b/docs/assets/scss/_component-examples.scss
@@ -324,7 +324,7 @@
.highlight {
padding: 1rem;
- margin: 1rem (-$grid-gutter-width / 2);
+ margin: 1rem (-$grid-gutter-width-base / 2);
background-color: #f7f7f9;
@include media-breakpoint-up(sm) {
diff --git a/docs/assets/scss/_featurettes.scss b/docs/assets/scss/_featurettes.scss
index a748343871..03119ce508 100644
--- a/docs/assets/scss/_featurettes.scss
+++ b/docs/assets/scss/_featurettes.scss
@@ -26,10 +26,10 @@
@include media-breakpoint-up(md) {
.col-sm-6:first-child {
- padding-right: ($grid-gutter-width * 1.5);
+ padding-right: ($grid-gutter-width-base * 1.5);
};
.col-sm-6:last-child {
- padding-left: ($grid-gutter-width * 1.5);
+ padding-left: ($grid-gutter-width-base * 1.5);
}
}
}
diff --git a/docs/assets/scss/_masthead.scss b/docs/assets/scss/_masthead.scss
index f0ebe93638..aa59ffbfc3 100644
--- a/docs/assets/scss/_masthead.scss
+++ b/docs/assets/scss/_masthead.scss
@@ -2,7 +2,7 @@
.bd-masthead {
position: relative;
- padding: 3rem ($grid-gutter-width / 2) 2rem;
+ padding: 3rem ($grid-gutter-width-base / 2) 2rem;
color: $bd-purple-light;
text-align: center;
background-image: linear-gradient(135deg, darken($bd-purple, 20%), $bd-purple, lighten(saturate($bd-purple, 5%), 15%));
diff --git a/docs/assets/scss/_page-header.scss b/docs/assets/scss/_page-header.scss
index 457d3fbef8..e514599036 100644
--- a/docs/assets/scss/_page-header.scss
+++ b/docs/assets/scss/_page-header.scss
@@ -1,7 +1,7 @@
// scss-lint:disable ImportantRule
.bd-pageheader {
- padding: 2rem ($grid-gutter-width / 2);
+ padding: 2rem ($grid-gutter-width-base / 2);
margin-bottom: 1.5rem;
color: $bd-purple-light;
text-align: center;
diff --git a/docs/components/alerts.md b/docs/components/alerts.md
index 56e8b089c6..54172a6736 100644
--- a/docs/components/alerts.md
+++ b/docs/components/alerts.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Alerts
+description: Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.
group: components
---
diff --git a/docs/components/breadcrumb.md b/docs/components/breadcrumb.md
index 40d407ddc5..8beaa0ae4a 100644
--- a/docs/components/breadcrumb.md
+++ b/docs/components/breadcrumb.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Breadcrumb
+description: Indicate the current page's location within a navigational hierarchy.
group: components
---
diff --git a/docs/components/button-group.md b/docs/components/button-group.md
index c14d3d63ab..cff38e1b13 100644
--- a/docs/components/button-group.md
+++ b/docs/components/button-group.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Button group
+description: Group a series of buttons together on a single line with the button group, and super-power them with JavaScript.
group: components
---
diff --git a/docs/components/buttons.md b/docs/components/buttons.md
index d5aa453d7a..02b14f913a 100644
--- a/docs/components/buttons.md
+++ b/docs/components/buttons.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Buttons
+description: Use Bootstrap's custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.
group: components
redirect_from: "/components/"
---
diff --git a/docs/components/card.md b/docs/components/card.md
index 1cf116d869..04f0281898 100644
--- a/docs/components/card.md
+++ b/docs/components/card.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Cards
+description: Bootstrap Cards provide a flexible and extensible content container with multiple variants and options.
group: components
---
diff --git a/docs/components/carousel.md b/docs/components/carousel.md
index 5f177432f0..5bc2997742 100644
--- a/docs/components/carousel.md
+++ b/docs/components/carousel.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Carousel
+description: A slideshow component for cycling through elements—images or slides of text—like a carousel.
group: components
---
diff --git a/docs/components/collapse.md b/docs/components/collapse.md
index ebbefeca4f..aa82127ed3 100644
--- a/docs/components/collapse.md
+++ b/docs/components/collapse.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Collapse
+description: Toggle the visibility of content across your project with a few classes and our JavaScript plugins.
group: components
---
diff --git a/docs/components/dropdowns.md b/docs/components/dropdowns.md
index d43f5e17d5..db26ffe874 100644
--- a/docs/components/dropdowns.md
+++ b/docs/components/dropdowns.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Dropdowns
+description: Toggle contextual overlays for displaying lists of links and more with the Bootstrap dropdown plugin.
group: components
---
diff --git a/docs/components/forms.md b/docs/components/forms.md
index 09d0d4f8f2..de66cde98c 100644
--- a/docs/components/forms.md
+++ b/docs/components/forms.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Forms
+description: Examples and usage guidelines for from controls, form layouts, and custom forms.
group: components
---
diff --git a/docs/components/input-group.md b/docs/components/input-group.md
index 21f944d646..0082a62b61 100644
--- a/docs/components/input-group.md
+++ b/docs/components/input-group.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Input group
+description: Extend form controls with the input group.
group: components
---
diff --git a/docs/components/jumbotron.md b/docs/components/jumbotron.md
index 9dd3c8294e..e47becee9c 100644
--- a/docs/components/jumbotron.md
+++ b/docs/components/jumbotron.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Jumbotron
+description: Lightweight, flexible component for showcasing hero unit style content.
group: components
---
diff --git a/docs/components/list-group.md b/docs/components/list-group.md
index 8b3b9cd885..7b159bc799 100644
--- a/docs/components/list-group.md
+++ b/docs/components/list-group.md
@@ -1,6 +1,7 @@
---
layout: docs
title: List group
+description: Learn about Bootstrap's list group component for rendering series of related content.
group: components
---
diff --git a/docs/components/modal.md b/docs/components/modal.md
index 55a0878b6c..26676cacc3 100644
--- a/docs/components/modal.md
+++ b/docs/components/modal.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Modal
+description: Learn how to use Bootstrap's modals to add dialog prompts to your site.
group: components
---
diff --git a/docs/components/navbar.md b/docs/components/navbar.md
index d3747a87f7..c5ce0a2598 100644
--- a/docs/components/navbar.md
+++ b/docs/components/navbar.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Navbar
+description: Documentation and examples for Bootstrap's powerful, responsive navigation header.
group: components
---
diff --git a/docs/components/navs.md b/docs/components/navs.md
index 78d476e1c6..2b76f36e3c 100644
--- a/docs/components/navs.md
+++ b/docs/components/navs.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Navs
+description: Documentation and examples for how to use Bootstrap's included navigation components.
group: components
---
diff --git a/docs/components/pagination.md b/docs/components/pagination.md
index 68c906c77c..7a454a51f9 100644
--- a/docs/components/pagination.md
+++ b/docs/components/pagination.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Pagination
+description: Documentation and examples for showing pagination links.
group: components
---
diff --git a/docs/components/popovers.md b/docs/components/popovers.md
index a723f33e3e..bfaaf270ee 100644
--- a/docs/components/popovers.md
+++ b/docs/components/popovers.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Popovers
+description: Documentation and examples for adding Bootstrap popovers to your site.
group: components
---
diff --git a/docs/components/progress.md b/docs/components/progress.md
index 5e0abc5fe6..d604e9e7c3 100644
--- a/docs/components/progress.md
+++ b/docs/components/progress.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Progress
+description: Documentation and examples for using Bootstrap progress bars.
group: components
---
diff --git a/docs/components/scrollspy.md b/docs/components/scrollspy.md
index 622469aa10..52b7c29cdc 100644
--- a/docs/components/scrollspy.md
+++ b/docs/components/scrollspy.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Scrollspy
+description: Documentation and examples for the scrollspy plugin with Bootstrap's navigation components.
group: components
---
diff --git a/docs/components/tag.md b/docs/components/tag.md
index 09608931a2..d292cad227 100644
--- a/docs/components/tag.md
+++ b/docs/components/tag.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Tags
+description: Documentation and examples for tags, our small label-badge component.
group: components
---
diff --git a/docs/components/tooltips.md b/docs/components/tooltips.md
index e989307caa..10285701f3 100644
--- a/docs/components/tooltips.md
+++ b/docs/components/tooltips.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Tooltips
+description: Documentation and examples for adding custom Bootstrap tooltips with CSS and JavaScript.
group: components
---
diff --git a/docs/content/code.md b/docs/content/code.md
index 79059a1d19..a62e0845ff 100644
--- a/docs/content/code.md
+++ b/docs/content/code.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Code
+description: Documentation and examples for displaying inline and multiline blocks of code with Bootstrap.
group: content
---
diff --git a/docs/content/figures.md b/docs/content/figures.md
index d572705189..c24b5b2c85 100644
--- a/docs/content/figures.md
+++ b/docs/content/figures.md
@@ -1,10 +1,11 @@
---
layout: docs
title: Figures
+description: Documentation and examples for displaying related images and text with the figure component in Bootstrap.
group: content
---
-Anytime you need to display a piece of content—like an image—with an optional caption, consider using a `
`.
+Anytime you need to display a piece of content—like an image with an optional caption, consider using a `
`.
Use the included `.figure` , `.figure-img` and `.figure-caption` classes to provide some baseline styles for the HTML5 `
` and `` elements. Images in figures have no explicit size, so be sure to add the `.img-fluid` class to your `` to make it responsive.
diff --git a/docs/content/images.md b/docs/content/images.md
index f21010f0fb..48a5dd3d42 100644
--- a/docs/content/images.md
+++ b/docs/content/images.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Images
+description: Documentation and examples for styling images with Bootstrap.
group: content
---
diff --git a/docs/content/reboot.md b/docs/content/reboot.md
index a6815e9db5..1d93cc9ce3 100644
--- a/docs/content/reboot.md
+++ b/docs/content/reboot.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Reboot
+description: Documentation and examples for Reboot, Bootstrap's collection of element-specific CSS that builds on Normalize.css.
group: content
redirect_from: "/content/"
---
diff --git a/docs/content/tables.md b/docs/content/tables.md
index 3b4d58b369..f2741b7342 100644
--- a/docs/content/tables.md
+++ b/docs/content/tables.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Tables
+description: Documentation and examples for styling tables with Bootstrap.
group: content
---
@@ -13,7 +14,7 @@ Due to the widespread use of tables across third-party widgets like calendars an
## Examples
-Using the most basic table markup, here's how `.table`-based tables look in Bootstrap.
+Using the most basic table markup, here's how `.table`-based tables look in Bootstrap. **All table styles are inherited in Bootstrap 4**, meaning any nested tables will be styled in the same manner as the parent.
{% example html %}
diff --git a/docs/content/typography.md b/docs/content/typography.md
index a59f503474..f9b5913d23 100644
--- a/docs/content/typography.md
+++ b/docs/content/typography.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Typography
+description: Documentation and examples for Bootstrap typography, including global settings, body text, lists, and more.
group: content
---
diff --git a/docs/getting-started/accessibility.md b/docs/getting-started/accessibility.md
index 43dee35693..19105b8ac7 100644
--- a/docs/getting-started/accessibility.md
+++ b/docs/getting-started/accessibility.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Accessibility
+description: Learn how Bootstrap supports common web standards for making sites that are accessibile to those using assistive technology.
group: getting-started
---
diff --git a/docs/getting-started/best-practices.md b/docs/getting-started/best-practices.md
index 1e67a16e75..c030a5ac69 100644
--- a/docs/getting-started/best-practices.md
+++ b/docs/getting-started/best-practices.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Best practices
+description: Learn about some of the best practices we've gathered from years of working on and using Bootstrap.
group: getting-started
---
diff --git a/docs/getting-started/browsers-devices.md b/docs/getting-started/browsers-devices.md
index a73ec89827..4e0b0c78b2 100644
--- a/docs/getting-started/browsers-devices.md
+++ b/docs/getting-started/browsers-devices.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Browsers and devices
+description: Learn which browsers and devices are supported by Bootstrap.
group: getting-started
---
diff --git a/docs/getting-started/build-tools.md b/docs/getting-started/build-tools.md
index 2fe10088b8..4d684f3ac1 100644
--- a/docs/getting-started/build-tools.md
+++ b/docs/getting-started/build-tools.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Build tools
+description: Details on how to use Bootstrap's included build tools to compile source code, run tests, and more.
group: getting-started
---
diff --git a/docs/getting-started/contents.md b/docs/getting-started/contents.md
index ab9c633252..c54cb5eba2 100644
--- a/docs/getting-started/contents.md
+++ b/docs/getting-started/contents.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Contents
+description: Learn about what's included in Bootstrap's precompiled and source code directories.
group: getting-started
---
diff --git a/docs/getting-started/download.md b/docs/getting-started/download.md
index be46329bef..183dd0abd0 100644
--- a/docs/getting-started/download.md
+++ b/docs/getting-started/download.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Download
+description: Download Bootstrap's compiled CSS and JavaScript, source code, or include it with your favorite package manager.
group: getting-started
---
diff --git a/docs/getting-started/flexbox.md b/docs/getting-started/flexbox.md
index 9c0f1a8762..b658001feb 100644
--- a/docs/getting-started/flexbox.md
+++ b/docs/getting-started/flexbox.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Flexbox
+description: Learn how to enable flexbox support in Bootstrap 4 with the flick of a variable or the swap of a stylesheet.
group: getting-started
---
diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md
index 8cec71fd6c..716f6f3494 100644
--- a/docs/getting-started/introduction.md
+++ b/docs/getting-started/introduction.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Introduction
+description: Get started with Bootstrap using the Bootstrap CDN and a template starter page.
group: getting-started
redirect_from: "/getting-started/"
---
diff --git a/docs/getting-started/javascript.md b/docs/getting-started/javascript.md
index debc4dcf5c..b6a38fb7a2 100644
--- a/docs/getting-started/javascript.md
+++ b/docs/getting-started/javascript.md
@@ -1,6 +1,7 @@
---
layout: docs
title: JavaScript
+description: Learn about Bootstrap's JavaScript—how to include it, our data and programmatic API options, and more.
group: getting-started
---
diff --git a/docs/getting-started/options.md b/docs/getting-started/options.md
index dd7f7fb3d3..81c9c92fcf 100644
--- a/docs/getting-started/options.md
+++ b/docs/getting-started/options.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Customization options
+description: Customize Bootstrap with Sass variables, easily toggling global preferences with a quick recompile.
group: getting-started
---
diff --git a/docs/index.html b/docs/index.html
index 47c36ff2c3..8039ab1ae4 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,6 +1,5 @@
---
layout: home
-title: Bootstrap · The world's most popular mobile-first and responsive front-end framework.
---
diff --git a/docs/layout/flexbox-grid.md b/docs/layout/flexbox-grid.md
index d15d6fb996..0eae713b36 100644
--- a/docs/layout/flexbox-grid.md
+++ b/docs/layout/flexbox-grid.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Flexbox grid system
+description: Documentation and examples for using Bootstrap's optional flexbox grid system.
group: layout
---
diff --git a/docs/layout/grid.md b/docs/layout/grid.md
index 5b68053aae..0466fc7bfb 100644
--- a/docs/layout/grid.md
+++ b/docs/layout/grid.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Grid system
+description: Documentation and examples for using Bootstrap's powerful, responsive, and mobile-first grid system.
group: layout
---
@@ -139,7 +140,15 @@ Variables and maps determine the number of columns, the gutter width, and the me
{% highlight scss %}
$grid-columns: 12;
-$grid-gutter-width: 30px;
+$grid-gutter-width-base: 30px;
+
+$grid-gutter-widths: (
+ xs: $grid-gutter-width-base, // 30px
+ sm: $grid-gutter-width-base, // 30px
+ md: $grid-gutter-width-base, // 30px
+ lg: $grid-gutter-width-base, // 30px
+ xl: $grid-gutter-width-base // 30px
+)
$grid-breakpoints: (
// Extra small screen / phone
@@ -168,23 +177,27 @@ Mixins are used in conjunction with the grid variables to generate semantic CSS
{% highlight scss %}
// Creates a wrapper for a series of columns
-@mixin make-row($gutter: $grid-gutter-width) {
+@mixin make-row($gutters: $grid-gutter-widths) {
@if $enable-flex {
display: flex;
flex-wrap: wrap;
} @else {
@include clearfix();
}
- margin-left: ($gutter / -2);
- margin-right: ($gutter / -2);
+
+ @each $breakpoint in map-keys($gutters) {
+ @include media-breakpoint-up($breakpoint) {
+ $gutter: map-get($gutters, $breakpoint);
+ margin-right: ($gutter / -2);
+ margin-left: ($gutter / -2);
+ }
+ }
}
// Make the element grid-ready (applying everything but the width)
-@mixin make-col-ready($gutter: $grid-gutter-width) {
+@mixin make-col-ready($gutters: $grid-gutter-widths) {
position: relative;
min-height: 1px; // Prevent collapsing
- padding-right: ($gutter / 2);
- padding-left: ($gutter / 2);
// Prevent columns from becoming too narrow when at smaller grid tiers by
// always setting `width: 100%;`. This works because we use `flex` values
@@ -192,6 +205,14 @@ Mixins are used in conjunction with the grid variables to generate semantic CSS
@if $enable-flex {
width: 100%;
}
+
+ @each $breakpoint in map-keys($gutters) {
+ @include media-breakpoint-up($breakpoint) {
+ $gutter: map-get($gutters, $breakpoint);
+ padding-right: ($gutter / 2);
+ padding-left: ($gutter / 2);
+ }
+ }
}
@mixin make-col($size, $columns: $grid-columns) {
@@ -463,11 +484,18 @@ Using our built-in grid Sass variables and maps, it's possible to completely cus
### Columns and gutters
-The number of grid columns and their horizontal padding (aka, gutters) can be modified via Sass variables. `$grid-columns` is used to generate the widths (in percent) of each individual column while `$grid-gutter-width` is divided evenly across `padding-left` and `padding-right` for the column gutters.
+The number of grid columns and their horizontal padding (aka, gutters) can be modified via Sass variables. `$grid-columns` is used to generate the widths (in percent) of each individual column while `$grid-gutter-widths` allows breakpoint-specific widths that are divided evenly across `padding-left` and `padding-right` for the column gutters.
{% highlight scss %}
-$grid-columns: 12;
-$grid-gutter-width: 30px;
+$grid-columns: 12 !default;
+$grid-gutter-width-base: 30px !default;
+$grid-gutter-widths: (
+ xs: $grid-gutter-width-base,
+ sm: $grid-gutter-width-base,
+ md: $grid-gutter-width-base,
+ lg: $grid-gutter-width-base,
+ xl: $grid-gutter-width-base
+) !default;
{% endhighlight %}
### Grid tiers
diff --git a/docs/layout/media-object.md b/docs/layout/media-object.md
index fcb89a3b5a..95dbceb40d 100644
--- a/docs/layout/media-object.md
+++ b/docs/layout/media-object.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Media object
+description: Documentation and examples for Bootstrap's media object to construct highly repetitive components like blog comments, tweets, and the like.
group: layout
---
diff --git a/docs/layout/overview.md b/docs/layout/overview.md
index 81cdecf608..3e6c7e7e05 100644
--- a/docs/layout/overview.md
+++ b/docs/layout/overview.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Overview
+description: Components and options for laying out your Bootstrap project, including wrapping containers, a powerful grid system, a flexible media object, and responsive utility classes.
group: layout
redirect_from: "/layout/"
---
diff --git a/docs/layout/responsive-utilities.md b/docs/layout/responsive-utilities.md
index 2a44fd589e..4334eb4d6d 100644
--- a/docs/layout/responsive-utilities.md
+++ b/docs/layout/responsive-utilities.md
@@ -1,6 +1,7 @@
---
layout: docs
title: Responsive utilities
+description: Use responsive display utility classes for showing and hiding content by device, via media query.
group: layout
---
diff --git a/scss/_button-group.scss b/scss/_button-group.scss
index 60e9f7a744..0e63ecc54b 100644
--- a/scss/_button-group.scss
+++ b/scss/_button-group.scss
@@ -10,6 +10,7 @@
> .btn {
position: relative;
float: left;
+ margin-bottom: 0;
// Bring the "active" button to the front
&:focus,
diff --git a/scss/_dropdown.scss b/scss/_dropdown.scss
index e696d28bef..47702e7955 100644
--- a/scss/_dropdown.scss
+++ b/scss/_dropdown.scss
@@ -141,6 +141,7 @@
.dropdown-header {
display: block;
padding: $dropdown-padding-y $dropdown-item-padding-x;
+ margin-bottom: 0; // for use with heading elements
font-size: $font-size-sm;
color: $dropdown-header-color;
white-space: nowrap; // as with > li > a
diff --git a/scss/_forms.scss b/scss/_forms.scss
index 263a8bc156..59465ee6c9 100644
--- a/scss/_forms.scss
+++ b/scss/_forms.scss
@@ -18,8 +18,16 @@
background-image: none;
background-clip: padding-box;
border: $input-btn-border-width solid $input-border-color;
+
// Note: This has no effect on