• Categoria do post:Programação para Web
  • Tempo de leitura:9 minutos de leitura
Ads

Importante! Esta aula é continuação de Bootstrap – Starter Template. Se você ainda não sabe como adicionar o Bootstrap em sua página ou site, então veja a aula anterior.

Quando iniciamos um site, precisamos planejá-lo. Algumas ferramentas de wireframe podem nos ajudar nesta ação, na qual podemos desenhar a estrutura e criar protótipos das páginas que irão compor o nosso site.

Quando criamos estes protótipos logo nos deparamos com linhas e colunas e é justamente este problema que o sistema de grid do Bootstrap resolve.

DIVs

A tag <DIV> do HTML serve para criar divisões e seções dentro da estrutura de uma página WEB. Com o advento do HTML 5, basicamente toda a estrutura de uma página é criada usando DIVs. Antigamente as estruturas da páginas eram criadas como se fossem tabelas do Microsoft Word, uma verdadeira bagunça, de dificil manutenção e nada responsivo.

container

A DIV classificada como container, embora seja opcional é a mais importante do sistema de grid do Bootstrap. Ela define a área de conteúdo do site.

<div class="container">

</div>

row (linha)

A DIV classificada como row permite criar linhas dentro de um container.

<div class="container">
  <div class="row">

  </div>
</div>

col (coluna)

A DIV classificada como col permite dividir as linhas em 1 ou até 12 colunas.

<div class="container">
  <div class="row">
     <div class="col"> 
        Eu sou a coluna 1
     </div>
     <div class="col"> 
        Eu sou a coluna 2
     </div>
     <div class="col"> 
        Eu sou a coluna 3
     </div>
  </div>
</div>

Exemplo prático do sistema de grid do Bootstrap

Supondo que você queira desenvolver o seguinte protótipo criado no site Draw.IO

Logo de cara notamos que a foto e os texto de apresentação do curriculo se encontram na mesma linha, porém separados em duas colunas. Esta estrutura usando Bootstrap ficaria da seguinte forma;

    <div class="container">
        <div class="row">
            <div class="col"> Esta é a primeira coluna</div>
            <div class="col"> Esta é a segunda coluna</div>
        </div>
    </div>

O resultado será este;

Agora que a linha e a coluna estão criadas, podemos adicionar o conteúdo. Vamos adicionar a foto e o texto de apresentação;

    <div class="container">
        <div class="row">
            <div class="col"> 
                <img src="https://trello-attachments.s3.amazonaws.com/5c86ec74820b7c60eb465f4d/183x183/a0068e7488082b28d6b3611c778612a6/eu.jpg">
            </div>
            <div class="col"> 
                <h1>Currículo do Anderson</h1>
                
                <p>Endereço: Rua ononononono<br/>
                   Atibaia/SP</p>
                
                <p>Telefone: (11) 999.999999</p>
                
            </div>
        </div>
    </div>

O resultado será este;

Redimensionando o tamanho das colunas

No entanto perceba que o Bootstrap dividiu a row exatamente ao meio, mas ao olharmos o wireframe percebemos que a primeira coluna na qual está a foto é menor que a coluna aonde está texto de apresentação.

Para resolvermos isso temos que ter em mente o seguinte…

O máximo de colunas que o bootstrap trabalha é 12.

Sabendo que o máximo de colunas que podemos ter é 12, basta indicarmos para a DIV col qual é o tamanho dela, bastando colocar o número que espaço que ela irá ocupar dentro deste limite de 12 colunas.

O resultado será;

Aprendemos então que podemos criar colunas com ou sem números. Quando criamos sem os números o Bootstrap divide a linha em tamanhos iguais, mas quando precisamos redimensionar uma ou mais colunas é necessário fazer o cálculo de espaço considerando sempre que a soma dos espaços ocupados por cada coluna não pode ser maior, nem menor de 12.

Criando outras linhas e colunas

Olhando para o wireframe, o passo seguinte será criar a linha da Formação Acadêmica e depois a Experiência Profissional. Perceba que o texto da formação acadêmica e experiência não estão divididos em colunas, portanto podemos criar uma única coluna para o texto, ficando assim;

        <!-- Segunda linha - Formação Acadêmica -->
        <div class="row">
            <div class="col">texto aqui...</div>
        </div>
        
        
        <!-- Terceira linha - Experiência Profissional -->
        <div class="row">
            <div class="col">texto aqui...</div>
        </div>

O código completo desta página ficou assim;

<!doctype html>
<html lang="pt-br">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Hello, world!</title>
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="col-3">
                <img src="https://trello-attachments.s3.amazonaws.com/5c86ec74820b7c60eb465f4d/183x183/a0068e7488082b28d6b3611c778612a6/eu.jpg">
            </div>
            <div class="col-9">
                <h1>Currículo do Anderson</h1>

                <p>Endereço: Rua ononononono<br/> Atibaia/SP
                </p>

                <p>Telefone: (11) 999.999999</p>

            </div>
        </div>

        <!-- Segunda linha - Formação Acadêmica -->
        <div class="row">
            <div class="col">

                <br/>

                <h2> Formação Acadêmica</h2>

                <ul>
                    <li>Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts and visual mockups.</li>
                    <li>Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts and visual mockups.</li>
                    <li>Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts and visual mockups.</li>
                </ul>

            </div>
        </div>


        <!-- Terceira linha - Experiência Profissional -->
        <div class="row">
            <div class="col">

                <br/>

                <h2> Experiência Profissional</h2>

                <ul>
                    <li>Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts and visual mockups.</li>
                    <li>Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts and visual mockups.</li>
                    <li>Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts and visual mockups.</li>
                </ul>

            </div>
        </div>
    </div>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>

</html>

Veja ao vivo aqui, faça o download aqui e o resultado será este;

Você pode ver um exemplo mais completo aqui.

Dica: Otimize seu tempo de codificação

O site shoelace.io oferece uma ferramenta bem legal para criar a estrutura do seu site. Basta ir arrastando o mouse para criar linhas, colunas e definir o tamanho das colunas.

Ads

Anderson Oliveira

Anderson Oliveira é desenvolvedor, escritor e docente no CEETPS - Centro Estadual de Educação Tecnologia de São Paulo. Atualmente trabalha na Administração Central do CPS e leciona aulas de programação na Etec Prof. Carmine Biagio Tundisi de Atibaia.