©
このドキュメントでは、php中国語ネットマニュアルリリース
Bootstrap 4是整个项目的重大改写。下面总结了最显着的变化,随后对相关组件进行了更具体的更改。
While in beta, we aim to have no breaking changes. However, things don’t always go as planned. Below are the breaking changes to bear in mind when moving from Beta 1 to Beta 2.
Removed$badge-color
variable and its usage on.badge
. We use a color contrast function to pick acolor
based on thebackground-color
, so the variable is unnecessary.
Renamedgrayscale()
function togray()
to avoid breaking conflict with the CSS nativegrayscale
filter.
Renamed.table-inverse
,.thead-inverse
, and.thead-default
to.*-dark
and.*-light
, matching our color schemes used elsewhere.
Responsive tables now generate classes for each grid breakpoint. This breaks from Beta 1 in that the.table-responsive
you’ve been using is more like.table-responsive-md
. You may now use.table-responsive
or.table-responsive-{sm,md,lg,xl}
as needed.
Dropped Bower support as the package manager has been deprecated for alternatives (e.g., Yarn or npm). See bower/bower#2298 for details.
Bootstrap still requires jQuery 1.9.1 or higher, but you’re advised to use version 3.x since v3.x’s supported browsers are the ones Bootstrap supports plus v3.x has some security fixes.
Removed the unused.form-control-label
class. If you did make use of this class, it was duplicate of the.col-form-label
class that vertically centered awith it’s associated input in horizontal form layouts.
Changed thecolor-yiq
from a mixin that included thecolor
property to a function that returns a value, allowing you to use it for any CSS property. For example, instead ofcolor-yiq(#000)
, you’d writecolor: color-yiq(#000);
.
Introduced newpointer-events
usage on modals. The outer.modal-dialog
passes through events withpointer-events: none
for custom click handling (making it possible to just listen on the.modal-backdrop
for any clicks), and then counteracts it for the actual.modal-content
withpointer-events: auto
.
Here are the big ticket items you’ll want to be aware of when moving from v3 to v4.
Dropped IE8, IE9, and iOS 6 support. v4 is now only IE10+ and iOS 7+. For sites needing either of those, use v3.
Added official support for Android v5.0 Lollipop’s Browser and WebView. Earlier versions of the Android Browser and WebView remain only unofficially supported.
Flexbox is enabled by default.In general this means a move away from floats and more across our components.
Switched from Less to Sass for our source CSS files.
Switched frompx
torem
as our primary CSS unit, though pixels are still used for media queries and grid behavior as device viewports are not affected by type size.
Global font-size increased from14px
to16px
.
Revamped grid tiers to add a fifth option (addressing smaller devices at576px
and below) and removed the-xs
infix from those classes. Example:.col-6.col-sm-4.col-md-3
.
Replaced the separate optional theme with configurable options via SCSS variables (e.g.,$enable-gradients: true
).
Build system overhauled to use a series of npm scripts instead of Grunt. Seepackage.json
for all scripts, or our project readme for local development needs.
Non-responsive usage of Bootstrap is no longer supported.
Dropped the online Customizer in favor of more extensive setup documentation and customized builds.
Added dozens of new utility classes for common CSS property-value pairs and margin/padding spacing shortcuts.
Moved to flexbox.
Added support for flexbox in the grid mixins and predefined classes.
As part of flexbox, included support for vertical and horizontal alignment classes.
Updated grid class names and a new grid tier.
Added a newsm
grid tier below768px
for more granular control. We now havexs
,sm
,md
,lg
, andxl
. This also means every tier has been bumped up one level (so.col-md-6
in v3 is now.col-lg-6
in v4).
xs
grid classes have been modified to not require the infix to more accurately represent that they start applying styles atmin-width: 0
and not a set pixel value. Instead of.col-xs-6
, it’s now.col-6
. All other grid tiers require the infix (e.g.,sm
).
Updated grid sizes, mixins, and variables.
Grid gutters now have a Sass map so you can specify specific gutter widths at each breakpoint.
Updated grid mixins to utilize amake-col-ready
prep mixin and amake-col
to set theflex
andmax-width
for individual column sizing.
Changed grid system media query breakpoints and container widths to account for new grid tier and ensure columns are evenly divisible by12
at their max width.
Grid breakpoints and container widths are now handled via Sass maps ($grid-breakpoints
and$container-max-widths
) instead of a handful of separate variables. These replace the@screen-*
variables entirely and allow you to fully customize the grid tiers.
Media queries have also changed. Instead of repeating our media query declarations with the same value each time, we now have@include media-breakpoint-up/down/only
. Now, instead of writing@media (min-width: @screen-sm-min) { ... }
, you can write@include media-breakpoint-up(sm) { ... }
.
Dropped panels, thumbnails, and wellsfor a new all-encompassing component, cards.
Dropped the Glyphicons icon font.If you need icons, some options are:
the upstream version of Glyphicons
Octicons
Font Awesome
See the Extend page for a list of alternatives. Have additional suggestions? Please open an issue or PR.
Dropped the Affix jQuery plugin.
We recommend usingposition: sticky
instead. See the HTML5 Please entry for details and specific polyfill recommendations. One suggestion is to use an@supports
rule for implementing it (e.g.,@supports (position: sticky) { ... }
)/
If you were using Affix to apply additional, non-position
styles, the polyfills might not support your use case. One option for such uses is the third-party ScrollPos-Styler library.
Dropped the pager componentas it was essentially slightly customized buttons.
Refactored nearly all componentsto use more un-nested class selectors instead of over-specific children selectors.
This list highlights key changes by component between v3.x.x and v4.0.0.
New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with our own somewhat opinionated reset styles. Selectors appearing in this file only use elements—there are no classes here. This isolates our reset styles from our component styles for a more modular approach. Some of the most important resets this includes are thebox-sizing: border-box
change, moving fromem
torem
units on many elements, link styles, and many form element resets.
Moved all.text-
utilities to the_utilities.scss
file.
Dropped.page-header
as, aside from the border, all its styles can be applied via utilities.
.dl-horizontal
has been dropped. Instead, use.row
on
and use grid column classes (or mixins) on itsand
children.
Customstyling has moved to classes—
.blockquote
and the.blockquote-reverse
modifier.
.list-inline
now requires that its children list items have the new.list-inline-item
class applied to them.
Renamed.img-responsive
to.img-fluid
.
Renamed.img-rounded
to.rounded
Renamed.img-circle
to.rounded-circle
Nearly all instances of the>
selector have been removed, meaning nested tables will now automatically inherit styles from their parents. This greatly simplifies our selectors and potential customizations.
Responsive tables no longer require a wrapping element. Instead, just put the.table-responsive
right on the