Reboot
Reboot, uma série de customizações para elementos em único arquivo CSS, ajuda o Bootstrap prover uma base elegante, consistente e simples de se construir em cima.
Abordagem
O Reboot é construído baseado no Normalize, possibilitando muitos elementos HTML sem estilos baseados em opiniões e usando apenas seletores de elementos. Por exemplo, nós customizamos alguns estilos do <table>
para uma base mais simples e, então, te damos a oportunidade de usar .table
, .table-bordered
e outras classes.
Aqui estão nossas diretrizes e razões para termos escolhidos oquê sobrescrever, no Reboot:
- Atualizar alguns valores padrões de navegadores para usar
rem
s, invés deem
s para espaçamento de componentes escaláveis; - Evitar
margin-top
. Margens verticais podem colapsar, resultando em resultados inesperados. Mais importante ainda: uma única direção de margem é mentalmente mais simples; - Para escalar facilmente através de diferentes tamanhos de dispositivos, elementos
block
devem usarrem
s em suas margens; - Manter o mínimo de declarações relacionadas a propriedade
font
, usando o valorinherit
sempre que possível.
Padrões de páginas
Os elementos <html>
e <body>
são atualizados para possibilitarem melhores padrões, em toda a página. Mais especificamente:
box-sizing
é configurado globalmente em todos elementos, incluindo*::before
e*::after
. Isso assegura que a largura declarada do elemento nunca exceda, devido a padding ou borda;- Nenhum tamanho de fonte base é declarado no
<html>
, mas assumimos o padrão do navegador (16px
). É declaradofont-size: 1rem
no<body>
para escalar o texto fácil e responsivamente usando media queries, enquanto é respeitado as preferências do usuário e garantindo uma abordagem mais acessível.
- Nenhum tamanho de fonte base é declarado no
- O
<body>
também configurafont-family
,line-height
etext-align
, globalmente. Isso é herdado mais tarde por alguns elementos de formulário, para previnir inconsistência em fontes. - Por segurança, o
<body>
tembackground-color
padrão de#fff
declarado.
Pilha de fontes nativas
As fontes web padrões (Helvetica Neue, Helvetica e Arial) foram descartadas no Bootstrap 4 e substituídas com uma “pilha de fontes nativas” para otimizar rederização de texto em todo dispositivo e SO. Leia mais sobre pilhas de fontes nativas, nesse artigo da Smashing Magazine.
Esta font-family
é aplicada ao <body>
e herdada Bootstrap adentro, global e automaticamente. Para trocar a font-family
global, basta atualizar a variável $font-family-base
e recompilar o Bootstrap.
Cabeçalhos e parágrafos
Todos elementos de cabeçalho e parágrafo são resetados para terem margin-top
removido. Cabeçalhos possuem margin-bottom: .5rem
e parágrafos margin-bottom: 1rem
para espaçamento mais fácil.
Cabeçalho | Exemplo |
---|---|
|
h1. Cabeçalho Bootstrap |
|
h2. Cabeçalho Bootstrap |
|
h3. Cabeçalho Bootstrap |
|
h4. Cabeçalho Bootstrap |
|
h5. Cabeçalho Bootstrap |
|
h6. Cabeçalho Bootstrap |
Listas
Todas listas (<ul>
, <ol>
e <dl>
) possuem seus valores para margin-top
removidos e uma margin-bottom: 1rem
. Listas aninhadas não possuem nenhuma margin-bottom.
- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Phasellus iaculis neque
- Purus sodales ultricies
- Vestibulum laoreet porttitor sem
- Ac tristique libero volutpat at
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
Para estilização mais simples, hierarquia mais limpa e melhor espaçamento, listas de descrição possuem margens customizadas. <dd>
s possuem margin-left
com valor 0
e adicionam margin-bottom: .5rem
. <dt>
s estão formatadas em negrito.
- Lista de descrições
- Uma lista de descrições é perfeita para definir termos.
- Euismod
- Vestibulum id ligula porta felis euismod semper eget lacinia odio sem.
- Donec id elit non mi porta gravida at eget metus.
- Malesuada porta
- Etiam porta sem malesuada magna mollis euismod.
Textos pré-formatados
O elemento <pre>
é configurado para remover sua margin-top
e usar rem
em sua margin-bottom
.
.example-element { margin-bottom: 1rem; }
Tabelas
Tabelas são ajustadas sutilmente para estilizar elementos <caption>
, colapsar bordas e garantir que o text-align
seja consistente. Mudanças adicionais para bordas, paddings e outras propriedades são adicionadas com a classe .table
.
Cabeçalho da tabela | Cabeçalho da tabela | Cabeçalho da tabela | Cabeçalho da tabela |
---|---|---|---|
Célula da tabela | Célula da tabela | Célula da tabela | Célula da tabela |
Célula da tabela | Célula da tabela | Célula da tabela | Célula da tabela |
Célula da tabela | Célula da tabela | Célula da tabela | Célula da tabela |
Formulários
Vários elementos de formulário são resetados para estilos mais básicos. Aqui vai algumas das mudanças mais notáveis:
- Os
<fieldset>
s não possuem bordas, padding ou margem, então, eles podem ser usados facilmente como wrappers para grupos ou inputs individuais; - A tag
<legend>
, como os fieldsets, também foram re-estilizados para serem mostrados como um tipo de cabeçalho; - As
<label>
s são configuradas para teremdisplay: inline-block
e permitir que margens sejam aplicadas; - Os
<input>
s,<select>
s,<textarea>
s e<button>
s são mais estilizados pelo Normalize, mas o Reboot remove suas margens e configuraline-height: inherit
, também; - Tags
<textarea>
são modificadas para apenas serem redimensionáveis verticalmente, já que horizontalmente costuma quebrar o layout da página.
Essas mudanças e outras, são mostradas abaixo.
Elementos variados
Address
O elemento <address>
é atualizado para resetar os padrões da font-style
de itálico para normal. A line-height
é herdada e a margin-bottom: 1rem
foi acrescentada. As tags <address>
são para apresentar informações de contato para o ancestral mais próximo ou um determinado trabalho. Preserve sua formatação, colocando <br>
no final de suas linhas.
Rua Market, 1355, Suíte 900
São Francisco, CA 94103
Tel: (123) 456-7890 Nome completo
fulano.ciclano@exemplo.com
Blockquote
O valor padrão das margens no <blockquote>
é 1em 40px
, então, nós resetamos para 0 0 1rem
e conseguimos algo mais consistente em outros elementos.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
Elementos inline
O elemento <abbr>
recebe estilos básicos para se destacar dentro do texto do parágrafo.
Summary
O valor padrão da propriedade cursor
é text
, então, nós resetamos para pointer
para dar a impressão que é possível interagir com elemento, clicando nele.
Alguns detalhes
Mais informações sobre os detalhes
Mais detalhes
Mais informações ainda sobre os detalhes.
Atributo HTML5 [hidden]
HTML5 acrescentou um novo atributo global denominado [hidden]
, o qual é estilizado como display: none
, por padrão. Pegando uma ideia emprestada do PureCSS, nós aprimoramos esse valor padrão fazendo com que tenha a flag !important
, previnindo que sua propriedade display seja sobrescrita, acidentalmente. Além do mais, o atributo [hidden]
não é suportado nativamente no IE10 e esta declaração no nosso CSS contorna esse problema.
Incompatibilidade jQuery
O atributo [hidden]
não é compatível com os métodos JQuery $(...).hide()
e $(...).show()
. Portanto, atualmente, nós não usamos [hidden]
no lugar de outras técnicas para gerenciar o display
de elementos.
Para a simples troca de visibilidade de um elemento, sem modificar o valor do display
e continuar permitindo que o elemento tenha efeito no fluxo do documento, use a class .invisible
.