O Bootstrap é construído em grades, layouts e componentes responsivos de 12 colunas.
Bootstrap faz uso de certos elementos HTML e propriedades CSS que requerem o uso do doctype HTML5. Inclua-o no início de todos os seus projetos.
- <!DOCTYPEhtml>
- <html lang = "pt" >
- ...
- </html>
O Bootstrap define os estilos básicos de exibição global, tipografia e link. Especificamente, nós:
margin
no corpobackground-color: white;
nobody
@baseFontFamily
base @baseFontSize
tipográfica@baseLineHeight
@linkColor
e aplique sublinhados de link somente em:hover
Esses estilos podem ser encontrados em scaffolding.less .
Com o Bootstrap 2, o antigo bloco de reinicialização foi descartado em favor do Normalize.css , um projeto de Nicolas Gallagher e Jonathan Neal que também alimenta o HTML5 Boilerplate . Embora usemos muito do Normalize em nosso reset.less , removemos alguns elementos especificamente para o Bootstrap.
O sistema de grade padrão do Bootstrap utiliza 12 colunas , criando um contêiner de 940px de largura sem recursos responsivos ativados. Com o arquivo CSS responsivo adicionado, a grade se adapta para ter 724px e 1170px de largura, dependendo da sua janela de visualização. Abaixo das viewports de 767px, as colunas se tornam fluidas e empilhadas verticalmente.
Para um layout simples de duas colunas, crie um .row
e adicione o número apropriado de .span*
colunas. Como esta é uma grade de 12 colunas, cada .span*
uma abrange um número dessas 12 colunas e deve sempre somar 12 para cada linha (ou o número de colunas no pai).
- <div class = "linha" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Dado este exemplo, temos .span4
e .span8
, totalizando 12 colunas e uma linha completa.
Mova as colunas para a direita usando .offset*
classes. Cada classe aumenta a margem esquerda de uma coluna em uma coluna inteira. Por exemplo, .offset4
move -se .span4
por quatro colunas.
- <div class = "linha" >
- <div class = "span4" > ... </div>
- <div class = "span3 offset2" > ... </div>
- </div>
Para aninhar seu conteúdo com a grade padrão, adicione um novo .row
e um conjunto de .span*
colunas em uma .span*
coluna existente. As linhas aninhadas devem incluir um conjunto de colunas que somam o número de colunas de seu pai.
- <div class = "linha" >
- <div class = "span9" >
- Coluna de nível 1
- <div class = "linha" >
- <div class = "span6" > Nível 2 </div>
- <div class = "span3" > Nível 2 </div>
- </div>
- </div>
- </div>
O sistema de grade fluida usa porcentagens em vez de pixels para larguras de coluna. Ele tem os mesmos recursos responsivos do nosso sistema de grade fixa, garantindo proporções adequadas para as principais resoluções de tela e dispositivos.
Torne qualquer linha "fluida" alterando .row
para .row-fluid
. As classes de coluna permanecem exatamente as mesmas, facilitando a alternância entre grades fixas e fluidas.
- <div class = "fluido de linha" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Funciona da mesma forma que o deslocamento do sistema de grade fixa: adicione .offset*
a qualquer coluna para compensar por esse número de colunas.
- <div class = "fluido de linha" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset2" > ... </div>
- </div>
As grades fluidas utilizam o aninhamento de maneira diferente: cada nível aninhado de colunas deve adicionar até 12 colunas. Isso ocorre porque a grade fluida usa porcentagens, não pixels, para definir larguras.
- <div class = "fluido de linha" >
- <div class = "span12" >
- Fluido 12
- <div class = "fluido de linha" >
- <div class = "span6" >
- Fluido 6
- <div class = "fluido de linha" >
- <div class = "span6" > Fluido 6 </div>
- <div class = "span6" > Fluido 6 </div>
- </div>
- </div>
- <div class = "span6" > Fluido 6 </div>
- </div>
- </div>
- </div>
Fornece um layout comum de largura fixa (e opcionalmente responsivo) com apenas o <div class="container">
necessário.
- <corpo>
- <div class = "contêiner" >
- ...
- </div>
- </body>
Crie uma página fluida de duas colunas com <div class="container-fluid">
—ótimo para aplicativos e documentos.
- <div class = "contêiner-fluido" >
- <div class = "fluido de linha" >
- <div class = "span2" >
- <!--Conteúdo da barra lateral-->
- </div>
- <div class = "span10" >
- <!--Conteúdo do corpo-->
- </div>
- </div>
- </div>
Ative o CSS responsivo em seu projeto, incluindo a metatag apropriada e a folha de estilo adicional dentro <head>
do seu documento. Se você compilou o Bootstrap na página Personalizar, você só precisa incluir a metatag.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
- <link href = "assets/css/bootstrap-responsive.css" rel = "folha de estilo" >
Atenção!Bootstrap não inclui recursos responsivos por padrão neste momento, pois nem tudo precisa ser responsivo. Em vez de incentivar os desenvolvedores a remover esse recurso, achamos melhor ativá-lo conforme necessário.
As consultas de mídia permitem CSS personalizado com base em várias condições - proporções, larguras, tipo de exibição etc. - mas geralmente se concentram em min-width
e max-width
.
Use as consultas de mídia com responsabilidade e apenas como um começo para seu público móvel. Para projetos maiores, considere bases de código dedicadas e não camadas de consultas de mídia.
O Bootstrap suporta várias consultas de mídia em um único arquivo para ajudar a tornar seus projetos mais apropriados em diferentes dispositivos e resoluções de tela. Aqui está o que está incluído:
Etiqueta | Largura do layout | Largura da coluna | largura da calha |
---|---|---|---|
Tela grande | 1200px e superior | 70px | 30px |
Predefinição | 980px e superior | 60px | 20px |
Tablets de retrato | 768px e acima | 42px | 20px |
Telefones para tablets | 767px e abaixo | Colunas fluidas, sem larguras fixas | |
Telefones | 480px e abaixo | Colunas fluidas, sem larguras fixas |
- /* Área de trabalho grande */
- @media ( largura mínima : 1200px ) { ... } _
- /* Retrato tablet para paisagem e desktop */
- @media ( min - width : 768px ) e ( max - width : 979px ) { ... }
- /* Telefone paisagem para tablet retrato */
- @media ( max - width : 767px ) { ... }
- /* Telefones paisagem e para baixo */
- @media ( largura máxima : 480px ) { ... } _
Para um desenvolvimento mais rápido e otimizado para dispositivos móveis, use essas classes de utilitários para mostrar e ocultar conteúdo por dispositivo. Abaixo está uma tabela das classes disponíveis e seus efeitos em um determinado layout de consulta de mídia (rotulado por dispositivo). Eles podem ser encontrados em responsive.less
.
Classe | Telefones767px e abaixo | Comprimidos979px a 768px | DesktopsPredefinição |
---|---|---|---|
.visible-phone |
Visível | Escondido | Escondido |
.visible-tablet |
Escondido | Visível | Escondido |
.visible-desktop |
Escondido | Escondido | Visível |
.hidden-phone |
Escondido | Visível | Visível |
.hidden-tablet |
Visível | Escondido | Visível |
.hidden-desktop |
Visível | Visível | Escondido |
Use de forma limitada e evite criar versões totalmente diferentes do mesmo site. Em vez disso, use-os para complementar a apresentação de cada dispositivo. Utilitários responsivos não devem ser usados com tabelas e, como tal, não são suportados.
Redimensione seu navegador ou carregue em dispositivos diferentes para testar as classes acima.
Marcas de seleção verdes indicam que a classe está visível em sua viewport atual.
Aqui, as marcas de seleção verdes indicam que a classe está oculta na sua janela de visualização atual.