Bootstrap é uma estrutura CSS gratuita e de código aberto direcionada ao desenvolvimento web front-end responsivo e mobile-first. Ele contém modelos de design baseados em CSS e JavaScript para tipografia, formulários, botões, navegação e outros componentes de interface.
Bootstrap foi criado por Mark Otto e Jacob Thornton no Twitter e agora é usado por mais de 12 milhões de sites. Bootstrap é de código aberto e está disponível no GitHub.
Por que todos falam sobre o Bootstrap?
Bootstrap é a estrutura HTML, CSS e JavaScript mais popular para o desenvolvimento de sites responsivos e voltados para dispositivos móveis. O Bootstrap é totalmente gratuito para baixar e usar.
Os desenvolvedores da Web adoram o Bootstrap porque os ajuda a criar sites responsivos de maneira mais rápida e fácil. Bootstrap é uma estrutura front-end que inclui componentes CSS e JavaScript pré-construídos que são fáceis de usar e personalizar.
Bootstrap é fácil de usar. Você só precisa incluir os arquivos Bootstrap CSS e JS em seu código HTML. Bootstrap também está disponível como arquivos Sass e Less.
Como instalar o Bootstrap em um projeto
Para instalar o Bootstrap de forma rápida, você pode instalar via package manager ou via CDN, vou explicar melhor como realizar e o que é cada um destes a seguir:
Instalação via Package Manager
Um package manager (gerenciador de pacotes) é uma ferramenta usada para automatizar a instalação, atualização, configuração e remoção de software. Em particular, ele gerencia bibliotecas de código de terceiros e suas dependências, permitindo que desenvolvedores integrem facilmente funcionalidades adicionais em seus projetos sem ter que reinventar a roda. Os package managers são amplamente utilizados em diversos ecossistemas de desenvolvimento de software.
Para instalar é muito fácil, abra seu CLI e caso já tenha o node instalado em seu computador digite:
npm install bootstrap@5.3.3
ou caso tenha o ruby:
gem install bootstrap -v 5.3.3
As vantagens deste tipo de instalação no seu projeto são:
- Facilita a instalação e atualização de bibliotecas.
- Gerencia as dependências automaticamente.
- Mantém o projeto organizado e atualizado com as versões mais recentes dos pacotes.
Instalação via CDN
Uma Content Delivery Network (CDN) é uma rede de servidores distribuídos geograficamente que trabalham juntos para entregar conteúdo da web de forma rápida e eficiente. As CDNs armazenam cópias em cache do conteúdo estático do site, como imagens, vídeos, scripts e estilos, em vários pontos ao redor do mundo. Quando um usuário acessa um site, a CDN entrega o conteúdo a partir do servidor mais próximo do usuário, reduzindo a latência e melhorando a velocidade de carregamento do site.
Para instalar via CDN, só é necessário colar os seguintes códigos dentro da tag <head>
do seu código:
<link href=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css” rel=”stylesheet”>
<script src=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js”></script>
A vantagem da instalação via CND é:
- Reduz a latência e melhora o tempo de carregamento do site.
- Aumenta a disponibilidade e a redundância do conteúdo.
- Melhora a experiência do usuário, especialmente em locais distantes do servidor de origem.
Grid responsiva com Bootstrap
Bootstrap também oferece a capacidade de criar designs responsivos facilmente. O design responsivo é um método de desenvolvimento web que faz com que suas páginas tenham uma boa aparência em todos os dispositivos (desktops, laptops, tablets e telefones).
O sistema de grade responsivo do Bootstrap é baseado em uma grade de 12 colunas, com medianiz de 30px (15px em cada lado de uma coluna).
O sistema de grade Bootstrap é responsivo e as colunas serão reorganizadas dependendo do tamanho da tela:
Em uma tela grande, o layout das colunas será: col-lg-*
Em uma tela média, o layout de colunas será: col-md-*
E em uma tela de celular (pequena) o layout das colunas será: col-sm-*
Em uma tela extra-pequena, o código será: col-xs-*
O
*
representa o número de colunas de 12 que a coluna deve abranger. Então, por exemplo, se você quiser que uma coluna ocupe 8 colunas em uma tela grande, você usaria:col-lg-8
. Se você quiser que a coluna ocupe 4 colunas em uma tela média, você usaria:col-md-4
.
Componentes do Bootstrap
Os componentes do Bootstrap podem ser divididos em três categorias: layout, conteúdo e componentes.
Os componentes de layout são responsáveis pela estrutura geral da página web. Eles incluem o sistema de grade, usado para criar layouts responsivos, e o objeto de mídia, usado para criar imagens e vídeos responsivos.
Os componentes de conteúdo são responsáveis pelo conteúdo da página web. Eles incluem a tipografia, que é usada para estilizar o texto, e as tabelas, que são usadas para exibir dados tabulares.
Os componentes são responsáveis pelos elementos interativos da página web. Eles incluem os botões, que são usados para acionar ações, e os modais, que são usados para exibir informações em uma janela pop-up.
Como funcionam os containers no bootstrap?
Os contêineres são os elementos de layout mais básicos do Bootstrap, são necessários para utilizar o sistema de grid padrão do framework. Os contêineres são usados para conter, preencher e (às vezes) centralizar o conteúdo dentro deles. Embora os contêineres possam ser aninhados, a maioria dos layouts não exige um contêiner aninhado.
O Bootstrap contem 3 tipos de container por padrão:
.container
, que define uma largura máxima em cada breakpoint responsivo.container-{breakpoint}
, que tem largura: 100% até o breakpoint especificado.container-fluid
, que tem largura: 100% em todos os pontos de interrupção
Como criar um container no Bootstrap?
Para criar um container padrão com esse framework é muito simples, vamos utilizar o exemplo do .container
demonstrado acima:
<div class="container">
<!– Conteudo do seu container aqui dentro –></div>
Você ainda pode trocar a class para o .container-fluid
, que vai fazer com que o container tenha a largura total da pagina, abrangendo toda a largura da janela de visualização.
Como criar um Grid com colunas no Bootstrap5?
O sistema de grid usa uma série de containeres, rows e columns, que simplificando são: você precisa de um container, dentro deste container você separa por linhas e dentro das linhas vão as colunas. Esse design é totalmente flexível e podemos ter um exemplo a seguir.
Você pode adicionar o layout de colunas dentro da div de .container
que vimos anteriormente, utilizar a div com propriedade .row
, que vai criar a linha inicial que irá conter a coluna, uma div com a classe .col
. Vamos ao exemplo de código para que você possa visualizar:
<div class=”container text-center”>
<div class=”row”>
<div class=”col”>
<!– Conteudo da coluna aqui –>
</div>
<div class=”col”>
Column
</div>
<div class=”col”>
Column
</div>
</div>
</div>
As colunas irão se ajustar de acordo com o tamanho do container e também de acordo com o número de colunas, fazendo com que todas sempre ocupem proporcionalmente o mesmo espaço, caso queira que uma coluna seja maior que a outra.
Podemos utilizar o calculo de grid que existe (são 12 unidades máximas), onde você pode especificar o tamanho maior de uma coluna pela seguinte propriedade: col-*
, onde o asterisco pode representar um numero de 1 a 12, que irá dizer qual o espaço que aquela coluna irá ocupar no espaço do container.
Como eu utilizo o Margin e Padding?
As propriedades margin e padding podem ser adicionadas como um elemento de classe na div, tendo quatro subpropriedades que podem ser especificadas, indicando de qual lado será aplicado o margin ou padding, sendo eles start, end, top ou bottom com numeração de 1 a 6. Para adicionar essas propriedades você pode adicionar a classe .m
ou .p
que indicam margin ou padding respectivamente, com isso ao adicionar .ms-*
será indicado que haverá uma margin do lado esquerdo de até 6 unidades. Podemos observar melhor no exemplo de código a seguir:
<div class=”p-2 ms-1 me-2 mt-1 mb-3″>
<!– Conteudo da div aqui –>
</div>
No código acima, defini um padding geral de 2, uma margin no lado esquerdo de 1, no lado direito de 2, no topo de 1 e na parte inferiro de 3.
Código completo de um site de exemplo em bootstrap
A seguir irei demonstrar um exemplo completo de site que utilizei bootstrap em HTML simples, gerando uma navbar, sidebar e demais componentes que você pode verificar com mais detalhes na documentação do site oficial do bootstrap:
<!DOCTYPE html>
<html lang=”pt-br”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>Teste Bootstrap – exemplo de página</title>
<!– Bootstrap códigos: Start –>
<link href=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css” rel=”stylesheet”>
<script src=”https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js”></script>
<!– Bootstrap códigos: End –>
</head>
<body>
<div class=”container-flex”>
<!– navbar: start –>
<nav class=”navbar navbar-expand-lg bg-body-tertiary”>
<div class=”container”>
<a class=”navbar-brand” href=”#”>
<img width=”35″ src=”https://getbootstrap.com/docs/5.3/assets/brand/bootstrap-logo-shadow.png”
alt=”Tutorial Bootstrap”>
Navbar de teste
</a>
<button class=”navbar-toggler” type=”button” data-bs-toggle=”collapse”
data-bs-target=”#navbarSupportedContent” aria-controls=”navbarSupportedContent”
aria-expanded=”false” aria-label=”Toggle navigation”>
<span class=”navbar-toggler-icon”></span>
</button>
<div class=”collapse navbar-collapse” id=”navbarSupportedContent”>
<ul class=”navbar-nav me-auto mb-2 mb-lg-0″>
<li class=”nav-item”>
<a class=”nav-link active” aria-current=”page” href=”#”>Home</a>
</li>
<li class=”nav-item”>
<a class=”nav-link” href=”#”>Link</a>
</li>
<li class=”nav-item dropdown”>
<a class=”nav-link dropdown-toggle” href=”#” role=”button” data-bs-toggle=”dropdown”
aria-expanded=”false”>
Dropdown
</a>
<ul class=”dropdown-menu”>
<li><a class=”dropdown-item” href=”#”>Link 1</a></li>
<li><a class=”dropdown-item” href=”#”>Outro Link</a></li>
<li>
<hr class=”dropdown-divider”>
</li>
<li><a class=”dropdown-item” href=”#”>Link após divisor</a></li>
</ul>
</li>
<li class=”nav-item”>
<a class=”nav-link disabled” aria-disabled=”true”>Link Desabilitado</a>
</li>
</ul>
<form class=”d-flex” role=”search”>
<input class=”form-control me-2″ type=”search” placeholder=”Pesquisa…” aria-label=”Search”>
<button class=”btn btn-outline-primary” type=”submit”>Pesquisar</button>
</form>
</div>
</div>
</nav>
<!– navbar: end –>
<div class=”container mt-2″>
<div class=”row”>
<!– coluna principal: start –>
<div class=”col-lg-8 col-md-8 col-sm-12″>
<h1>Hello World!</h1>
<!– slider: start –>
<div id=”carouselExampleCaptions” class=”carousel slide”>
<div class=”carousel-indicators”>
<button type=”button” data-bs-target=”#carouselExampleCaptions” data-bs-slide-to=”0″ class=”active” aria-current=”true” aria-label=”Slide 1″></button>
<button type=”button” data-bs-target=”#carouselExampleCaptions” data-bs-slide-to=”1″ aria-label=”Slide 2″></button>
<button type=”button” data-bs-target=”#carouselExampleCaptions” data-bs-slide-to=”2″ aria-label=”Slide 3″></button>
</div>
<div class=”carousel-inner”>
<div class=”carousel-item active”>
<img src=”https://img.freepik.com/fotos-gratis/vista-incrivel-de-uma-falesia-verde-perto-do-mar-no-arquipelago-dos-acores-portugal_181624-48407.jpg?w=1380&t=st=1722793038~exp=1722793638~hmac=e05ceb856e2cbf9be5de998bdeb11872aeba52023132146b1b22a7309593dc0b” class=”d-block w-100″ alt=”…”>
<div class=”carousel-caption d-none d-md-block”>
<h5>Primeiro label de slide</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div class=”carousel-item”>
<img src=”https://img.freepik.com/fotos-gratis/bela-foto-aerea-de-uma-praia-com-colinas-ao-fundo-ao-por-do-sol_181624-24143.jpg?w=1380&t=st=1722793054~exp=1722793654~hmac=7f8d77a4d7e35372bb6e88c9115519fc1430e268d6685bbf55f3ed8a769f8230″ class=”d-block w-100″ alt=”…”>
<div class=”carousel-caption d-none d-md-block”>
<h5>Segundo label de slide</h5>
<p>Some representative placeholder content for the second slide.</p>
</div>
</div>
<div class=”carousel-item”>
<img src=”https://img.freepik.com/fotos-gratis/caminho-no-meio-de-edificios-sob-um-ceu-escuro-no-japao_181624-43078.jpg?w=1380&t=st=1722793072~exp=1722793672~hmac=a84b7f162777b70023d8ca6bed7efbb8f9f5e4fc7f3e871c3a37c2eeaea3705e” class=”d-block w-100″ alt=”…”>
<div class=”carousel-caption d-none d-md-block”>
<h5>Terceiro titulo do slide</h5>
<p>Some representative placeholder content for the third slide.</p>
</div>
</div>
</div>
<button class=”carousel-control-prev” type=”button” data-bs-target=”#carouselExampleCaptions” data-bs-slide=”prev”>
<span class=”carousel-control-prev-icon” aria-hidden=”true”></span>
<span class=”visually-hidden”>Previous</span>
</button>
<button class=”carousel-control-next” type=”button” data-bs-target=”#carouselExampleCaptions” data-bs-slide=”next”>
<span class=”carousel-control-next-icon” aria-hidden=”true”></span>
<span class=”visually-hidden”>Next</span>
</button>
</div>
<!– slider: end –>
<div class=”card”>
<img src=”https://getbootstrap.com/docs/5.3/assets/brand/bootstrap-logo-shadow.png” class=”card-img-top” alt=”…”>
<div class=”card-body”>
<!– titulo do post: start –>
<a href=”#” class=”link-offset-2 link-underline link-underline-opacity-0″>
<h5 class=”card-title”>Titulo do post</h5>
</a>
<!– titulo do post: end –>
<!– descrição do post: start –>
<p class=”text-secondary”>
teste de post…
</p>
<!– descrição do post: end –>
<!– modal: start –>
<div class=”m-3 text-end”>
<button type=”button” class=”btn btn-primary” data-bs-toggle=”modal” data-bs-target=”#exampleModal”>
Leia mais
</button>
</div>
<!– modal: end –>
</div>
</div>
</div>
<!– coluna principal: end –>
<!– sidebar: start –>
<div class=”col-lg-4 col-md-4 col-sm-12″>
<!– exemplo de card que pode ser um widget: start –>
<div class=”card mb-3″>
<div class=”card-header”>
Primeiro widget
</div>
<div class=”card-body”>
<ul class=”list-group list-group-flush”>
<li class=”list-group-item”>Primeiro elemento</li>
<li class=”list-group-item”>Outro elemento</li>
<li class=”list-group-item”>Elemento de lista</li>
</ul>
</div>
</div>
<!– exemplo de card que pode ser um widget: end –>
<!– exemplo de card que pode ser um widget: start –>
<div class=”card”>
<img src=”https://getbootstrap.com/docs/5.3/assets/brand/bootstrap-logo-shadow.png”
class=”card-img-top” alt=”…”>
<div class=”card-body”>
<h5 class=”card-title”>Titulo do card</h5>
<p class=”card-text”>Exemplo de texto do card</p>
</div>
</div>
<!– exemplo de card que pode ser um widget: end –>
</div>
<!– sidebar: end –>
</div>
</div>
</div>
<!– corpo da modal: start –>
<div class=”modal fade” id=”exampleModal” tabindex=”-1″ aria-labelledby=”exampleModalLabel” aria-hidden=”true”>
<div class=”modal-dialog”>
<div class=”modal-content”>
<div class=”modal-header”>
<h1 class=”modal-title fs-5″ id=”exampleModalLabel”>Titulo do post</h1>
<button type=”button” class=”btn-close” data-bs-dismiss=”modal” aria-label=”Close”></button>
</div>
<div class=”modal-body”>
<img src=”https://getbootstrap.com/docs/5.3/assets/brand/bootstrap-logo-shadow.png” alt=””>
<p>
Corpo da postagem
</p>
</div>
<div class=”modal-footer”>
<p>
Teste de postagem
</p>
</div>
</div>
</div>
</div>
<!– corpo da modal: end –>
</body>
</html>
Pingback: Botão Flutuante do WhatsApp no seu Site: Tutorial Completo HTML/CSS Código Grátis! - Tecnologia - Tech Invest Financial