Bootstrap de temas
Personalize o Bootstrap 4 com nossas novas variáveis Sass integradas para preferências globais de estilo para fácil alteração de temas e componentes.
No Bootstrap 3, o tema foi amplamente orientado por substituições de variáveis em LESS, CSS personalizado e uma folha de estilo de tema separada que incluímos em nossos dist
arquivos. Com algum esforço, pode-se redesenhar completamente a aparência do Bootstrap 3 sem tocar nos arquivos principais. O Bootstrap 4 fornece uma abordagem familiar, mas um pouco diferente.
Agora, o tema é realizado por variáveis Sass, mapas Sass e CSS personalizado. Não há mais folha de estilo de tema dedicada; em vez disso, você pode habilitar o tema interno para adicionar gradientes, sombras e muito mais.
Utilize nossos arquivos Sass de origem para tirar proveito de variáveis, mapas, mixins e muito mais.
Sempre que possível, evite modificar os arquivos principais do Bootstrap. Para Sass, isso significa criar sua própria folha de estilo que importa o Bootstrap para que você possa modificá-lo e estendê-lo. Supondo que você esteja usando um gerenciador de pacotes como o npm, você terá uma estrutura de arquivos parecida com esta:
Se você baixou nossos arquivos de origem e não está usando um gerenciador de pacotes, você vai querer configurar manualmente algo semelhante a essa estrutura, mantendo os arquivos de origem do Bootstrap separados dos seus.
No seu custom.scss
, você importará os arquivos Sass de origem do Bootstrap. Você tem duas opções: incluir todo o Bootstrap ou escolher as peças que você precisa. Incentivamos o último, embora esteja ciente de que existem alguns requisitos e dependências em nossos componentes. Você também precisará incluir algum JavaScript para nossos plugins.
Com essa configuração, você pode começar a modificar qualquer uma das variáveis e mapas Sass em seu arquivo custom.scss
. Você também pode começar a adicionar partes do Bootstrap na // Optional
seção conforme necessário. Sugerimos usar a pilha de importação completa do nosso bootstrap.scss
arquivo como ponto de partida.
Cada variável Sass no Bootstrap 4 inclui o !default
sinalizador que permite substituir o valor padrão da variável em seu próprio Sass sem modificar o código-fonte do Bootstrap. Copie e cole variáveis conforme necessário, modifique seus valores e remova o !default
sinalizador. Se uma variável já foi atribuída, ela não será reatribuída pelos valores padrão no Bootstrap.
As substituições de variáveis dentro do mesmo arquivo Sass podem vir antes ou depois das variáveis padrão. No entanto, ao substituir arquivos Sass, suas substituições devem vir antes de importar os arquivos Sass do Bootstrap.
Aqui está um exemplo que altera o background-color
and color
para <body>
ao importar e compilar o Bootstrap via npm:
Repita conforme necessário para qualquer variável no Bootstrap, incluindo as opções globais abaixo.
O Bootstrap 4 inclui um punhado de mapas Sass, pares de valores-chave que facilitam a geração de famílias de CSS relacionados. Usamos mapas Sass para nossas cores, pontos de interrupção de grade e muito mais. Assim como as variáveis Sass, todos os mapas Sass incluem o !default
sinalizador e podem ser substituídos e estendidos.
Alguns de nossos mapas Sass são mesclados em mapas vazios por padrão. Isso é feito para permitir a expansão fácil de um determinado mapa Sass, mas tem o custo de tornar a remoção de itens de um mapa um pouco mais difícil.
Para modificar uma cor existente em nosso $theme-colors
mapa, adicione o seguinte ao seu arquivo Sass personalizado:
Para adicionar uma nova cor a $theme-colors
, adicione a nova chave e valor:
Para remover cores de $theme-colors
ou de qualquer outro mapa, use map-remove
:
O Bootstrap assume a presença de algumas chaves específicas dentro dos mapas Sass conforme usamos e estendemos por nós mesmos. Conforme você personaliza os mapas incluídos, você pode encontrar erros onde a chave de um mapa Sass específico está sendo usada.
Por exemplo, usamos as teclas , e de primary
para success
links , botões e estados de formulário. Substituir os valores dessas chaves não deve apresentar problemas, mas removê-los pode causar problemas de compilação do Sass. Nesses casos, você precisará modificar o código Sass que faz uso desses valores.danger
$theme-colors
Bootstrap utiliza várias funções Sass, mas apenas um subconjunto é aplicável a temas gerais. Incluímos três funções para obter valores dos mapas de cores:
Eles permitem que você escolha uma cor de um mapa Sass, da mesma forma que você usaria uma variável de cor da v3.
Também temos outra função para obter um determinado nível de cor do $theme-colors
mapa. Valores de nível negativo clareiam a cor, enquanto níveis mais altos escurecem.
Na prática, você chamaria a função e passaria dois parâmetros: o nome da cor de $theme-colors
(por exemplo, primária ou perigo) e um nível numérico.
Funções adicionais podem ser adicionadas no futuro ou seu próprio Sass personalizado para criar funções de nível para mapas Sass adicionais, ou mesmo um genérico se você quiser ser mais detalhado.
Uma função adicional que incluímos no Bootstrap é a função de contraste de cores, color-yiq
. Ele utiliza o espaço de cores YIQ para retornar automaticamente uma cor de contraste clara ( #fff
) ou escura ( #111
) com base na cor base especificada. Esta função é especialmente útil para mixins ou loops onde você está gerando várias classes.
Por exemplo, para gerar amostras de cores do nosso $theme-colors
mapa:
Também pode ser usado para necessidades pontuais de contraste:
Você também pode especificar uma cor base com nossas funções de mapa de cores:
Personalize o Bootstrap 4 com nosso arquivo de variáveis personalizadas integrado e alterne facilmente as preferências globais de CSS com novas $enable-*
variáveis Sass. Substitua o valor de uma variável e recompile npm run test
conforme necessário.
Você pode encontrar e personalizar essas variáveis para as principais opções globais em nosso _variables.scss
arquivo.
Variável | Valores | Descrição |
---|---|---|
$spacer |
1rem (padrão) ou qualquer valor > 0 |
Especifica o valor de espaçador padrão para gerar programaticamente nossos utilitários de espaçador . |
$enable-rounded |
true (padrão) oufalse |
Habilita estilos predefinidos border-radius em vários componentes. |
$enable-shadows |
true ou false (padrão) |
Habilita estilos predefinidos box-shadow em vários componentes. |
$enable-gradients |
true ou false (padrão) |
Permite gradientes predefinidos por meio background-image de estilos em vários componentes. |
$enable-transitions |
true (padrão) oufalse |
Habilita transition s predefinidos em vários componentes. |
$enable-hover-media-query |
true ou false (padrão) |
Descontinuada |
$enable-grid-classes |
true (padrão) oufalse |
Possibilita a geração de classes CSS para o sistema de grade (por exemplo, .container , .row , .col-md-1 , etc.). |
$enable-caret |
true (padrão) oufalse |
Habilita o cursor do pseudo elemento em .dropdown-toggle . |
$enable-print-styles |
true (padrão) oufalse |
Ativa estilos para otimizar a impressão. |
Muitos dos vários componentes e utilitários do Bootstrap são construídos através de uma série de cores definidas em um mapa Sass. Este mapa pode ser repetido no Sass para gerar rapidamente uma série de conjuntos de regras.
Todas as cores disponíveis no Bootstrap 4, estão disponíveis como variáveis Sass e um mapa Sass em nosso scss/_variables.scss
arquivo. Isso será expandido em versões menores subsequentes para adicionar tons adicionais, bem como a paleta de tons de cinza que já incluímos.
Veja como você pode usá-los em seu Sass:
As classes de utilitário de cores também estão disponíveis para configuração color
e background-color
.
No futuro, teremos como objetivo fornecer mapas e variáveis Sass para tons de cada cor, como fizemos com as cores em tons de cinza abaixo.
Usamos um subconjunto de todas as cores para criar uma paleta de cores menor para gerar esquemas de cores, também disponíveis como variáveis Sass e um mapa Sass em nosso scss/_variables.scss
arquivo.
Um amplo conjunto de variáveis de cinza e um mapa Sass scss/_variables.scss
para tons consistentes de cinza em seu projeto.
Em _variables.scss
, você encontrará nossas variáveis de cores e o mapa Sass. Aqui está um exemplo do $colors
mapa Sass:
Adicione, remova ou modifique valores no mapa para atualizar como eles são usados em muitos outros componentes. Infelizmente, neste momento, nem todos os componentes utilizam este mapa Sass. Atualizações futuras se esforçarão para melhorar isso. Até lá, planeje fazer uso das ${color}
variáveis e deste mapa Sass.
Muitos dos componentes e utilitários do Bootstrap são construídos com @each
loops que iteram sobre um mapa Sass. Isso é especialmente útil para gerar variantes de um componente $theme-colors
e criar variantes responsivas para cada ponto de interrupção. À medida que você personaliza esses mapas Sass e recompila, você verá automaticamente suas alterações refletidas nesses loops.
Muitos dos componentes do Bootstrap são construídos com uma abordagem de classe modificadora de base. Isso significa que a maior parte do estilo está contida em uma classe base (por exemplo, .btn
), enquanto as variações de estilo estão confinadas a classes modificadoras (por exemplo, .btn-danger
). Essas classes modificadoras são construídas a partir do $theme-colors
mapa para personalizar o número e o nome de nossas classes modificadoras.
Aqui estão dois exemplos de como fazemos um loop no $theme-colors
mapa para gerar modificadores para o .alert
componente e todos os nossos .bg-*
utilitários em segundo plano.
Esses loops Sass também não se limitam a mapas de cores. Você também pode gerar variações responsivas de seus componentes ou utilitários. Veja, por exemplo, nossos utilitários de alinhamento de texto responsivo, onde misturamos um @each
loop para o $grid-breakpoints
mapa Sass com uma consulta de mídia incluída.
Se você precisar modificar seu $grid-breakpoints
, suas alterações serão aplicadas a todos os loops que iteram nesse mapa.
O Bootstrap 4 inclui cerca de duas dúzias de propriedades personalizadas CSS (variáveis) em seu CSS compilado. Eles fornecem acesso fácil a valores comumente usados, como nossas cores de tema, pontos de interrupção e pilhas de fontes primárias ao trabalhar no Inspetor do seu navegador, uma caixa de proteção de código ou prototipagem geral.
Aqui estão as variáveis que incluímos (observe que o :root
é obrigatório). Eles estão localizados em nosso _root.scss
arquivo.
As variáveis CSS oferecem flexibilidade semelhante às variáveis do Sass, mas sem a necessidade de compilação antes de serem servidas ao navegador. Por exemplo, aqui estamos redefinindo a fonte da nossa página e os estilos de link com variáveis CSS.
Você também pode usar nossas variáveis de ponto de interrupção em suas consultas de mídia: