Bootstrap tematizado
Personaliza Bootstrap 4 coas nosas novas variables integradas de Sass para as preferencias de estilo globais para facilitar a temática e os cambios de compoñentes.
En Bootstrap 3, a temática foi impulsada en gran parte por substitucións de variables en LESS, CSS personalizado e unha folla de estilo de tema separada que incluímos nos nosos dist
ficheiros. Con certo esforzo, pódese redeseñar completamente o aspecto de Bootstrap 3 sen tocar os ficheiros principais. Bootstrap 4 ofrece un enfoque familiar, pero lixeiramente diferente.
Agora, a temática realízase mediante variables Sass, mapas Sass e CSS personalizados. Non hai máis folla de estilo temática dedicada; no seu lugar, pode activar o tema incorporado para engadir degradados, sombras e moito máis.
Utiliza os nosos ficheiros de orixe Sass para aproveitar variables, mapas, mixins e moito máis.
Sempre que sexa posible, evite modificar os ficheiros principais de Bootstrap. Para Sass, iso significa crear a túa propia folla de estilo que importe Bootstrap para que poidas modificala e ampliala. Asumindo que está a usar un xestor de paquetes como npm, terá unha estrutura de ficheiros así:
Se descargaches os nosos ficheiros fonte e non estás a usar un xestor de paquetes, quererás configurar manualmente algo semellante a esa estrutura, mantendo os ficheiros fonte de Bootstrap separados dos teus.
No teu custom.scss
, importarás os ficheiros Sass de orixe de Bootstrap. Tes dúas opcións: incluír todo o Bootstrap ou escoller as pezas que necesites. Recomendamos este último, aínda que teña en conta que hai algúns requisitos e dependencias entre os nosos compoñentes. Tamén terás que incluír algo de JavaScript para os nosos complementos.
Con esa configuración, podes comezar a modificar calquera das variables e mapas de Sass no teu custom.scss
. Tamén pode comezar a engadir partes de Bootstrap na // Optional
sección segundo sexa necesario. Suxerimos usar a pila de importación completa do noso bootstrap.scss
ficheiro como punto de partida.
Cada variable de Sass en Bootstrap 4 inclúe a !default
marca que che permite anular o valor predeterminado da variable no teu propio Sass sen modificar o código fonte de Bootstrap. Copie e pegue as variables segundo sexa necesario, modifique os seus valores e elimine a !default
marca. Se xa se asignou unha variable, non se volverá asignar polos valores predeterminados en Bootstrap.
Atoparás a lista completa das variables de Bootstrap en scss/_variables.scss
.
As substitucións de variables dentro do mesmo ficheiro Sass poden vir antes ou despois das variables predeterminadas. Non obstante, ao anular ficheiros Sass, as súas anulacións deben producirse antes de importar os ficheiros Sass de Bootstrap.
Aquí tes un exemplo que cambia o background-color
e color
para o <body>
ao importar e compilar Bootstrap mediante npm:
Repita se é necesario para calquera variable en Bootstrap, incluídas as opcións globais que aparecen a continuación.
Bootstrap 4 inclúe un puñado de mapas Sass, pares de valores clave que facilitan a xeración de familias de CSS relacionados. Usamos mapas Sass para as nosas cores, puntos de interrupción da cuadrícula e moito máis. Do mesmo xeito que as variables de Sass, todos os mapas de Sass inclúen a !default
bandeira e pódense substituír e ampliar.
Algúns dos nosos mapas de Sass combínanse noutros baleiros por defecto. Isto faise para permitir a expansión sinxela dun mapa de Sass determinado, pero ten o custo de dificultar un pouco a eliminación de elementos dun mapa.
Para modificar unha cor existente no noso $theme-colors
mapa, engade o seguinte ao teu ficheiro Sass personalizado:
Para engadir unha cor nova a $theme-colors
, engade a clave e o valor novos:
Para eliminar cores de $theme-colors
, ou de calquera outro mapa, use map-remove
. Teña en conta que debe inserilo entre os nosos requisitos e opcións:
Bootstrap asume a presenza dalgunhas claves específicas dentro dos mapas de Sass tal e como as utilizamos e as ampliamos nós mesmos. A medida que personaliza os mapas incluídos, é posible que se produzan erros nos que se utilice a chave dun mapa Sass específico.
Por exemplo, usamos as teclas primary
, success
, e de para ligazóns, botóns e estados de formulario. A substitución dos valores destas chaves non debería presentar problemas, pero eliminalas pode causar problemas de compilación de Sass. Nestes casos, terás que modificar o código Sass que fai uso deses valores.danger
$theme-colors
Bootstrap utiliza varias funcións de Sass, pero só un subconxunto é aplicable á temática xeral. Incluímos tres funcións para obter valores dos mapas de cores:
Estes permítenche escoller unha cor dun mapa Sass moi parecido a como usarías unha variable de cor da v3.
Tamén temos outra función para obter un determinado nivel de cor do $theme-colors
mapa. Os valores de niveis negativos iluminarán a cor, mentres que os niveis máis altos escurecerán.
Na práctica, chamarías á función e pasarías dous parámetros: o nome da cor de $theme-colors
(por exemplo, primaria ou de perigo) e un nivel numérico.
Poderíanse engadir funcións adicionais no futuro ou o seu propio Sass personalizado para crear funcións de nivel para mapas de Sass adicionais, ou incluso un xenérico se quere ser máis detallado.
Unha función adicional que incluímos en Bootstrap é a función de contraste de cores, color-yiq
. Utiliza o espazo de cor YIQ para devolver automaticamente unha cor de contraste clara ( #fff
) ou escura ( #111
) en función da cor base especificada. Esta función é especialmente útil para mixins ou loops nos que está a xerar varias clases.
Por exemplo, para xerar mostras de cores a partir do noso $theme-colors
mapa:
Tamén se pode usar para necesidades de contraste puntuais:
Tamén podes especificar unha cor base coas nosas funcións de mapa de cores:
Personaliza Bootstrap 4 co noso ficheiro de variables personalizadas integrado e alterna facilmente as preferencias CSS globais coas novas $enable-*
variables de Sass. Anular o valor dunha variable e recompilar npm run test
segundo sexa necesario.
Podes atopar e personalizar estas variables para as opcións globais clave no scss/_variables.scss
ficheiro de Bootstrap.
Variable | Valores | Descrición |
---|---|---|
$spacer |
1rem (predeterminado) ou calquera valor > 0 |
Especifica o valor de separador predeterminado para xerar mediante programación as nosas utilidades de espazo . |
$enable-rounded |
true (predeterminado) oufalse |
Activa border-radius estilos predefinidos en varios compoñentes. |
$enable-shadows |
true ou false (predeterminado) |
Activa box-shadow estilos predefinidos en varios compoñentes. |
$enable-gradients |
true ou false (predeterminado) |
Activa os gradientes predefinidos mediante background-image estilos en varios compoñentes. |
$enable-transitions |
true (predeterminado) oufalse |
Activa transition s predefinidas en varios compoñentes. |
$enable-hover-media-query |
true ou false (predeterminado) |
Obsoleto |
$enable-grid-classes |
true (predeterminado) oufalse |
Permite a xeración de clases CSS para o sistema de cuadrícula (por exemplo, .container , .row , .col-md-1 , etc.). |
$enable-caret |
true (predeterminado) oufalse |
Activa o cursor do pseudoelemento en .dropdown-toggle . |
$enable-print-styles |
true (predeterminado) oufalse |
Activa estilos para optimizar a impresión. |
Moitos dos distintos compoñentes e utilidades de Bootstrap constrúense a través dunha serie de cores definidas nun mapa Sass. Este mapa pódese recorrer en Sass para xerar rapidamente unha serie de regras.
Todas as cores dispoñibles en Bootstrap 4 están dispoñibles como variables Sass e un mapa Sass no scss/_variables.scss
ficheiro. Isto ampliarase en lanzamentos menores posteriores para engadir tons adicionais, ao igual que a paleta de escalas de grises que xa incluímos.
Aquí tes como podes usalos no teu Sass:
Tamén están dispoñibles clases de utilidade de cores para configurar color
e background-color
.
No futuro, pretenderemos proporcionar mapas e variables de Sass para os tons de cada cor, tal e como fixemos coas cores de escala de grises a continuación.
Usamos un subconxunto de todas as cores para crear unha paleta de cores máis pequena para xerar esquemas de cores, tamén dispoñible como variables Sass e un mapa Sass no scss/_variables.scss
ficheiro de Bootstraps.
Un amplo conxunto de variables grises e un mapa Sass scss/_variables.scss
para obter tons de gris consistentes no teu proxecto.
Dentro scss/_variables.scss
de , atoparás as variables de cor de Bootstrap e o mapa de Sass. Aquí tes un exemplo do $colors
mapa Sass:
Engade, elimina ou modifica valores dentro do mapa para actualizar a forma en que se usan noutros compoñentes. Desafortunadamente, neste momento, non todos os compoñentes utilizan este mapa Sass. As futuras actualizacións procurarán mellorar isto. Ata entón, planea facer uso das ${color}
variables e deste mapa de Sass.
Moitos dos compoñentes e utilidades de Bootstrap están construídos con @each
bucles que iteran sobre un mapa Sass. Isto é especialmente útil para xerar variantes dun compoñente polo noso $theme-colors
e crear variantes sensibles para cada punto de interrupción. A medida que personalices estes mapas de Sass e recompiles, verás automaticamente os teus cambios reflectidos nestes bucles.
Moitos dos compoñentes de Bootstrap están construídos cun enfoque de clase modificador base. Isto significa que a maior parte do estilo está contida nunha clase base (por exemplo, .btn
) mentres que as variacións de estilo están limitadas a clases modificadoras (por exemplo, .btn-danger
). Estas clases modificadoras constrúense a partir do $theme-colors
mapa para personalizar o número e o nome das nosas clases modificadoras.
Aquí tes dous exemplos de como recorremos o $theme-colors
mapa para xerar modificadores para o .alert
compoñente e todas as nosas .bg-*
utilidades en segundo plano.
Estes bucles Sass tampouco se limitan a mapas de cores. Tamén pode xerar variacións sensibles dos seus compoñentes ou utilidades. Tome, por exemplo, as nosas utilidades de aliñamento de texto receptivo onde mesturamos un @each
bucle para o $grid-breakpoints
mapa Sass cunha consulta multimedia incluída.
Se necesitas modificar o teu $grid-breakpoints
, os teus cambios aplicaranse a todos os bucles que iteran sobre ese mapa.
Bootstrap 4 inclúe preto de dúas ducias de propiedades personalizadas (variables) CSS no seu CSS compilado. Estes proporcionan un fácil acceso a valores de uso habitual, como as nosas cores do tema, os puntos de interrupción e as pilas de fontes primarias cando traballas no Inspector do teu navegador, nun sandbox de código ou na creación de prototipos en xeral.
Aquí están as variables que incluímos (ten en conta que :root
é necesario). Localízanse no noso _root.scss
ficheiro.
As variables CSS ofrecen unha flexibilidade similar ás variables de Sass, pero sen necesidade de compilalas antes de ser enviadas ao navegador. Por exemplo, aquí estamos a restablecer o tipo de letra e os estilos de ligazón da nosa páxina con variables CSS.
Aínda que orixinalmente incluímos puntos de interrupción nas nosas variables CSS (por exemplo, --breakpoint-md
), estes non se admiten nas consultas multimedia , pero aínda se poden usar dentro de conxuntos de regras nas consultas multimedia. Estas variables de punto de interrupción permanecen no CSS compilado para compatibilidade con versións anteriores, xa que poden ser utilizadas por JavaScript. Máis información na especificación.
Aquí tes un exemplo do que non é compatible:
E aquí tes un exemplo do que se admite: