Migrando para v4
Bootstrap 4 é uma grande reescrita de todo o projeto. As mudanças mais notáveis estão resumidas abaixo, seguidas por mudanças mais específicas nos componentes relevantes.
Mudanças estáveis
Passando do Beta 3 para nossa versão estável v4.x, não há mudanças importantes, mas há algumas mudanças notáveis.
Impressão
-
Corrigidos utilitários de impressão quebrados. Anteriormente, o uso de uma
.d-print-*
classe anularia inesperadamente qualquer outra.d-*
classe. Agora, eles correspondem aos nossos outros utilitários de exibição e se aplicam apenas a essa mídia (@media print
). -
Utilitários de exibição de impressão disponíveis expandidos para corresponder a outros utilitários. Beta 3 e mais antigos tinham apenas
block
,inline-block
,inline
, enone
. Stable v4 adicionadoflex
,inline-flex
,table
,table-row
, etable-cell
. -
Corrigida a renderização da visualização de impressão nos navegadores com novos estilos de impressão que especificam
@page
size
.
Alterações do Beta 3
Embora o Beta 2 tenha visto a maior parte de nossas mudanças importantes durante a fase beta, ainda temos algumas que precisam ser corrigidas na versão Beta 3. Essas alterações se aplicam se você estiver atualizando para o Beta 3 do Beta 2 ou qualquer versão mais antiga do Bootstrap.
Diversos
- Removida a
$thumbnail-transition
variável não utilizada. Não estávamos fazendo a transição de nada, então era apenas código extra. - O pacote npm não inclui mais nenhum arquivo além de nossos arquivos source e dist; se você confiava neles e estava executando nossos scripts por meio da
node_modules
pasta, você deve adaptar seu fluxo de trabalho.
Formulários
-
Reescreveu caixas de seleção e rádios personalizados e padrão. Agora, ambos têm estrutura HTML correspondente (externa
<div>
com irmão<input>
e<label>
) e os mesmos estilos de layout (padrão empilhado, inline com classe modificadora). Isso nos permite estilizar o rótulo com base no estado da entrada, simplificando o suporte para odisabled
atributo (anteriormente exigindo uma classe pai) e suportando melhor nossa validação de formulário.Como parte disso, alteramos o CSS para gerenciar vários
background-image
s em caixas de seleção e rádios de formulário personalizado. Anteriormente, o elemento agora removido.custom-control-indicator
tinha a cor de fundo, gradiente e ícone SVG. Personalizar o gradiente do plano de fundo significava substituir todos eles sempre que você precisasse alterar apenas um. Agora, temos.custom-control-label::before
para preenchimento e gradiente e.custom-control-label::after
trata do ícone.Para fazer uma verificação personalizada em linha, adicione
.custom-control-inline
. -
Seletor atualizado para grupos de botões baseados em entrada. Em vez de
[data-toggle="buttons"] { }
estilo e comportamento, usamos odata
atributo apenas para comportamentos JS e contamos com uma nova.btn-group-toggle
classe para estilo. -
Removido
.col-form-legend
em favor de um.col-form-label
. Desta forma.col-form-label-sm
e.col-form-label-lg
pode ser usado em<legend>
elementos com facilidade. -
As entradas de arquivo personalizado receberam uma alteração em sua
$custom-file-text
variável Sass. Não é mais um mapa Sass aninhado e agora alimenta apenas uma string - oBrowse
botão como esse agora é o único pseudoelemento gerado a partir do nosso Sass. OChoose file
texto agora vem do.custom-file-label
.
Grupos de entrada
-
Os complementos do grupo de entrada agora são específicos para seu posicionamento em relação a uma entrada. Desistimos
.input-group-addon
e.input-group-btn
para duas novas classes,.input-group-prepend
e.input-group-append
. Você deve usar explicitamente um anexo ou um prefixo agora, simplificando muito do nosso CSS. Dentro de um anexo ou prefixo, coloque seus botões como eles existiriam em qualquer outro lugar, mas envolva o texto em.input-group-text
. -
Estilos de validação agora são suportados, assim como várias entradas (embora você só possa validar uma entrada por grupo).
-
As classes de dimensionamento devem estar no pai
.input-group
e não nos elementos de formulário individuais.
Alterações do Beta 2
Enquanto estiver na versão beta, nosso objetivo é não ter alterações significativas. No entanto, nem sempre as coisas saem como planejado. Abaixo estão as mudanças importantes a serem lembradas ao passar do Beta 1 para o Beta 2.
Quebra
$badge-color
Variável removida e seu uso em.badge
. Usamos uma função de contraste de cor para escolher umcolor
com base nobackground-color
, portanto, a variável é desnecessária.grayscale()
Função renomeadagray()
para evitar conflitos com ograyscale
filtro nativo CSS.- Renomeado
.table-inverse
,.thead-inverse
e.thead-default
para.*-dark
e.*-light
, combinando com nossos esquemas de cores usados em outros lugares. - As tabelas responsivas agora geram classes para cada ponto de interrupção da grade. Isso quebra do Beta 1, pois o
.table-responsive
que você está usando é mais parecido com.table-responsive-md
. Agora você pode usar.table-responsive
ou.table-responsive-{sm,md,lg,xl}
conforme necessário. - O suporte do Bower foi descartado como o gerenciador de pacotes foi preterido para alternativas (por exemplo, Yarn ou npm). Veja bower/bower#2298 para detalhes.
- O Bootstrap ainda requer jQuery 1.9.1 ou superior, mas é aconselhável usar a versão 3.x já que os navegadores suportados pela v3.x são os que o Bootstrap suporta mais a v3.x tem algumas correções de segurança.
- Removida a
.form-control-label
classe não utilizada. Se você fez uso dessa classe, ela era uma duplicata da.col-form-label
classe que centralizava verticalmente a<label>
com sua entrada associada em layouts de formulário horizontal. - Alterado
color-yiq
de um mixin que incluía acolor
propriedade para uma função que retorna um valor, permitindo que você o use para qualquer propriedade CSS. Por exemplo, em vez decolor-yiq(#000)
, você escreveriacolor: color-yiq(#000);
.
Destaques
- Introduzido novo
pointer-events
uso em modais. O externo.modal-dialog
passa por eventos compointer-events: none
manipulação de cliques personalizada (tornando possível apenas ouvir os.modal-backdrop
cliques) e, em seguida, neutraliza-os para o real.modal-content
compointer-events: auto
.
Resumo
Aqui estão os itens importantes dos quais você deve estar ciente ao migrar da v3 para a v4.
Suporte ao navegador
- Suporte para IE8, IE9 e iOS 6 descartado. v4 agora é apenas IE10+ e iOS 7+. Para sites que precisam de qualquer um desses, use v3.
- Adicionado suporte oficial para navegador e WebView do Android v5.0 Lollipop. As versões anteriores do navegador Android e do WebView permanecem apenas com suporte não oficial.
Mudanças globais
- O Flexbox é habilitado por padrão. Em geral, isso significa um afastamento dos floats e mais em nossos componentes.
- Alterado de Less para Sass para nossos arquivos CSS de origem.
- Alterado de
px
pararem
como nossa unidade CSS principal, embora os pixels ainda sejam usados para consultas de mídia e comportamento de grade, pois as janelas de visualização do dispositivo não são afetadas pelo tamanho do tipo. - O tamanho da fonte global aumentou de
14px
para16px
. - Camadas de grade renovadas para adicionar uma quinta opção (endereçando dispositivos menores em
576px
e abaixo) e removeu o-xs
infixo dessas classes. Exemplo:.col-6.col-sm-4.col-md-3
. - Substituído o tema opcional separado por opções configuráveis por meio de variáveis SCSS (por exemplo,
$enable-gradients: true
). - Sistema de compilação revisado para usar uma série de scripts npm em vez de Grunt. Veja
package.json
todos os scripts ou nosso leia-me do projeto para necessidades de desenvolvimento local. - O uso não responsivo do Bootstrap não é mais suportado.
- Descartou o personalizador online em favor de uma documentação de configuração mais extensa e compilações personalizadas.
- Adicionadas dezenas de novas classes de utilitários para pares de valores de propriedade CSS comuns e atalhos de espaçamento de margem/preenchimento.
Sistema de rede
- Movido para flexbox.
- Adicionado suporte para flexbox nos mixins de grade e classes predefinidas.
- Como parte do flexbox, inclui suporte para classes de alinhamento vertical e horizontal.
- Nomes de classe de grade atualizados e uma nova camada de grade.
- Adicionada uma nova
sm
camada de grade abaixo768px
para controle mais granular. Agora temosxs
,sm
,md
,lg
, exl
. Isso também significa que cada nível foi aumentado um nível (portanto,.col-md-6
na v3 agora está.col-lg-6
na v4). xs
as classes de grade foram modificadas para não exigir que o infixo represente com mais precisão que eles começam a aplicar estilos emmin-width: 0
e não em um valor de pixel definido. Em vez de.col-xs-6
, é agora.col-6
. Todas as outras camadas de grade exigem o infixo (por exemplo,sm
).
- Adicionada uma nova
- Tamanhos de grade, mixins e variáveis atualizados.
- As medianizes de grade agora têm um mapa Sass para que você possa especificar larguras de medianiz específicas em cada ponto de interrupção.
- Mixins de grade atualizados para utilizar um
make-col-ready
mixin de preparação e ummake-col
para definir oflex
emax-width
para o dimensionamento de coluna individual. - Pontos de interrupção de consulta de mídia do sistema de grade alterados e larguras de contêiner para levar em conta a nova camada de grade e garantir que as colunas sejam divisíveis uniformemente por
12
sua largura máxima. - Pontos de interrupção de grade e larguras de contêiner agora são tratados por meio de mapas Sass (
$grid-breakpoints
e$container-max-widths
) em vez de um punhado de variáveis separadas. Eles substituem@screen-*
totalmente as variáveis e permitem que você personalize totalmente as camadas de grade. - As consultas de mídia também mudaram. Em vez de repetir nossas declarações de consulta de mídia com o mesmo valor todas as vezes, agora temos
@include media-breakpoint-up/down/only
. Agora, em vez de escrever@media (min-width: @screen-sm-min) { ... }
, você pode escrever@include media-breakpoint-up(sm) { ... }
.
Componentes
- Painéis, miniaturas e poços descartados para um novo componente abrangente, cartões .
- Descartou a fonte do ícone Glyphicons. Se você precisar de ícones, algumas opções são:
- a versão upstream do Glyphicons
- Octicons
- Fonte incrível
- Consulte a página Estender para obter uma lista de alternativas. Tem sugestões adicionais? Por favor, abra um problema ou PR.
- Descartou o plug-in Affix jQuery.
- Recomendamos usar
position: sticky
em vez disso. Consulte a entrada HTML5 Please para obter detalhes e recomendações específicas de polyfill. Uma sugestão é usar uma@supports
regra para implementá-la (por exemplo,@supports (position: sticky) { ... }
) - Se você estivesse usando o Affix para aplicar não-
position
estilos adicionais, os polyfills podem não suportar seu caso de uso. Uma opção para tais usos é a biblioteca ScrollPos-Styler de terceiros .
- Recomendamos usar
- Descartou o componente do pager , pois era essencialmente botões ligeiramente personalizados.
- Refatorou quase todos os componentes para usar mais seletores de classe não aninhados em vez de seletores filhos muito específicos.
Por componente
Esta lista destaca as principais alterações por componente entre v3.xx e v4.0.0.
Reinício
Uma novidade no Bootstrap 4 é o Reboot , uma nova folha de estilo que se baseia no Normalize com nossos próprios estilos de redefinição um tanto opinativos. Os seletores que aparecem neste arquivo usam apenas elementos—não há classes aqui. Isso isola nossos estilos de redefinição de nossos estilos de componentes para uma abordagem mais modular. Algumas das redefinições mais importantes que isso inclui são a box-sizing: border-box
alteração, passando de em
para rem
unidades em muitos elementos, estilos de link e muitas redefinições de elementos de formulário.
Tipografia
.text-
Todos os utilitários foram movidos para o_utilities.scss
arquivo.- Descartado
.page-header
, pois seus estilos podem ser aplicados por meio de utilitários. .dl-horizontal
foi descartado. Em vez disso, use.row
on<dl>
e use classes de coluna de grade (ou mixins) em its<dt>
e<dd>
filhos.- Citações em bloco redesenhadas, movendo seus estilos do
<blockquote>
elemento para uma única classe,.blockquote
. Descartou o.blockquote-reverse
modificador para utilitários de texto. .list-inline
agora requer que seus itens de lista filhos tenham a nova.list-inline-item
classe aplicada a eles.
Imagens
- Renomeado
.img-responsive
para.img-fluid
. - Renomeado
.img-rounded
para.rounded
- Renomeado
.img-circle
para.rounded-circle
Tabelas
- Quase todas as instâncias do
>
seletor foram removidas, o que significa que as tabelas aninhadas agora herdarão automaticamente os estilos de seus pais. Isso simplifica muito nossos seletores e possíveis personalizações. - Renomeado
.table-condensed
para.table-sm
por consistência. - Adicionada uma nova
.table-inverse
opção. - Adicionados modificadores de cabeçalho de tabela:
.thead-default
e.thead-inverse
. - Classes contextuais renomeadas para ter um
.table-
prefixo -. Portanto.active
,.success
,.warning
,.danger
e.info
para.table-active
,.table-success
,.table-warning
,.table-danger
e.table-info
.
Formulários
- O elemento movido é redefinido para o
_reboot.scss
arquivo. - Renomeado
.control-label
para.col-form-label
. - Renomeado
.input-lg
e.input-sm
para.form-control-lg
e.form-control-sm
, respectivamente. - Aulas abandonadas
.form-group-*
por uma questão de simplicidade. Use.form-control-*
classes agora. - Eliminado
.help-block
e substituído.form-text
por um texto de ajuda em nível de bloco. Para texto de ajuda embutido e outras opções flexíveis, use classes de utilitário como.text-muted
. - Caiu
.radio-inline
e.checkbox-inline
. - Consolidado
.checkbox
e.radio
em.form-check
e as várias.form-check-*
classes. - Formas horizontais revisadas:
- Descartou o
.form-horizontal
requisito de classe. .form-group
não aplica mais estilos da.row
via mixin, então.row
agora é necessário para layouts de grade horizontal (por exemplo,<div class="form-group row">
).- Adicionada nova
.col-form-label
classe aos rótulos centralizados verticalmente com.form-control
s. - Adicionado novo
.form-row
para layouts de formulário compactos com as classes de grade (troque o seu.row
por um.form-row
e pronto).
- Descartou o
- Adicionado suporte a formulários personalizados (para caixas de seleção, rádios, seleções e entradas de arquivo).
- Substituição das classes
.has-error
,.has-warning
, e.has-success
pela validação de formulário HTML5 via CSS:invalid
e:valid
pseudo-classes. - Renomeado
.form-control-static
para.form-control-plaintext
.
Botões
- Renomeado
.btn-default
para.btn-secondary
. - Descartou a
.btn-xs
classe inteiramente, pois.btn-sm
é proporcionalmente muito menor que a v3. - O recurso de botão stateful
button.js
do plugin jQuery foi descartado. Isso inclui os métodos$().button(string)
e .$().button('reset')
Aconselhamos usar um pouco de JavaScript personalizado, que terá o benefício de se comportar exatamente da maneira que você deseja.- Observe que os outros recursos do plug-in (caixas de seleção de botão, rádios de botão, botões de alternância simples) foram mantidos na v4.
- Altere os botões
[disabled]
para:disabled
como o IE9+ suporta:disabled
. No entantofieldset[disabled]
, ainda é necessário porque os conjuntos de campos desabilitados nativos ainda apresentam bugs no IE11 .
Grupo de botões
- Reescreveu o componente com flexbox.
- Removido
.btn-group-justified
. Como substituto, você pode usar<div class="btn-group d-flex" role="group"></div>
como um wrapper em torno de elementos com.w-100
. - Descartou a
.btn-group-xs
classe inteiramente dada a remoção de.btn-xs
. - Removido o espaçamento explícito entre grupos de botões nas barras de ferramentas de botões; use utilitários de margem agora.
- Documentação aprimorada para uso com outros componentes.
Listas suspensas
- Alterado de seletores pai para classes singulares para todos os componentes, modificadores, etc.
- Estilos suspensos simplificados para não serem mais fornecidos com setas voltadas para cima ou para baixo anexadas ao menu suspenso.
- Dropdowns podem ser construídos com
<div>
s ou<ul>
s agora. - Estilos e marcação suspensos reconstruídos para fornecer suporte fácil e integrado para
<a>
itens<button>
suspensos baseados. - Renomeado
.divider
para.dropdown-divider
. - Itens suspensos agora exigem
.dropdown-item
. - As alternâncias suspensas não exigem mais um explícito
<span class="caret"></span>
; isso agora é fornecido automaticamente via CSS::after
em.dropdown-toggle
.
Sistema de rede
- Adicionado um novo
576px
ponto de interrupção de grade comosm
, o que significa que agora há cinco níveis totais (xs
,sm
,md
,lg
exl
). - Renomeamos as classes modificadoras de grade responsivas de
.col-{breakpoint}-{modifier}-{size}
para.{modifier}-{breakpoint}-{size}
para classes de grade mais simples. - Classes modificadoras push e pull eliminadas para as novas classes com flexbox
order
. Por exemplo, em vez de.col-8.push-4
e.col-4.pull-8
, você usaria.col-8.order-2
e.col-4.order-1
. - Adicionadas classes de utilitário flexbox para sistema de grade e componentes.
Listar grupos
- Reescreveu o componente com flexbox.
- Substituído
a.list-group-item
por uma classe explícita,.list-group-item-action
, para estilizar versões de link e botão de itens de grupo de lista. - Classe adicionada
.list-group-flush
para uso com cartões.
Modal
- Reescreveu o componente com flexbox.
- Dada a mudança para o flexbox, o alinhamento dos ícones de dispensa no cabeçalho provavelmente está quebrado, pois não estamos mais usando flutuadores. O conteúdo flutuante vem em primeiro lugar, mas com o flexbox isso não é mais o caso. Atualize seus ícones de dispensa para vir após os títulos modais para corrigir.
- A
remote
opção (que poderia ser usada para carregar e injetar automaticamente conteúdo externo em um modal) e oloaded.bs.modal
evento correspondente foram removidos. Recomendamos usar templates do lado do cliente ou uma estrutura de vinculação de dados, ou chamar jQuery.load você mesmo.
Navegadores
- Reescreveu o componente com flexbox.
- Quase todos os
>
seletores foram descartados para um estilo mais simples por meio de classes não aninhadas. - Em vez de seletores específicos de HTML como
.nav > li > a
, usamos classes separadas para.nav
s,.nav-item
s e.nav-link
s. Isso torna seu HTML mais flexível ao mesmo tempo em que traz maior extensibilidade.
Barra de navegação
A barra de navegação foi totalmente reescrita em flexbox com suporte aprimorado para alinhamento, capacidade de resposta e personalização.
- Comportamentos de barra de navegação responsivos agora são aplicados à
.navbar
classe por meio de onde.navbar-expand-{breakpoint}
você escolhe onde recolher a barra de navegação. Anteriormente, isso era uma modificação de menos variável e exigia recompilação. .navbar-default
é agora.navbar-light
, embora.navbar-dark
permaneça o mesmo. Um deles é necessário em cada barra de navegação. No entanto, essas classes não definem maisbackground-color
s; em vez disso, eles essencialmente afetam apenascolor
.- As Navbars agora requerem algum tipo de declaração de background. Escolha um dos nossos utilitários de segundo plano (
.bg-*
) ou defina o seu próprio com as classes light/inverse acima para uma personalização louca . - Dados os estilos do flexbox, as navbars agora podem usar os utilitários do flexbox para facilitar as opções de alinhamento.
.navbar-toggle
é agora.navbar-toggler
e tem estilos diferentes e marcação interna (não mais três<span>
s).- Abandonou a
.navbar-form
classe completamente. Não é mais necessário; em vez disso, apenas use.form-inline
e aplique utilitários de margem conforme necessário. - Navbars não incluem mais
margin-bottom
ouborder-radius
por padrão. Use utilitários conforme necessário. - Todos os exemplos com navbars foram atualizados para incluir nova marcação.
Paginação
- Reescreveu o componente com flexbox.
- Classes explícitas (
.page-item
,.page-link
) agora são necessárias nos descendentes de.pagination
s - Descartou o
.pager
componente completamente, pois era pouco mais do que botões de contorno personalizados.
Migalhas de pão
- Uma classe explícita,
.breadcrumb-item
, agora é necessária nos descendentes de.breadcrumb
s
Etiquetas e emblemas
- Consolidado
.label
e.badge
para desambiguar do<label>
elemento e simplificar componentes relacionados. - Adicionado
.badge-pill
como modificador para aparência de “pílula” arredondada. - Os emblemas não são mais flutuados automaticamente em grupos de listas e outros componentes. Classes de utilitários agora são necessárias para isso.
.badge-default
foi descartado e.badge-secondary
adicionado para corresponder às classes modificadoras de componentes usadas em outros lugares.
Painéis, miniaturas e poços
Foi totalmente descartado para o novo componente de cartão.
Painéis
.panel
para.card
, agora construído com flexbox..panel-default
removido e sem substituição..panel-group
removido e sem substituição..card-group
não é uma substituição, é diferente..panel-heading
para.card-header
.panel-title
para.card-title
. Dependendo da aparência desejada, você também pode usar elementos ou classes de título (por exemplo<h3>
, ,.h3
) ou elementos ou classes em negrito (por exemplo<strong>
,<b>
, ,.font-weight-bold
). Observe que.card-title
, embora com nome semelhante, produz uma aparência diferente de.panel-title
..panel-body
para.card-body
.panel-footer
para.card-footer
.panel-primary
,.panel-success
,.panel-info
,.panel-warning
, e.panel-danger
foram descartados para.bg-
,.text-
, e.border
utilitários gerados a partir de nosso$theme-colors
mapa Sass.
Progresso
.progress-bar-*
Classes contextuais substituídas por.bg-*
utilitários. Por exemplo,class="progress-bar progress-bar-danger"
torna -seclass="progress-bar bg-danger"
.- Substituído
.active
para barras de progresso animadas por.progress-bar-animated
.
Carrossel
- Reformulou todo o componente para simplificar o design e o estilo. Temos menos estilos para você substituir, novos indicadores e novos ícones.
- Todo o CSS foi desaninhado e renomeado, garantindo que cada classe seja prefixada com
.carousel-
.- Para itens de carrossel,
.next
,.prev
,.left
e.right
agora são.carousel-item-next
,.carousel-item-prev
,.carousel-item-left
e.carousel-item-right
. .item
também é agora.carousel-item
.- Para controles anteriores/seguintes,
.carousel-control.right
e.carousel-control.left
são agora.carousel-control-next
e.carousel-control-prev
, o que significa que eles não exigem mais uma classe base específica.
- Para itens de carrossel,
- Removido todos os estilos responsivos, adiando para utilitários (por exemplo, mostrando legendas em determinadas janelas de visualização) e estilos personalizados conforme necessário.
- Removidas sobreposições de imagem para imagens em itens de carrossel, adiando para utilitários.
- Ajustamos o exemplo do carrossel para incluir a nova marcação e estilos.
Tabelas
- Removido o suporte para tabelas aninhadas com estilo. Todos os estilos de tabela agora são herdados na v4 para seletores mais simples.
- Adicionada variante de tabela inversa.
Serviços de utilidade pública
- Exibir, oculto e muito mais:
- Utilitários de exibição responsivos (por exemplo,
.d-none
ed-{sm,md,lg,xl}-none
). - Descartou a maior parte dos
.hidden-*
utilitários para novos utilitários de exibição . Por exemplo, em vez de.hidden-sm-up
, use.d-sm-none
. Os utilitários foram renomeados.hidden-print
para usar o esquema de nomenclatura do utilitário de exibição. Mais informações na seção Utilitários responsivos desta página. - Classes adicionadas
.float-{sm,md,lg,xl}-{left,right,none}
para floats responsivos e removidas.pull-left
,.pull-right
já que são redundantes para.float-left
e.float-right
.
- Utilitários de exibição responsivos (por exemplo,
- Modelo:
- Adicionadas variações responsivas às nossas classes de alinhamento de texto
.text-{sm,md,lg,xl}-{left,center,right}
.
- Adicionadas variações responsivas às nossas classes de alinhamento de texto
- Alinhamento e espaçamento:
- Adicionados novos utilitários de margem e preenchimento responsivos para todos os lados, além de atalhos verticais e horizontais.
- Adicionado carregamento de utilitários flexbox .
- Desistiu
.center-block
para a nova.mx-auto
classe.
- Clearfix atualizado para descartar o suporte para versões mais antigas do navegador.
Mixins de prefixo de fornecedor
Os mixins de prefixo do fornecedor do Bootstrap 3 , que foram obsoletos na v3.2.0, foram removidos no Bootstrap 4. Como usamos o Autoprefixer , eles não são mais necessários.
Removidos os seguintes mixins: animation
, animation-delay
, animation-direction
, animation-duration
, animation-fill-mode
, animation-iteration-count
, animation-name
, animation-timing-function
, backface-visibility
, box-sizing
, content-columns
, hyphens
, opacity
, perspective
, perspective-origin
, rotate
, rotateX
, rotateY
, scale
, scaleX
, scaleY
, skew
, transform-origin
, transition-delay
, transition-duration
, transition-property
, transition-timing-function
, transition-transform
, translate
, translate3d
,user-select
Documentação
Nossa documentação também recebeu uma atualização geral. Aqui está o baixo:
- Ainda estamos usando Jekyll, mas temos plugins no mix:
bugify.rb
é usado para listar eficientemente as entradas em nossa página de bugs do navegador .example.rb
é uma bifurcação personalizada do plugin padrãohighlight.rb
, permitindo uma manipulação mais fácil do código de exemplo.callout.rb
é um fork personalizado semelhante, mas projetado para nossos textos explicativos de documentos especiais.- jekyll-toc é usado para gerar nosso índice.
- Todo o conteúdo de documentos foi reescrito em Markdown (em vez de HTML) para facilitar a edição.
- As páginas foram reorganizadas para um conteúdo mais simples e uma hierarquia mais acessível.
- Mudamos de CSS regular para SCSS para aproveitar ao máximo as variáveis, mixins e muito mais do Bootstrap.
Utilitários responsivos
Todas as @screen-
variáveis foram removidas na v4.0.0. Use os mixins media-breakpoint-up()
, media-breakpoint-down()
, ou Sass ou o mapa Sass.media-breakpoint-only()
$grid-breakpoints
Nossas classes de utilitários responsivos foram amplamente removidas em favor de display
utilitários explícitos.
- As classes
.hidden
e.show
foram removidas porque entravam em conflito com os métodos$(...).hide()
e do jQuery.$(...).show()
Em vez disso, tente alternar o[hidden]
atributo ou use estilos embutidos comostyle="display: none;"
estyle="display: block;"
. - Todas as
.hidden-
classes foram removidas, exceto os utilitários de impressão que foram renomeados.- Removido da v3:
.hidden-xs
.hidden-sm
.hidden-md
.hidden-lg
.visible-xs-block
.visible-xs-inline
.visible-xs-inline-block
.visible-sm-block
.visible-sm-inline
.visible-sm-inline-block
.visible-md-block
.visible-md-inline
.visible-md-inline-block
.visible-lg-block
.visible-lg-inline
.visible-lg-inline-block
- Removido dos alfas da v4:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- Removido da v3:
- Os utilitários de impressão não começam mais com
.hidden-
ou.visible-
, mas com.d-print-
.- Nomes antigos:
.visible-print-block
,.visible-print-inline
,.visible-print-inline-block
,.hidden-print
- Novas classes:
.d-print-block
,.d-print-inline
,.d-print-inline-block
,.d-print-none
- Nomes antigos:
Em vez de usar classes explícitas .visible-*
, você torna um elemento visível simplesmente não o ocultando nesse tamanho de tela. Você pode combinar uma .d-*-none
classe com uma .d-*-block
classe para mostrar um elemento apenas em um determinado intervalo de tamanhos de tela (por exemplo .d-none.d-md-block.d-xl-none
, mostra o elemento apenas em dispositivos médios e grandes).
Observe que as alterações nos pontos de interrupção da grade na v4 significam que você precisará aumentar um ponto de interrupção para obter os mesmos resultados. As novas classes de utilitário responsivo não tentam acomodar casos menos comuns em que a visibilidade de um elemento não pode ser expressa como um único intervalo contíguo de tamanhos de janela de visualização; você precisará usar CSS personalizado nesses casos.