IE9, IE10, and IE11 don't properly scale SVG files added with img tags when viewBox, width and height attributes are specified. View this codepen on the different browsers.
Image heights will not scale when the images are inside containers narrower than image widths. This can be resolved in 2 ways.
CSS Filters are a powerful tool that authors can use to achieve varying visual effects (sort of like Photoshop filters for the browser). The CSS filter property provides access to effects like blur or color shifting on an element’s rendering before the element is displayed. Filters are commonly used to adjust the rendering of an image, a background, or a border.
CSS variables, more accurately known as CSS custom properties, are landing in Chrome 49. CSS is going to be like a CSS pre-processor itself such as SASS, LESS in the future. CSS variables are now officially part of the CSS specification
Uses col-*-offset-* classes to offset columns. For example, col-md-offset-4.
Uses offset-*-* classes to offset columns. For example, offset-md-4.
Added inverse tables with the .table-inverse class.
Table Head Styles
Added table head styles with the .thead-default and .thead-inverse classes.
Bootstrap 3 doesn't use the .table- prefix for its contextual classes.
For example, Bootstrap 3 uses .active whereas Bootstrap 4 uses .table-active. Other than that, both versions use the same 5 contextual keywords (active, success, info, warning, danger).
Added the .table- prefix for its contextual classes.
The .table-responsive class must be added to a parent div element.
Can add .table-responsive to the actual table element.
Added reflow tables with the .table-reflow class.
Horizontal forms require the .form-horizontal class.
Forms don't require .row when using grids (although this class is still a requirement on Bootstrap 3 grids in general).
Bootstrap 4 dropped the .form-horizontal class — it is no longer needed to display horizontal forms.
Forms require the .row class when using grids.
Use .control-label when using grids for form layout.
Bootstrap 4 uses .col-form-label * when using grids for form layout.
* Note that Bootstrap 4 initially used .form-control-label but subesquently changed this to .col-form-label.
Checkboxes and Radio Buttons
Uses .radio, .radio-inline, .checkbox, or .checkbox-inline to display checkboxes and radio buttons.
Uses .form-check, .form-check-label, .form-check-input, and .form-check-inline.
Form Control Size
Use .input-lg and .input-sm to increase or decrease the size of an input control.
Use .form-control-lg and .form-control-sm to increase or decrease the size of an input control.
Use the .help-block class to display help text.
Bootstrap 4 uses the .form-text class to display help text.
Bootstrap 4 forms don't have an official class for help text. Instead, the .text-muted class was introduced for more flexibility.
Validation and Feedback Icons
Includes validation styles for error, warning, and success states on form controls (for example, .has-warning). To present icons on the input fields using Bootstrap 3, use glyphicons.
Validation styles are not available for Bootstrap 4 forms. Use custom Bootstrap form validation messages instead.
No classes for styling the form legends.
Provides the option of using .col-form-legend on legend elements to style it more like a label.
Bootstrap 4 introduced custom forms — completely custom form elements that replace the browser defaults.
Includes the .btn-default and .btn-info classes.
The .btn-secondary class isn't available in Bootstrap 3.
Introduced the .btn-secondary, .btn-light, and .btn-dark classes.
Dropped the .btn-default class.
Note that the .btn-info class was initially dropped in Bootstrap 4 but then reappeared again.
Introduced the .btn-outline-* classes for styling buttons with an outline color.
Introduced the .btn-*-outline classes for styling buttons with an outline color.
(The .btn-*-outline classes became .btn-outline-* in Alpha 3).
The .btn-xs class is available.
Dropped the .btn-xs class (only .btn-sm and .btn-lg are available now).
Use .img-responsive class.
Use .img-fluid class.
Use .pull-right, .pull-left, and .center-block helper classes.
Uses .m-x-auto instead of .center-block to align block-level images.
Can also use the various .pull-*-right and .pull-*-left responsive helper classes, as well as the .text-*-left, .text-*-center, and .text-*-right helper classes on the image's parent.
Can use the various .pull-*-none classes to disable floating.
Includes many different classes for media objects, including .media, .media-body.media-object, .media-heading, .media-right, .media-left, and .media-list and .media-body.
Uses just .media class. Margins can be applied using spacer utilities. Media objects are flexbox enabled in Bootstrap 4, so the various flexbox classes can also be applied (such as reordering, etc).
Supports justified button groups (via the .btn-group-justified class).
Supports extra small button groups (via the .btn-group-xs class).
Not supported (dropped the .btn-group-xs class).
There is no .nav-inline class.
Can use the .nav-inline class to explicitly specify navs to be displayed inline.
Limited (preset) color options. Supports inverse navbars but not the other classes.
New (preset) color options. Introduced the .navbar-light and the .navbar-dark classes, and allows the .bg-* classes to be used on navbars.
Use .navbar-right, .navbar-left to align components within the navbar.
Use the various .pull-*-right and .pull-*-left responsive helper classes.Can also use the various .pull-*-none classes to disable floating.
Can either use spacing utilities such as .mr-auto, or any of the flexbox alignment utilities.
Add the .navbar-form class to forms within navbars.
Bootstrap 4 dropped the .navbar-form class. It's no longer necessary.
Uses .navbar-fixed-top and .navbar-fixed-bottom to fix navbars to the top or bottom.
Uses .fixed-top and .fixed-bottom.
Only requires .pagination to be added (to the ul element that represents the list of pages).
Must also add .page-item to each li element and .page-link to each a element.
Uses .previous and .next for aligning pagers.
Pagers have been dropped in Bootstrap 4 (Alpha 3).
Uses .pager-prev and .pager-next for aligning pagers.
The .label-pill class is not available. However, Bootstrap 3 does have badges (which achieves a similar visual effect).
Labels have been replaced by badges in Bootstrap 4.
Badges can use the .badge-pill for rounded corners.
"Tags" are called "Labels" in Bootstrap 3 (i.e. they use the .label class).
Yes.The .tag class was introduced in Bootstrap 4 (Alpha 3) to replace the .label class.This was done to disambiguate from the label element.
Tags have now been renamed to "badges". These replace labels from Bootstrap 3.
The .jumbotron-fluid class is not required on full-width jumbotrons.
Introduced the .jumbotron-fluid class for full-width jumbotrons.
Also requires .breadcrumb-item to be applied against all li elements that make up the breadcrumb.
Breadcrumbs can also be used outside of lists. For example, the .breadcrumb-item could be applied to a bunch of a elements that are wrapped in a .breadcrumb element.
The unset CSS keyword is the combination of the initial and inherit keywords. Like these two other CSS-wide keywords, it can be applied to any CSS property, including the CSS shorthand all. This keyword resets the property to its inherited value if it inherits from its parent or to its initial value if not. In other words, it behaves like the inherit keyword in the first case and like the initial keyword in the second case.