Migrando para v5
Acompanhe e revise as alterações nos arquivos de origem, documentação e componentes do Bootstrap para ajudá-lo a migrar da v4 para a v5.
Dependências
- jQuery descartado.
- Atualizado de Popper v1.x para Popper v2.x.
- Substituído Libsass por Dart Sass, pois nosso compilador Sass, dado que o Libsass estava obsoleto.
- Migrado de Jekyll para Hugo para construir nossa documentação
Suporte ao navegador
- Descartou o Internet Explorer 10 e 11
- Microsoft Edge < 16 (borda herdada) descartado
- Firefox descartado < 60
- Safári abandonado < 12
- Safari iOS descartado < 12
- Chrome descartado < 60
Alterações na documentação
- Página inicial, layout de documentos e rodapé redesenhados.
- Adicionado novo guia de encomendas .
- Adicionada nova seção Personalizar , substituindo a página Theming da v4 , com novos detalhes sobre Sass, opções de configuração global, esquemas de cores, variáveis CSS e muito mais.
- Reorganizou toda a documentação do formulário em uma nova seção de formulários , dividindo o conteúdo em páginas mais focadas.
- Da mesma forma, atualizou a seção Layout , para detalhar o conteúdo da grade com mais clareza.
- Renomeação da página do componente “Navs” para “Navs & Tabs”.
- Página “Cheques” renomeada para “Cheques e rádios”.
- Redesenhamos a barra de navegação e adicionamos uma nova subnavegação para facilitar a navegação em nossos sites e versões de documentos.
- Adicionado novo atalho de teclado para o campo de pesquisa: Ctrl + /.
Sass
-
Abandonamos as mesclagens de mapas Sass padrão para facilitar a remoção de valores redundantes. Tenha em mente que agora você precisa definir todos os valores nos mapas Sass como
$theme-colors
. Confira como lidar com mapas Sass . -
QuebraFunção renomeada
color-yiq()
e variáveis relacionadascolor-contrast()
, pois não estão mais relacionadas ao espaço de cores YIQ. Consulte #30168.$yiq-contrasted-threshold
é renomeado para$min-contrast-ratio
.$yiq-text-dark
e$yiq-text-light
são renomeados respectivamente para$color-contrast-dark
e$color-contrast-light
.
-
QuebraOs parâmetros de mixins de consulta de mídia foram alterados para uma abordagem mais lógica.
media-breakpoint-down()
usa o próprio ponto de interrupção em vez do próximo ponto de interrupção (por exemplo,media-breakpoint-down(lg)
em vez demedia-breakpoint-down(md)
segmentar viewports menores quelg
).- Da mesma forma, o segundo parâmetro em
media-breakpoint-between()
também usa o próprio ponto de interrupção em vez do próximo ponto de interrupção (por exemplo,media-between(sm, lg)
em vez das portas demedia-breakpoint-between(sm, md)
visualização de destino entresm
elg
).
-
QuebraEstilos de impressão e
$enable-print-styles
variáveis removidos. As aulas de exibição de impressão ainda estão por aí. Consulte #28339 . -
QuebraDescartou funções
color()
,theme-color()
, egray()
em favor de variáveis. Veja #29083 . -
QuebraFunção renomeada
theme-color-level()
paracolor-level()
e agora aceita qualquer cor desejada em vez de apenas$theme-color
cores. Veja #29083 Cuidado:color-level()
mais tarde foi colocado emv5.0.0-alpha3
. -
QuebraRenomeado
$enable-prefers-reduced-motion-media-query
e$enable-pointer-cursor-for-buttons
para$enable-reduced-motion
e$enable-button-pointers
por brevidade. -
QuebraRemovido o
bg-gradient-variant()
mixin. Use a.bg-gradient
classe para adicionar gradientes aos elementos em vez das.bg-gradient-*
classes geradas. -
Quebra Removidos mixins anteriormente obsoletos:
hover
,hover-focus
,plain-hover-focus
ehover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(também eliminou a classe de utilitário associada,.text-hide
)visibility()
form-control-focus()
-
Quebra
scale-color()
Função renomeadashift-color()
para evitar colisão com a própria função de escala de cores do Sass. -
box-shadow
mixins agora permitemnull
valores e descartamnone
vários argumentos. Consulte #30394 . -
O
border-radius()
mixin agora tem um valor padrão.
Sistema de cores
-
O sistema de cores que funcionava
color-level()
e$theme-color-interval
foi removido em favor de um novo sistema de cores. Todas as funçõeslighten()
edarken()
em nossa base de código são substituídas portint-color()
eshade-color()
. Essas funções misturarão a cor com branco ou preto em vez de alterar sua luminosidade por um valor fixo. Oshift-color()
irá tingir ou sombrear uma cor dependendo se seu parâmetro de peso é positivo ou negativo. Veja #30622 para mais detalhes. -
Adicionados novos tons e tonalidades para cada cor, fornecendo nove cores separadas para cada cor base, como novas variáveis Sass.
-
Melhor contraste de cores. Relação de contraste de cores aumentada de 3:1 para 4,5:1 e cores azul, verde, ciano e rosa atualizadas para garantir o contraste WCAG 2.1 AA. Também mudou nossa cor de contraste de cores de
$gray-900
para$black
. -
Para dar suporte ao nosso sistema de cores, adicionamos novos personalizados
tint-color()
eshade-color()
funções para misturar nossas cores adequadamente.
Atualizações de grade
-
Novo ponto de interrupção! Adicionado novo
xxl
ponto de interrupção para1400px
e para cima. Nenhuma alteração em todos os outros pontos de interrupção. -
Calhas melhoradas. As calhas agora são definidas em rems e são mais estreitas que v4 (
1.5rem
, ou aproximadamente24px
, abaixo de30px
). Isso alinha as calhas do nosso sistema de grade com nossos utilitários de espaçamento.- Adicionada nova classe de medianiz (
.g-*
,.gx-*
, e.gy-*
) para controlar medianizes horizontais/verticais, medianizes horizontais e medianizes verticais. - QuebraRenomeado
.no-gutters
para.g-0
para corresponder aos novos utilitários de calha.
- Adicionada nova classe de medianiz (
-
As colunas não são mais
position: relative
aplicadas, portanto, talvez seja necessário adicionar.position-relative
alguns elementos para restaurar esse comportamento. -
QuebraDescartou várias
.order-*
aulas que muitas vezes não eram utilizadas. Agora fornecemos apenas.order-1
para.order-5
fora da caixa. -
QuebraDescartou o
.media
componente, pois pode ser facilmente replicado com utilitários. Consulte #28265 e a página de utilitários flexíveis para obter um exemplo . -
Quebra
bootstrap-grid.css
agora só se aplicabox-sizing: border-box
à coluna em vez de redefinir o dimensionamento de caixa global. Dessa forma, nossos estilos de grade podem ser usados em mais lugares sem interferência. -
$enable-grid-classes
não desabilita mais a geração de classes de contêiner. Veja #29146. -
Atualizado o
make-col
mixin para o padrão de colunas iguais sem um tamanho especificado.
Conteúdo, Reinicialização, etc
-
O RFS agora está habilitado por padrão. Os títulos usando o
font-size()
mixin ajustarão automaticamente suafont-size
escala com a viewport. Esse recurso foi anteriormente ativado com a v4. -
QuebraReformulamos nossa tipografia de exibição para substituir nossas
$display-*
variáveis e com um$display-font-sizes
mapa Sass. Também removeu as$display-*-weight
variáveis individuais para um único$display-font-weight
e ajustadofont-size
s. -
Adicionados dois novos
.display-*
tamanhos de título.display-5
e.display-6
. -
Os links são sublinhados por padrão (não apenas ao passar o mouse), a menos que façam parte de componentes específicos.
-
Tabelas redesenhadas para atualizar seus estilos e reconstruí-las com variáveis CSS para mais controle sobre o estilo.
-
QuebraAs tabelas aninhadas não herdam mais estilos.
-
Quebra
.thead-light
e.thead-dark
são descartados em favor das.table-*
classes variantes que podem ser usadas para todos os elementos da tabela (thead
,tbody
,tfoot
,tr
e )th
.td
-
QuebraO
table-row-variant()
mixin é renomeadotable-variant()
e aceita apenas 2 parâmetros:$color
(nome da cor) e$value
(código da cor). A cor da borda e as cores de destaque são calculadas automaticamente com base nas variáveis do fator da tabela. -
Dividir variáveis de preenchimento de célula de tabela em
-y
e-x
. -
QuebraAula abandonada
.pre-scrollable
. Consulte #29135 -
Quebra
.text-*
utilitários não adicionam mais estados de foco e foco aos links..link-*
classes auxiliares podem ser usadas em vez disso. Consulte #29267 -
QuebraAula abandonada
.text-justify
. Consulte #29793 -
Quebra
<hr>
elementos agora usamheight
em vez deborder
para melhor suportar osize
atributo. Isso também permite o uso de utilitários de preenchimento para criar divisores mais grossos (por exemplo,<hr class="py-1">
). -
Redefina o padrão horizontal e
padding-left
os elementos do padrão do navegador para .<ul>
<ol>
40px
2rem
-
Adicionado
$enable-smooth-scroll
, que se aplicascroll-behavior: smooth
globalmente, exceto para usuários que solicitam movimento reduzido porprefers-reduced-motion
meio de consulta de mídia. Consulte #31877
RTL
- Variáveis, utilitários e mixins específicos de direção horizontal foram renomeados para usar propriedades lógicas como aquelas encontradas em layouts de flexbox - por exemplo,
start
eend
em vez deleft
eright
.
Formulários
-
Adicionadas novas formas flutuantes! Promovemos o exemplo de rótulos flutuantes para componentes de formulário totalmente compatíveis. Consulte a nova página de rótulos flutuantes.
-
Quebra Elementos de formulário nativos e personalizados consolidados. Caixas de seleção, rádios, selects e outras entradas que tinham classes nativas e personalizadas na v4 foram consolidadas. Agora, quase todos os nossos elementos de formulário são totalmente personalizados, a maioria sem a necessidade de HTML personalizado.
.custom-check
é agora.form-check
..custom-check.custom-switch
é agora.form-check.form-switch
..custom-select
é agora.form-select
..custom-file
e.form-file
foram substituídos por estilos personalizados em cima de.form-control
..custom-range
é agora.form-range
.- Nativo
.form-control-file
e.form-control-range
.
-
QuebraCaiu
.input-group-append
e.input-group-prepend
. Agora você pode apenas adicionar botões e.input-group-text
como filhos diretos dos grupos de entrada. -
O erro de longa data da borda ausente no grupo de entrada com feedback de validação foi finalmente corrigido adicionando uma
.has-validation
classe adicional aos grupos de entrada com validação. -
Quebra Eliminamos as classes de layout específicas de formulário para nosso sistema de grade. Use nossa grade e utilitários em vez de
.form-group
,.form-row
, ou.form-inline
. -
QuebraOs rótulos de formulário agora exigem
.form-label
. -
Quebra
.form-text
já não definedisplay
, permitindo que você crie texto de ajuda embutido ou bloco como desejar apenas alterando o elemento HTML. -
Os ícones de validação não são mais aplicados a
<select>
s commultiple
. -
Arquivos Sass de origem reorganizados em
scss/forms/
, incluindo estilos de grupo de entrada.
Componentes
- Valores unificados
padding
para alertas, migalhas de pão, cartões, menus suspensos, grupos de listas, modais, popovers e dicas de ferramentas com base em nossa$spacer
variável. Consulte #30564 .
Acordeão
- Adicionado novo componente de acordeão .
Alertas
-
Os alertas agora têm exemplos com ícones .
-
Estilos personalizados removidos para
<hr>
s em cada alerta, pois eles já usamcurrentColor
.
Distintivos
-
QuebraDescartou todas as
.badge-*
classes de cores para utilitários de segundo plano (por exemplo, use.bg-primary
em vez de.badge-primary
). -
QuebraDescartado
.badge-pill
— use o.rounded-pill
utilitário em vez disso. -
QuebraRemovido os estilos de foco e foco para
<a>
e<button>
elementos. -
Aumento do preenchimento padrão para emblemas de
.25em
/.5em
para.35em
/.65em
.
Migalhas de pão
-
Simplificou a aparência padrão de breadcrumbs removendo
padding
,background-color
, eborder-radius
. -
Adicionada nova propriedade customizada CSS
--bs-breadcrumb-divider
para fácil customização sem a necessidade de recompilar CSS.
Botões
-
Quebra Botões de alternância , com caixas de seleção ou rádios, não exigem mais JavaScript e têm nova marcação. Não precisamos mais de um elemento de encapsulamento, adicionamos
.btn-check
ao<input>
, e o emparelhamos com qualquer.btn
classe no<label>
. Consulte #30650 . Os documentos para isso foram movidos da nossa página de botões para a nova seção de formulários. -
Quebra Descartado
.btn-block
para utilitários. Em vez de usar.btn-block
no.btn
, envolva seus botões com.d-grid
um.gap-*
utilitário para espaçá-los conforme necessário. Mude para classes responsivas para ter ainda mais controle sobre elas. Leia os documentos para alguns exemplos. -
Atualizado nosso
button-variant()
ebutton-outline-variant()
mixins para suportar parâmetros adicionais. -
Botões atualizados para garantir maior contraste nos estados de foco e ativo.
-
Os botões desativados agora têm
pointer-events: none;
.
Cartão
-
QuebraCaiu
.card-deck
em favor da nossa grade. Enrole seus cartões em classes de coluna e adicione um contêiner pai.row-cols-*
para recriar baralhos de cartas (mas com mais controle sobre o alinhamento responsivo). -
QuebraCaiu
.card-columns
em favor da Maçonaria. Veja #28922 . -
QuebraSubstituído o
.card
acordeão baseado por um novo componente de acordeão .
Carrossel
-
Adicionada nova
.carousel-dark
variante para texto escuro, controles e indicadores (ótimo para fundos mais claros). -
Ícones de divisa substituídos para controles de carrossel por novos SVGs de Bootstrap Icons .
Botão Fechar
-
QuebraRenomeado
.close
para.btn-close
para um nome menos genérico. -
Os botões Fechar agora usam um
background-image
(SVG incorporado) em vez de um×
no HTML, permitindo uma personalização mais fácil sem a necessidade de tocar na marcação. -
Adicionada nova
.btn-close-white
variante que usafilter: invert(1)
para habilitar ícones de dispensa de contraste mais altos em fundos mais escuros.
Colapso
- Ancoragem de rolagem removida para acordeões.
Listas suspensas
-
Adicionada nova
.dropdown-menu-dark
variante e variáveis associadas para listas suspensas escuras sob demanda. -
Adicionada nova variável para
$dropdown-padding-x
. -
Escureceu o divisor suspenso para melhorar o contraste.
-
QuebraTodos os eventos para o menu suspenso agora são acionados no botão de alternância do menu suspenso e, em seguida, borbulhados para o elemento pai.
-
Os menus suspensos agora têm um
data-bs-popper="static"
atributo definido quando o posicionamento do menu suspenso é estático edata-bs-popper="none"
quando o menu suspenso está na barra de navegação. Isso é adicionado pelo nosso JavaScript e nos ajuda a usar estilos de posição personalizados sem interferir no posicionamento de Popper. -
QuebraOpção descartada
flip
para o plug-in suspenso em favor da configuração nativa do Popper. Agora você pode desabilitar o comportamento de inversão passando uma matriz vazia para afallbackPlacements
opção no modificador de inversão . -
Os menus suspensos agora podem ser clicáveis com uma nova
autoClose
opção para lidar com o comportamento de fechamento automático . Você pode usar esta opção para aceitar o clique dentro ou fora do menu suspenso para torná-lo interativo. -
As listas suspensas agora suportam
.dropdown-item
s envolto em<li>
s.
Jumbotron
- QuebraDescartou o componente jumbotron, pois pode ser replicado com utilitários. Veja nosso novo exemplo Jumbotron para uma demonstração.
Listar grupo
- Adicionado novo
.list-group-numbered
modificador para listar grupos.
Navegadores e abas
- Adicionadas novas
null
variáveis parafont-size
,font-weight
,color
e:hover
color
à.nav-link
classe.
Barras de navegação
- QuebraNavbars agora exigem um contêiner dentro (para simplificar drasticamente os requisitos de espaçamento e CSS necessário).
Offcanvas
- Adicionado o novo componente offcanvas .
Paginação
-
Os links de paginação agora têm personalizações
margin-left
que são dinamicamente arredondados em todos os cantos quando separados um do outro. -
Adicionado
transition
s aos links de paginação.
Popovers
-
QuebraRenomeado
.arrow
para.popover-arrow
em nosso modelo popover padrão. -
whiteList
Opção renomeada paraallowList
.
Spinners
-
Spinners agora honram
prefers-reduced-motion: reduce
ao desacelerar as animações. Veja #31882 . -
Alinhamento vertical do spinner aprimorado.
Torradas
-
Os brindes agora podem ser posicionados em um
.toast-container
com a ajuda de utilitários de posicionamento . -
A duração padrão do brinde foi alterada para 5 segundos.
-
Removido
overflow: hidden
das torradas e substituído porborder-radius
s próprios comcalc()
funções.
Dicas de ferramentas
-
QuebraRenomeado
.arrow
para.tooltip-arrow
em nosso modelo de dica de ferramenta padrão. -
QuebraO valor padrão para o
fallbackPlacements
é alterado para['top', 'right', 'bottom', 'left']
um melhor posicionamento dos elementos popper. -
Quebra
whiteList
Opção renomeada paraallowList
.
Serviços de utilidade pública
-
QuebraVários utilitários renomeados para usar nomes de propriedades lógicas em vez de nomes direcionais com a adição de suporte RTL:
- Renomeado
.left-*
e.right-*
para.start-*
e.end-*
. - Renomeado
.float-left
e.float-right
para.float-start
e.float-end
. - Renomeado
.border-left
e.border-right
para.border-start
e.border-end
. - Renomeado
.rounded-left
e.rounded-right
para.rounded-start
e.rounded-end
. - Renomeado
.ml-*
e.mr-*
para.ms-*
e.me-*
. - Renomeado
.pl-*
e.pr-*
para.ps-*
e.pe-*
. - Renomeado
.text-left
e.text-right
para.text-start
e.text-end
.
- Renomeado
-
QuebraMargens negativas desativadas por padrão.
-
Adicionada nova
.bg-body
classe para definir rapidamente o<body>
plano de fundo do 's para elementos adicionais. -
Adicionados novos utilitários de posição para
top
,right
,bottom
eleft
. Os valores incluem0
,50%
e100%
para cada propriedade. -
Adicionados novos
.translate-middle-x
e.translate-middle-y
utilitários para elementos posicionados absolutos/fixos no centro horizontal ou vertical. -
Adicionados novos
border-width
utilitários . -
QuebraRenomeado
.text-monospace
para.font-monospace
. -
QuebraRemovido
.text-hide
, pois é um método antiquado para ocultar texto que não deve mais ser usado. -
Utilitários adicionados
.fs-*
parafont-size
utilitários (com RFS ativado). Eles usam a mesma escala dos cabeçalhos padrão do HTML (1-6, grande para pequeno) e podem ser modificados via mapa Sass. -
Quebra
.font-weight-*
Utilitários renomeados quanto.fw-*
à brevidade e consistência. -
Quebra
.font-style-*
Utilitários renomeados quanto.fst-*
à brevidade e consistência. -
Adicionado
.d-grid
a utilitários de exibição e novosgap
utilitários (.gap
) para layouts CSS Grid e flexbox. -
QuebraRemovido
.rounded-sm
erounded-lg
, e introduzido uma nova escala de classes,.rounded-0
para.rounded-3
. Veja #31687 . -
Adicionados novos
line-height
utilitários:.lh-1
,.lh-sm
,.lh-base
e.lh-lg
. Veja aqui . -
Movido o
.d-none
utilitário em nosso CSS para dar mais peso sobre outros utilitários de exibição. -
Estendeu o
.visually-hidden-focusable
auxiliar para trabalhar também em contêineres, usando:focus-within
.
Ajudantes
-
Quebra Os auxiliares de incorporação responsivos foram renomeados para auxiliares de proporção com novos nomes de classe e comportamentos aprimorados, bem como uma variável CSS útil.
- As classes foram renomeadas para mudar
by
parax
a proporção. Por exemplo,.ratio-16by9
agora é.ratio-16x9
. - Deixamos de lado o
.embed-responsive-item
seletor de grupo de elementos e em favor de um.ratio > *
seletor mais simples. Não é necessária mais classe, e o auxiliar de proporção agora funciona com qualquer elemento HTML. - O
$embed-responsive-aspect-ratios
mapa Sass foi renomeado$aspect-ratios
e seus valores foram simplificados para incluir o nome da classe e a porcentagem como okey: value
par. - As variáveis CSS agora são geradas e incluídas para cada valor no mapa Sass. Modifique a
--bs-aspect-ratio
variável no.ratio
para criar qualquer proporção personalizada .
- As classes foram renomeadas para mudar
-
Quebra As classes de “leitores de tela” agora são classes “ocultas visualmente” .
- Alterado o arquivo Sass de
scss/helpers/_screenreaders.scss
parascss/helpers/_visually-hidden.scss
- Renomeado
.sr-only
e.sr-only-focusable
para.visually-hidden
e.visually-hidden-focusable
- Renomeado
sr-only()
esr-only-focusable()
mixins paravisually-hidden()
evisually-hidden-focusable()
.
- Alterado o arquivo Sass de
-
bootstrap-utilities.css
agora também inclui nossos ajudantes. Os auxiliares não precisam mais ser importados em compilações personalizadas.
JavaScript
-
Descartou a dependência do jQuery e reescreveu os plugins para estarem em JavaScript normal.
-
QuebraOs atributos de dados para todos os plug-ins JavaScript agora têm namespaces para ajudar a distinguir a funcionalidade do Bootstrap de terceiros e de seu próprio código. Por exemplo, usamos
data-bs-toggle
em vez dedata-toggle
. -
Todos os plugins agora podem aceitar um seletor CSS como o primeiro argumento. Você pode passar um elemento DOM ou qualquer seletor CSS válido para criar uma nova instância do plugin:
var modal = new bootstrap.Modal('#myModal') var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
pode ser passado como uma função que aceita a configuração padrão do Popper do Bootstrap como um argumento, para que você possa mesclar essa configuração padrão do seu jeito. Aplica-se a listas suspensas, popovers e dicas de ferramentas. -
O valor padrão para o
fallbackPlacements
é alterado['top', 'right', 'bottom', 'left']
para melhor posicionamento dos elementos Popper. Aplica-se a listas suspensas, popovers e dicas de ferramentas. -
Removido o sublinhado de métodos estáticos públicos como
_getInstance()
→getInstance()
.