< Return to Video

vimeo.com/.../1083873052

  • 0:08 - 0:11
    Agora que nós já conhecemos
    as classes utilitárias,
  • 0:11 - 0:14
    conhecemos todo o poder
    de formatação do framework Tailwind,
  • 0:14 - 0:17
    seria bem legal nós criarmos
    um projetinho
  • 0:17 - 0:21
    e aplicarmos as classes
    e os conhecimentos que foram passados
  • 0:21 - 0:24
    nesses vídeos para vocês.
  • 0:24 - 0:31
    A ideia é construir
    uma pequena página onde nós tenhamos alguns
    componentes já previamente prontos.
  • 0:31 - 0:35
    Esses componentes e essa página, ela
  • 0:35 - 0:39
    será estilizada através
    do framework The Windy.
  • 0:39 - 0:42
    Eu já tenho alguns arquivos aqui
    separados e esses arquivos estarão
  • 0:42 - 0:46
    disponibilizados junto
    com o código dessa oficina
  • 0:46 - 0:49
    no link que vai aparecer
    na descrição para vocês.
  • 0:49 - 0:53
    Vamos dar uma olhadinha então
    no que nós vamos desenvolver.
  • 0:53 - 0:58
    Então eu criei essa pastinha Oficina
    The Windy, que será a pasta onde
  • 0:58 - 1:01
    estarão todos os nossos arquivos
    do projeto, todas
  • 1:01 - 1:05
    as nossas dependências
    e essa pastinha eu vou
  • 1:05 - 1:09
    jogar aqui no nosso Live Server para
  • 1:09 - 1:12
    facilitar a visualização
    do nosso conteúdo e,
  • 1:12 - 1:16
    obviamente,
    para a gente desenvolver o código.
  • 1:16 - 1:22
    Dentro da pasta de imagens, nós temos
    uma imagem que vai ser um banner.
  • 1:22 - 1:25
    Então esse cara vai ser o plano de
  • 1:25 - 1:28
    fundo de uma seção Hero.
  • 1:28 - 1:30
    Nós vamos ter três cards.
  • 1:32 - 1:37
    Nós vamos ter a visualização desse
    conteúdo também aqui no celular, ou
  • 1:37 - 1:42
    seja, quando ele estiver pronto,
    o The Windy vai renderizar esse
  • 1:42 - 1:46
    carinha para nós no celular
    dessa forma.
  • 1:46 - 1:49
    E a mesma coisa aqui no desktop.
  • 1:49 - 1:52
    Com o nosso conteúdo que será
  • 1:52 - 1:55
    aplicado, nós teremos acesso a essa
  • 1:55 - 2:01
    página montando
    uma pequena landing page.
  • 2:01 - 2:03
    Essa landing page você
    pode adaptar para qualquer
  • 2:03 - 2:06
    tema que você esteja estudando,
    ou então, de repente,
  • 2:06 - 2:09
    para alguma entrega que você
    está fazendo dentro do curso.
  • 2:09 - 2:14
    Para que a gente tenha todas
    as opções disponíveis, eu vou fazer
  • 2:14 - 2:18
    passo a passo a instalação
    do Tailwind nesse projeto e aí a gente
  • 2:18 - 2:23
    começa a consumir as classes e os elementos
    da HTML que nós vamos montar.
  • 2:23 - 2:25
    Então aqui na documentação do nosso
  • 2:25 - 2:28
    Tailwind,
    nós vamos na parte dos Docs
  • 2:28 - 2:32
    e logo de cara você
    cai na instalação dele.
  • 2:32 - 2:33
    Lembrando que nós não estamos
  • 2:33 - 2:35
    consumindo nenhum desses métodos.
  • 2:35 - 2:38
    nós estamos fazendo
    a instalação através do CLI
  • 2:38 - 2:43
    dele para ter todas
    as dependências do projeto.
  • 2:43 - 2:45
    Automaticamente, nós vamos estartar
  • 2:45 - 2:49
    o nosso projeto lá
    dentro do nosso VS Code.
  • 2:49 - 2:54
    Então, a pastinha onde está o projeto,
    eu vou clicar aqui no terminal.
  • 2:57 - 3:00
    ele vai localizar a pasta,
    então percebam
  • 3:00 - 3:06
    que você tem exatamente
    a mesma pastinha aqui.
  • 3:06 - 3:09
    e aí eu vou dar o comando da npm.
  • 3:09 - 3:15
    init-y para criar o nosso projetinho.
  • 3:15 - 3:20
    e gerar automaticamente
    o nosso arquivo de configuração.
  • 3:25 - 3:26
    Pronto.
  • 3:26 - 3:29
    Gerou o nosso arquivo
    package.
  • 3:29 - 3:33
    json que nós vamos utilizar
    dentro da aplicação.
  • 3:33 - 3:36
    Primeiro passo é estartar
    o nosso projeto.
  • 3:36 - 3:38
    Então nesse arquivo você vai passar
  • 3:38 - 3:41
    todas as dependências, você vai
    ter todas as relações que são
  • 3:41 - 3:45
    necessárias para fazer
    o framework ou até mesmo
  • 3:45 - 3:48
    outras aplicações funcionarem
    dentro do projeto.
  • 3:48 - 3:50
    Simplesmente o que a gente vai fazer
  • 3:50 - 3:53
    é instalar o Tailwind
    dentro da aplicação.
  • 3:53 - 3:56
    Então eu vou copiar o Tailwind aqui,
  • 3:56 - 4:00
    essa linha de Tailwind e vou jogar
  • 4:00 - 4:05
    essa linha aqui dentro
    do nosso terminal.
  • 4:05 - 4:07
    Copiar essa linha aqui.
  • 4:10 - 4:14
    e vou jogar essa linha
    dentro do nosso terminal.
  • 4:16 - 4:21
    Ele vai começar a fazer a instalação
    do Tailwind e aqui vocês vão
  • 4:21 - 4:23
    perceber
    que no nosso package.
  • 4:23 - 4:25
    json que foi gerado
    anteriormente,
  • 4:25 - 4:28
    ele já colocou
    a dependência do Tailwind.
  • 4:28 - 4:30
    Isso significa que o seu Tailwind já
  • 4:30 - 4:33
    está pronto para funcionar
    dentro dessa pasta.
  • 4:33 - 4:35
    Então agora a gente
    vai fazer as demais
  • 4:35 - 4:38
    configurações para criar
    o projeto da forma correta.
  • 4:38 - 4:45
    Voltando no site, nós vamos copiar
    a linha para iniciar o Tailwind.
  • 4:51 - 4:53
    Quando ele iniciou o Tailwind, ele
  • 4:53 - 4:57
    criou aqui o arquivo
    de Tailwind .config.js
  • 4:57 - 5:00
    que é toda a parte
    de formatação e toda a parte de
  • 5:00 - 5:02
    extensão dos nossos conteúdos.
  • 5:04 - 5:07
    Voltando lá, ele pede para nós
  • 5:07 - 5:10
    configurarmos o endereço
    dos nossos arquivos.
  • 5:10 - 5:14
    Então, aqui dentro
    do Tailwind .config.js que foi
  • 5:14 - 5:18
    gerado agora,
    nós vamos mudar a linha de content.
  • 5:18 - 5:20
    Então, eu vou copiar essa linha de
  • 5:20 - 5:30
    content daqui e vou alterar
    aqui o nosso Tailwind.
  • 5:30 - 5:30
    config.js.
  • 5:30 - 5:35
    Então, simplesmente ele gerou esse
    carinha em branco e nós vamos passar
  • 5:35 - 5:38
    o content indicado
    lá pelo framework.
  • 5:38 - 5:42
    Nessa linha,
    você está indicando que dentro do seu
  • 5:42 - 5:46
    projeto tem uma pasta chamada
    src e todos os seus arquivos
  • 5:46 - 5:50
    html e js estarão
    dentro dessa pasta.
  • 5:50 - 5:53
    Então, tudo que for consumir
    o Tailwind, ele vai procurar dentro
  • 5:53 - 5:55
    dessa pasta,
    inclusive nas suas subpastas.
  • 5:55 - 5:59
    É interessante,
    então, que agora nós façamos
  • 5:59 - 6:02
    a criação desse src
    com as outras pastas dependentes.
  • 6:05 - 6:09
    Então,
    posso fechar o Tailwind .config.
  • 6:09 - 6:11
    Posso fechar aqui o meu...
    a minha pasta
  • 6:11 - 6:15
    de imagens e aqui eu vou
    clicar na oficina, tá?
  • 6:15 - 6:17
    Vou clicar bem aqui
    na pastinha da oficina,
  • 6:17 - 6:20
    que tem um índice,
    para marcar todo o projeto.
  • 6:20 - 6:25
    Aqui eu vou fazer
    a criação da pasta src.
  • 6:27 - 6:32
    Essa pasta src vai receber todos
    os meus arquivos da aplicação.
  • 6:32 - 6:34
    Quando eu quiser colocar no ar
  • 6:34 - 6:36
    a minha aplicação,
    essa página, quando eu quiser
  • 6:36 - 6:41
    publicar, eu vou pegar
    essa pasta e jogar, ou seja,
  • 6:41 - 6:44
    fazer o deploy dela,
    para que seja visualizado o conteúdo.
  • 6:44 - 6:46
    Agora, o que nós vamos fazer?
  • 6:46 - 6:49
    Nós vamos arrastar a pasta
    de imagens para cá,
  • 6:49 - 6:53
    criar a pasta de css e criar
    o nosso arquivo index.
  • 6:53 - 6:56
    Então, eu vou arrastar
    a pasta de imagens para cá.
  • 6:58 - 7:02
    Tá, ele está pedindo, está dizendo
    que eu vou mover e yes, quero mover.
  • 7:02 - 7:04
    Então,
    criou aqui dentro dessa src, né?
  • 7:04 - 7:07
    Você já recebeu as imagens
    que nós tínhamos, percebeu que você tem
  • 7:07 - 7:11
    total acesso a ela,
    sem problema algum, tá?
  • 7:11 - 7:15
    Dentro dessa src,
    eu vou dar um clique direito nela.
  • 7:15 - 7:20
    Eu vou criar uma nova pasta,
    que vai ser a minha
  • 7:20 - 7:23
    pasta de styles,
    ou melhor, a minha pasta de css.
  • 7:23 - 7:24
    Vamos criar uma pasta de css.
  • 7:27 - 7:28
    css, certo?
  • 7:28 - 7:32
    Os dois no mesmo nível,
    a imagens e a css.
  • 7:32 - 7:37
    E também aqui, ó, no service, vou
    dar um clique direito, criar um novo
  • 7:37 - 7:41
    arquivo,
    que vai ser a minha index .html.
  • 7:43 - 7:46
    Então, percebam a dependência deles,
  • 7:46 - 7:46
    né?
  • 7:46 - 7:49
    Está tudo dentro dessa pastinha src,
    que vai
  • 7:49 - 7:53
    ser a nossa pastinha
    com os nossos recursos.
  • 7:53 - 7:57
    Dentro da pasta css,
    o que a gente precisa?
  • 7:57 - 7:59
    Ele está dizendo que a gente precisa
  • 7:59 - 8:02
    criar um arquivo de...
  • 8:02 - 8:07
    que ele chama aqui de input css,
    que vai ser o nosso carinha que vai
  • 8:07 - 8:09
    fazer a chamada, né?
  • 8:09 - 8:12
    De todas as diretivas do Tailwind,
  • 8:12 - 8:15
    ou seja,
    o Base, o Components e o Utilities.
  • 8:15 - 8:18
    Então, vamos criar essa pasta.
  • 8:18 - 8:22
    Então, aqui dentro da pasta css,
  • 8:22 - 8:27
    dentro da pasta css,
    new file, vou criar o meu
  • 8:27 - 8:32
    styles.css,
    que é o nome que eu costumo utilizar.
  • 8:32 - 8:36
    O framework está dizendo aqui
    que é input css, não tem problema nenhum,
  • 8:36 - 8:41
    você pode atribuir o nome que você
    quiser, basta lembrar desse nome.
  • 8:41 - 8:46
    Nosso caso aqui, vou selecionar
  • 8:46 - 8:50
    esses três elementos,
    ou copiar aqui também, tá?
  • 8:50 - 8:51
    Tanto faz.
  • 8:51 - 8:55
    Caso selecionei,
    vou copiar, dar um ctrl c,
  • 8:55 - 8:59
    e vou jogar as marcações
    dele aqui dentro.
  • 8:59 - 9:03
    O VS Code vai deixar algumas linhas
    onduladas, mas isso é normal porque
  • 9:03 - 9:06
    ele não se dá bem com esses importes,
    tá?
  • 9:06 - 9:08
    A importação dessas diretivas.
  • 9:08 - 9:12
    Vale ressaltar que esse arquivo
    que nós estamos usando será necessário
  • 9:12 - 9:15
    para que a gente consiga
    criar os nossos apply.
  • 9:15 - 9:17
    É, exatamente isso.
  • 9:17 - 9:21
    Eu bolei uma oficina onde nós vamos
    usar vários applies, ou seja, vamos
  • 9:21 - 9:27
    ter várias classes, justamente
    para não ter toda aquela quantidade de
  • 9:27 - 9:31
    código de classe
    do Tailwind dentro das tags.
  • 9:31 - 9:35
    Algumas outras formatações serão
    aplicadas diretamente, vocês já vão
  • 9:35 - 9:37
    ver como que ela vai ficar.
  • 9:37 - 9:41
    Então, meu arquivo de utilities,
    de styles, montadinho.
  • 9:41 - 9:43
    Por enquanto, vamos deixar ele aqui.
  • 9:43 - 9:44
    E aí, o que vai acontecer?
  • 9:44 - 9:47
    Eu vou copiar essa linha onde ele
  • 9:47 - 9:51
    está indicando o caminho
    do nosso Tailwind, né?
  • 9:51 - 9:53
    A execução do nosso Tailwind,
    ou seja, o arquivo
  • 9:53 - 9:57
    dentro da pasta source,
    o input aqui que ele chamou,
  • 9:57 - 9:58
    e o arquivo de saída.
  • 9:58 - 10:02
    Então, esse carinha aqui vai ser
    o nosso arquivo original de formatação.
  • 10:02 - 10:05
    A saída, ou seja, a formatação que
  • 10:05 - 10:09
    será usada na sua aplicação,
    vem nesse carinha.
  • 10:09 - 10:13
    Então, eu vou copiar ele.
  • 10:13 - 10:17
    E aqui, nós vamos fazer o seguinte.
  • 10:17 - 10:21
    Dentro aqui do nosso Package JSON,
  • 10:21 - 10:24
    vocês têm essa área de scripts, tá?
  • 10:24 - 10:26
    Ou seja, a gente cria essa área para
  • 10:26 - 10:32
    montar scripts que serão executados
    durante a aplicação do projeto.
  • 10:32 - 10:37
    Então,
    eu vou selecionar esse conteúdo aqui,
  • 10:37 - 10:41
    ou seja,
    abertura e fechamento das aspas.
  • 10:41 - 10:43
    Vou selecionar todo esse conteúdo.
  • 10:43 - 10:48
    Vou apagar esse conteúdo e colar
    o que eu trouxe lá do Tailwind.
  • 10:48 - 10:52
    Esse script, ele está com o nome de
  • 10:52 - 10:59
    teste, mas nós costumamos colocar
    esse cara com o nome de Dev.
  • 10:59 - 11:03
    Então, vou chamar esse carinha, esse
    script de Dev, mas como eu já citei
  • 11:03 - 11:07
    anteriormente,
    ele pode receber qualquer nome.
  • 11:07 - 11:11
    Aqui, nós precisamos fazer
    uma atualização das nossas pastas.
  • 11:16 - 11:17
    O que que vai acontecer?
  • 11:17 - 11:19
    Vamos dar uma olhadinha
    na estrutura.
  • 11:19 - 11:23
    Nós temos o Tailwind-i,
    ou seja, eu estou
  • 11:23 - 11:27
    indicando o arquivo de entrada,
    o arquivo de input.
  • 11:27 - 11:31
    Então, nós temos a pasta src,
    como ele está dizendo aqui.
  • 11:31 - 11:37
    Só que aqui na nossa estrutura
    nós temos um css, ou seja, uma pasta css
  • 11:37 - 11:42
    que não está definida,
    que não está explícita aqui.
  • 11:42 - 11:47
    Então, eu preciso colocar src barra.
  • 11:47 - 11:48
    css.
  • 11:48 - 11:53
    O nosso arquivo não é um input,
    é o styles css.
  • 11:56 - 12:01
    lembrando que esse arquivo style css
    é o arquivo que tem as diretivas.
  • 12:01 - 12:03
    Então, vejam, eu passei para cá,
  • 12:05 - 12:08
    exatamente para cá, essa estrutura,
  • 12:08 - 12:13
    ou seja, esse arquivo,
    ele está na pasta de src,
  • 12:13 - 12:19
    dentro dela na pasta css,
    o arquivo style css.
  • 12:19 - 12:24
    O "-o", ou seja, o arquivo de saída,
    o arquivo que será buildado,
  • 12:24 - 12:26
    percebam que eu não tenho ele aqui,
  • 12:26 - 12:33
    esse "-o", vai indicar o caminho
    do arquivo que eu quero que seja gerado.
  • 12:33 - 12:35
    Eu até vou deixar esse output, mas
  • 12:35 - 12:38
    dá uma olhada,
    eu tenho a pasta css aqui.
  • 12:38 - 12:45
    Então,
    eu vou colocar css barra output css.
  • 12:45 - 12:51
    Nós temos aqui o "--watch", que vai
    fazer com que ele fique olhando, né,
  • 12:51 - 12:56
    assistindo toda a nossa estilização,
  • 12:56 - 12:59
    todo o nosso processo
    de criação do arquivo.
  • 12:59 - 13:00
    Basicamente, está pronto.
  • 13:00 - 13:02
    O que que eu preciso fazer?
  • 13:02 - 13:05
    Eu preciso rodar esse
    script que foi criado.
  • 13:05 - 13:08
    Então,
    eu vou lá no terminal e rodar esse
  • 13:08 - 13:12
    script, ou seja,
    o script que eu chamei de Dev.
  • 13:12 - 13:21
    Nós vemos aqui,
    e aí a gente vai dar um npm, run Dev.
  • 13:21 - 13:25
    Ou seja, esse Dev aqui é exatamente
  • 13:25 - 13:28
    esse carinha, que é o nosso script
    que será executado.
  • 13:31 - 13:34
    Vou pressionar o enter.
  • 13:34 - 13:38
    Ele vai dizer que ele está
    aguardando, tá?
  • 13:38 - 13:41
    Nesse momento ele não encontrou
    nenhuma classe, não foi detectada
  • 13:41 - 13:44
    nenhuma classe dentro
    dos nossos arquivos, né.
  • 13:44 - 13:47
    A gente não tem arquivo ainda,
    mas ele está
  • 13:47 - 13:52
    aqui assistindo tudo
    que nós vamos fazer.
  • 13:52 - 13:54
    Então, eu vou fechar o package, vou
  • 13:54 - 13:58
    aqui na minha index, vou criar o meu
  • 13:58 - 13:59
    arquivo de estrutura.
  • 14:02 - 14:05
    Vocês vão perceber que ele vai
    ficar rebuildando esse carinha aqui.
  • 14:05 - 14:12
    Vou aqui no meu html language
    e mudar para um ptbr, por causa do
  • 14:12 - 14:14
    idioma, do conteúdo.
  • 14:14 - 14:17
    Vou trocar o title.
  • 14:17 - 14:25
    Dentro desse title,
    eu vou colocar oficina web.
  • 14:25 - 14:31
    E aqui no corpo da nossa página,
    eu vou fazer o primeiro teste para ver
  • 14:31 - 14:32
    se o tailwind está funcionando.
  • 14:35 - 14:40
    Vou colocar um h1 e vou colocar
    assim, olá, mundo, tailwind.
  • 14:48 - 14:49
    A gente precisa lembrar que nós
  • 14:49 - 14:53
    temos um arquivo de saída
    que foi gerado, né.
  • 14:53 - 14:56
    Esse é o arquivo que vai ter
    a formatação do nosso CSS.
  • 14:56 - 14:59
    E perceba que nós temos
    aqui algumas configurações
  • 14:59 - 15:02
    que já foram aplicadas
    ao seu arquivo de saída.
  • 15:02 - 15:04
    O arquivo que vai
    formatar a sua aplicação.
  • 15:04 - 15:08
    Então, vocês têm algumas classes
    auxiliares, vocês têm algumas
  • 15:08 - 15:12
    variáveis que estão
    dentro do seu projeto.
  • 15:12 - 15:18
    Ele também já tem um reset dele
    para deixar o seu código mais enxuto.
  • 15:18 - 15:21
    Lembrando que ele vai buildar usando,
    gerando
  • 15:21 - 15:25
    apenas as classes CSS
    que você utilizar.
  • 15:25 - 15:30
    Então, eu preciso vincular esse
    output no meu arquivo index.
  • 15:30 - 15:32
    De que forma?
  • 15:32 - 15:34
    Aqui na seção red.
  • 15:34 - 15:37
    Eu vou colocar aqui, linkando a CSS.
  • 15:39 - 15:40
    Conto, ponto e vírgula.
  • 15:40 - 15:42
    Deixa eu só arrumar isso daqui que
  • 15:42 - 15:44
    ficou meio estranho.
  • 15:44 - 15:47
    Linkando a CSS.
  • 15:47 - 15:49
    E aqui eu vou usar a tag de link.
  • 15:49 - 15:52
    Link.
  • 15:52 - 15:54
    E eu vou fazer referência a quem?
  • 15:54 - 15:56
    Ponto barra.
  • 15:56 - 15:58
    Ele já achou a pasta CSS.
  • 15:58 - 16:03
    Vou linkar com o meu
    arquivo output CSS.
  • 16:03 - 16:05
    Isso significa o quê?
  • 16:05 - 16:15
    Se eu colocar aqui uma class
    e utilizar, por exemplo, um bgred900.
  • 16:15 - 16:16
    Ok?
  • 16:16 - 16:18
    Então, ele buildou.
  • 16:18 - 16:22
    E provavelmente, quando eu for lá
    na minha pagininha, ou quando eu for
  • 16:22 - 16:26
    abrir esse carinha na minha
    pagininha, abrir de que forma?
  • 16:26 - 16:28
    Você vai dar um clique direito.
  • 16:28 - 16:30
    Vai abrir aqui no Live Server.
  • 16:30 - 16:33
    Ou então,
    você pode vir aqui embaixo.
  • 16:33 - 16:36
    Aqui nessa partezinha inferior, né?
  • 16:36 - 16:37
    Mais precisamente.
  • 16:37 - 16:40
    E dá um clique nesse Go Live.
  • 16:40 - 16:41
    Tanto faz.
  • 16:41 - 16:44
    Ele vai trazer a sua página.
  • 16:44 - 16:45
    Veja que eu já tenho, né?
  • 16:45 - 16:48
    Esse fundo vermelho bem escuro.
  • 16:48 - 16:50
    Já é uma formatação dele.
  • 16:50 - 16:53
    Se você não aplicou
    nenhuma formatação,
  • 16:53 - 16:58
    provavelmente o seu
    conteúdo estará dessa forma.
  • 16:58 - 17:02
    Ele estará apenas
    com a letrinha bem pequenininha,
  • 17:02 - 17:06
    posicionada na parte superior
    esquerda do seu navegador.
  • 17:06 - 17:09
    Agora eu tenho certeza que o meu T1
  • 17:09 - 17:13
    Indie está funcionando corretamente
    dentro da minha aplicação.
  • 17:13 - 17:15
    E agora basta a gente
    criar a página.
  • 17:15 - 17:18
    Para deixar uma melhor experiência,
  • 17:18 - 17:20
    nós vamos consumir algumas coisas.
  • 17:20 - 17:24
    Então, eu separei uma fonte
    que será utilizada
  • 17:24 - 17:27
    dentro do projeto,
    uma fonte do Google Fontes.
  • 17:27 - 17:29
    E nós vamos consumir alguns ícones
  • 17:29 - 17:35
    aqui dentro da aplicação de uma biblioteca
    muito legal chamada Box Icons.
  • 17:35 - 17:37
    Vamos dar uma olhada nesses caras e
  • 17:37 - 17:43
    preparar para ele receber
    esses elementos.
  • 17:43 - 17:48
    Eu já posso até esconder minha pasta,
    né, meu Explorer e baixar um
  • 17:48 - 17:49
    pouquinho o terminal.
  • 17:49 - 17:54
    É importante que esse
    terminal esteja aberto.
  • 17:54 - 17:57
    Eu posso tirar o meu Olá Mundo.
  • 17:57 - 18:01
    E aqui eu vou começar a pegar
    as minhas referências.
  • 18:01 - 18:03
    Então, a primeira coisa que eu quero
  • 18:03 - 18:06
    é o meu Google Fontes.
  • 18:06 - 18:09
    Então, eu vou colocar aqui
    uma chamada do Google Fontes.
  • 18:14 - 18:17
    Vou aqui na minha aplicação.
  • 18:17 - 18:22
    Eu já deixei o browser
    do Google Fontes aberto.
  • 18:22 - 18:24
    Então,
    aqui nós temos as 1.
  • 18:24 - 18:27
    807 famílias de fontes
    que você vai escolher.
  • 18:27 - 18:32
    Eu peguei a fonte Montserrat.
  • 18:32 - 18:35
    Essa fonte.
  • 18:35 - 18:37
    Então, você tem os styles dela.
  • 18:37 - 18:40
    Eu vou pegar com todos os styles.
  • 18:40 - 18:42
    Vou dar um clique em Get Fonte.
  • 18:44 - 18:47
    Vou aqui na parte para colocar essa
  • 18:47 - 18:50
    fonte no meu código.
  • 18:50 - 18:54
    E aqui, você tem a parte
    onde você vai colocar
  • 18:54 - 18:58
    no head do seu HTML
    a chamada do Google Fontes.
  • 19:00 - 19:02
    Vou copiar esse código.
  • 19:06 - 19:11
    E aí, eu vou colar esse código aqui.
  • 19:11 - 19:12
    Então, vou dar um Ctrl V.
  • 19:14 - 19:16
    Seu código, provavelmente, ficou um
  • 19:16 - 19:19
    pouquinho bagunçado,
    como o meu ficou, né?
  • 19:19 - 19:21
    Não ficou organizado.
  • 19:21 - 19:23
    Então, eu vou dar um clique direito.
  • 19:23 - 19:27
    Vou formatar o documento.
  • 19:27 - 19:29
    Ele Fez a identação do nosso código,
  • 19:29 - 19:30
    tá?
  • 19:30 - 19:33
    Então,
    clique direito, formatar o documento.
  • 19:33 - 19:35
    Ou você podia usar o atalho Shift
  • 19:35 - 19:41
    Alt F,
    que vai fazer a mesma formatação.
  • 19:41 - 19:43
    Então, aqui eu estou com a fonte
  • 19:43 - 19:45
    Montserrat habilitada.
  • 19:45 - 19:50
    Como nós já sabemos, o Tailwind,
    ele tem três padrões de fonte, né?
  • 19:50 - 19:54
    Então, nesse caso, eu estou falando
    para ele, ó, use uma nova fonte.
  • 19:54 - 19:57
    Use essa fonte no projeto.
  • 19:57 - 19:58
    Então, o que a gente vai fazer?
  • 19:58 - 20:01
    A gente vai estender essa fonte lá
  • 20:01 - 20:03
    no nosso arquivinho
    de configuração do Tailwind.
  • 20:03 - 20:06
    Então, o nosso código vai
    ficar mais ou menos assim.
  • 20:06 - 20:10
    Vamos abrir aqui
    o nosso Tailwind config.
  • 20:12 - 20:15
    Aqui na parte do Extend, nós vamos
  • 20:15 - 20:19
    colocar o seguinte.
  • 20:19 - 20:22
    Então, aqui no Extend, eu vou colar
  • 20:22 - 20:25
    esse código do fonte Family.
  • 20:25 - 20:27
    Então,
    o que eu estou dizendo para ele?
  • 20:27 - 20:33
    Eu estou dizendo que agora a fonte
    Sans, que é a fonte padrão, vai
  • 20:33 - 20:37
    utilizar o padrão Montserrat,
    que é a fonte
  • 20:37 - 20:41
    que eu estou trazendo
    aqui do Google Fontes.
  • 20:41 - 20:43
    Deixa eu dar uma quebra de linha,
  • 20:43 - 20:45
    aqui um View or Drap.
  • 20:45 - 20:46
    Assim, vocês conseguem ver melhor
  • 20:46 - 20:52
    toda a linha que eu trouxe
    lá do Google Fontes.
  • 20:52 - 20:54
    Então, aqui você tem essa fonte
  • 20:54 - 20:58
    Montserrat,
    que foi atribuída ao nosso elemento.
  • 20:58 - 20:59
    Isso significa o quê?
  • 20:59 - 21:08
    Se você colocar algum conteúdo aqui
    no body, no H1, usando Montserrat,
  • 21:08 - 21:15
    bom, e eu colocar uma class aqui
    para ele, de um text, por exemplo,
  • 21:15 - 21:17
    XL...
  • 21:17 - 21:18
    4XL, tá?
  • 21:18 - 21:22
    8XL, para deixar um pouquinho maior.
  • 21:22 - 21:28
    O que vai acontecer agora, quando
    eu volto na minha página, ele está
  • 21:28 - 21:31
    usando a Montserrat
    um tamanho grande.
  • 21:31 - 21:34
    Então,
    é essa fonte que virou o padrão.
  • 21:34 - 21:36
    Virou o padrão por quê?
  • 21:36 - 21:41
    Virou o padrão porque eu estou
    substituindo a Sans dele, com o
  • 21:41 - 21:45
    fallback de fontes que ele traz,
    por essa Montserrat.
  • 21:45 - 21:48
    fonte instalada,
    e vocês viram que é bem facinho.
  • 21:48 - 21:49
    Eu vou consumir lá no Google Fontes,
  • 21:49 - 21:53
    pegar o link e jogar aqui
    dentro do meu Extend.
  • 21:53 - 21:54
    O quê que a gente vai fazer?
  • 21:54 - 21:57
    A gente vai consumir
    alguns ícones também.
  • 21:57 - 21:59
    Esses ícones eu vou fazer via CDN,
  • 21:59 - 22:01
    para mostrar para vocês que também
  • 22:01 - 22:07
    podemos usar CDN, mesmo estando
    usando o nosso Tailwind.
  • 22:07 - 22:11
    Vou fechar um pouquinho
    o meu Tailwind Config.
  • 22:11 - 22:16
    Vou lá no meu navegador e eu vou
    consumir os ícones dessa biblioteca,
  • 22:16 - 22:20
    chamada Box Icons,
    que é uma biblioteca bem legal.
  • 22:20 - 22:25
    Ele tem uns traços
    bonitos dos nossos ícones.
  • 22:25 - 22:27
    E ela é bem simples de ser
  • 22:27 - 22:29
    utilizada, de ser colocada.
  • 22:29 - 22:31
    Então, o quê que a gente vai fazer?
  • 22:31 - 22:34
    Aqui no link do Box Icons, boxicons
  • 22:34 - 22:40
    .com,
    eu vou aqui na parte de uso dela.
  • 22:40 - 22:42
    Ele vai explicar para mim como que
  • 22:42 - 22:42
    ele pode instalar.
  • 22:42 - 22:47
    Você pode fazer a instalação,
    inclusive, via NPM e consumir por lá.
  • 22:47 - 22:50
    Mas nós temos aqui a configuração
  • 22:50 - 22:52
    como uma fonte, né?
  • 22:52 - 22:56
    Porque vai ficar
    mais fácil essa fonte.
  • 22:56 - 22:59
    Então, esse link aqui, nós
  • 22:59 - 23:01
    simplesmente vamos selecionar.
  • 23:04 - 23:10
    Bom, então eu selecionei
    essa partezinha do início dele, do link,
  • 23:10 - 23:14
    até o fechamento, lá no final.
  • 23:14 - 23:17
    E esse carinha, eu vou jogar aonde?
  • 23:17 - 23:20
    Eu vou jogar dentro do meu Red, tá?
  • 23:23 - 23:25
    Para ser utilizado.
  • 23:25 - 23:27
    Eu costumo fazer o seguinte.
  • 23:27 - 23:30
    Eu costumo dar prioridade
    ao carregamento do Google Fonts.
  • 23:30 - 23:32
    Se bem que ele já está
    usando esse pre-connect,
  • 23:32 - 23:34
    então ele vai fazer
    um carregamento mais rápido.
  • 23:34 - 23:39
    Por isso que é interessante usar
    sempre a função de link, né?
  • 23:39 - 23:42
    Para você trazer fonte do Google.
  • 23:42 - 23:44
    E aqui eu vou colocar, né?
  • 23:44 - 23:45
    O meu Box Icons.
  • 23:45 - 23:48
    Só um comentáriozinho, para ficar
  • 23:48 - 23:51
    bem claro para você
    o que a gente está fazendo.
  • 23:51 - 23:56
    E aqui eu colo a minha referência.
  • 23:56 - 23:58
    Beleza?
  • 23:58 - 24:01
    Se você quiser fazer um teste
    para ver se está funcionando, e eu
  • 24:01 - 24:04
    garanto que já está,
    o que a gente pode fazer?
  • 24:04 - 24:07
    A gente pode vir aqui nele, tá?
  • 24:07 - 24:13
    Por exemplo, pegar esse Castle aqui.
  • 24:13 - 24:16
    Quero pegá-lo no formato de fonte.
  • 24:16 - 24:18
    Você não precisa se preocupar
    com essas configurações.
  • 24:18 - 24:21
    Que essas configurações de cor,
    de tamanho.
  • 24:21 - 24:26
    Como é uma fonte, nós vamos
    fazer isso tudo via T1 Indy.
  • 24:26 - 24:28
    Vou clicar nesse carinha.
  • 24:30 - 24:33
    E só para testar, vou jogar aqui, ó.
  • 24:33 - 24:37
    No lugar do meu Montserrat,
    que eu sei que já está funcionando.
  • 24:37 - 24:39
    Vou colocar o meu ícone, tá?
  • 24:39 - 24:43
    Mas deixa eu tirar do H1,
    que é mais bonitinho, né, Ezão?
  • 24:43 - 24:50
    Aqui sim eu consigo colocar
    um text 8XL para fonte.
  • 24:50 - 24:52
    No caso, para o meu ícone, né?
  • 24:52 - 24:56
    Que está sendo tratado
    como uma fonte.
  • 24:56 - 24:58
    Vamos lá na página, tá?
  • 24:58 - 25:01
    O nosso castelinho
    já está funcionando.
  • 25:01 - 25:03
    Então, veja, ele já está aparecendo.
  • 25:03 - 25:06
    Seu box icons está funcionando.
  • 25:06 - 25:09
    Caso você não coloque essa linha,
  • 25:09 - 25:14
    obviamente ele não tem
    como buscar essa referência
  • 25:14 - 25:18
    e provavelmente
    o castelinho desaparecerá.
  • 25:18 - 25:21
    Então, vamos voltar com a referência.
  • 25:21 - 25:27
    e eu vou tirar esse carinha daqui
    para começar o conteúdo da página.
  • 25:27 - 25:31
    Então, eu já tenho as referências
    dos elementos, né, das aplicações
  • 25:31 - 25:34
    que eu vou utilizar
    além do Tailwind.
  • 25:34 - 25:35
    O que a gente vai fazer?
  • 25:35 - 25:37
    A gente vai dar uma olhada
    no layout e vou explicar
  • 25:37 - 25:41
    para vocês como que eu imaginei
    a criação desse layout.
  • 25:41 - 25:44
    Vai receber aqui um outro container,
  • 25:44 - 25:47
    onde eu vou ter o meu
    menu de navegação, vou ter
  • 25:47 - 25:51
    essa pequena logo que eu estou
    tirando lá do box icons
  • 25:51 - 25:55
    e aqui esse menu
    com essas três opções.
  • 25:55 - 26:00
    Esses caras estarão separados, né,
    porque eu vou utilizar o Flexbox do
  • 26:00 - 26:04
    Tailwind para fazer
    o posicionamento deles.
  • 26:04 - 26:08
    Aí nós teremos aqui
    embaixo essa oficina web
  • 26:08 - 26:13
    que também será um outro
    container e depois o Flex vai
  • 26:13 - 26:16
    posicionar os elementos
    aqui para nós.
  • 26:16 - 26:19
    Vale ressaltar e você
    deve ter percebido
  • 26:19 - 26:23
    que nós temos uma imagem
    de fundo também.
  • 26:23 - 26:25
    Essa imagem de fundo nós vamos fazer
  • 26:25 - 26:33
    a referência dela lá no extend
    do nosso arquivo de configuração.
  • 26:33 - 26:37
    Então, vamos olhar aqui
    o nosso terminal de config.
  • 26:37 - 26:40
    Aqui no extend eu vou usar, vou
  • 26:40 - 26:46
    chamar essa imagem,
    que é a imagem banner hero.
  • 26:46 - 26:48
    Eu quero que você perceba
    também o seguinte, aqui
  • 26:48 - 26:50
    ela está um pouquinho
    mais Clara e aqui ela está um
  • 26:50 - 26:52
    pouquinho mais escura, porque eu
  • 26:52 - 26:58
    coloquei um gradiente no código
    para que ele fique um pouquinho mais
  • 26:58 - 27:02
    escuro,
    facilitando a leitura do conteúdo.
  • 27:02 - 27:07
    Essa imagem banner hero, então, será
    inserida aqui no Tailwind config.
  • 27:07 - 27:10
    Para isso, eu fiz o seguinte código.
  • 27:13 - 27:16
    Deixa eu só configurar
    ele para ficar bonitinho e pronto.
  • 27:16 - 27:18
    Então, o que acontece?
  • 27:18 - 27:24
    Eu coloquei aqui dentro do extend
    a minha propriedade de background
  • 27:24 - 27:29
    image, onde eu tenho
    uma classe chamada hero.
  • 27:29 - 27:32
    Essa classe,
    na realidade, o que vai acontecer?
  • 27:32 - 27:39
    Ela vai receber, essa imagem,
    vai receber o linear gradiente que eu
  • 27:39 - 27:43
    montei, que deixou ele bem escurinho,
    ou seja, esse carinha
  • 27:43 - 27:49
    aqui é o responsável por deixar
    a imagem um pouco mais escura.
  • 27:49 - 27:53
    Então, é um gradiente
    de uma tonalidade de azul com quase
  • 27:53 - 27:56
    opacidade total,
    ela é totalmente opaca, basicamente,
  • 27:56 - 28:00
    ponto Nobre de opacidade,
    para uma opacidade menor,
  • 28:00 - 28:02
    ou seja, ponto 6.
  • 28:02 - 28:05
    Então, ela está um pouquinho
    mais transparente.
  • 28:05 - 28:09
    Vale ressaltar que eu montei esse
    linear só porque eu achei que a
  • 28:09 - 28:13
    imagem estava muito Clara e,
    provavelmente, ela iria complicar
  • 28:13 - 28:17
    a leitura do nosso conteúdo.
  • 28:17 - 28:18
    As cores que eu estou usando, você
  • 28:18 - 28:22
    pode utilizar,
    você pode também alterar.
  • 28:22 - 28:26
    Inclusive, você pode mexer
    nessa opacidade, deixando ela mais Clara,
  • 28:26 - 28:28
    ou se você preferir,
    ainda mais escura.
  • 28:28 - 28:35
    Ao lado dele, nós temos uma URL
    que está trazendo exatamente a minha
  • 28:35 - 28:40
    imagem banner hero,
    que é esse carinha aqui.
  • 28:40 - 28:43
    Então, ela vai ficar mais escura,
  • 28:43 - 28:49
    graças a essa parte do código, e ela vai
    ser inserida, ela será inserida,
  • 28:49 - 28:52
    graças a essa parte do código.
  • 28:56 - 29:01
    Posso fechar o meu TendConfig, posso
    fechar o meu banner hero, e agora eu
  • 29:01 - 29:05
    vou começar a criação
    desse elemento aqui.
  • 29:08 - 29:16
    Então, dentro do nosso conteúdo,
    eu vou colocar aqui um comentário,
  • 29:16 - 29:22
    criando o reader e o hero da página.
  • 29:25 - 29:29
    Eu não quero que esse comentário
    apareça, vou dar um CTRL, ponto e
  • 29:29 - 29:33
    vírgula para comentar,
    e para ficar bem claro para você
  • 29:33 - 29:36
    aonde ele começa e onde ele termina,
    eu vou duplicar
  • 29:36 - 29:41
    esse componente, essa...
    esse comentário, na realidade, né?
  • 29:41 - 29:44
    CTRL, ponto e vírgula, vou abrir um
  • 29:44 - 29:48
    pouquinho de espaço,
    e aqui, eu vou até fazer
  • 29:48 - 29:50
    o seguinte,
    vou deixar esse comentário maior, tá?
  • 29:50 - 29:55
    Então, vou clicar aqui,
    vou segurar a tecla ALT, vou
  • 29:55 - 29:59
    clicar aqui,
    vou segurar a tecla ALT, clicar aqui,
  • 29:59 - 30:03
    segurar a tecla ALT,
    clicar aqui, e vou aumentar
  • 30:03 - 30:07
    esse comentário
    para ocupar todo o espaço.
  • 30:07 - 30:15
    Vou colocar aqui,
    fim, header e hero da página.
  • 30:15 - 30:20
    Se você tiver um problema de toque
    como eu tenho, você pode fazer isso,
  • 30:22 - 30:24
    simplesmente para ele ficar igual.
  • 30:24 - 30:30
    E aqui vem todo o código
    que nós vamos desenvolver.
  • 30:30 - 30:31
    Então, vou criar um elemento
  • 30:31 - 30:36
    article, e esse elemento
    article terá uma classe.
  • 30:36 - 30:38
    Bom, agora começa o seguinte, começa
  • 30:38 - 30:43
    toda a hipopeia de você criar
    um componente e fazer a estilização com
  • 30:43 - 30:47
    a CSS do Twind
    e com as classes do Twind.
  • 30:47 - 30:50
    Então,
    nesse começo, para não ficar aquele
  • 30:50 - 30:54
    acúmulo de classes,
    eu separei por apply.
  • 30:54 - 30:59
    Então, como eu tenho esse article
    com, provavelmente, uma classe com
  • 30:59 - 31:02
    algum valor, que eu vou
    aplicar para ela, nesse caso,
  • 31:02 - 31:06
    eu vou chamar de header ou hero,
    o que eu vou fazer?
  • 31:06 - 31:08
    Eu vou criar um apply para ele.
  • 31:08 - 31:11
    Então, vamos dar uma olhadinha
    como que ele vai ficar.
  • 31:11 - 31:15
    Vou colocar aqui a classHero.
  • 31:15 - 31:21
    Essa classHero será criada
    dentro do nosso apply.
  • 31:21 - 31:23
    Dentro dele, o que nós temos?
  • 31:23 - 31:26
    Nós temos agora...
    Então, criamos esse
  • 31:26 - 31:31
    componente e nós temos
    aqui esse header.
  • 31:31 - 31:34
    Ou seja, nós temos esse cabeçalho.
  • 31:34 - 31:38
    Esse cabeçalho tem
    uma imagem de ícone e aqui
  • 31:38 - 31:42
    ele tem exatamente
    as nossas opções do menu.
  • 31:42 - 31:46
    Vamos voltar lá
    e montar esse código.
  • 31:46 - 31:49
    Então, nosso código ficará assim.
  • 31:51 - 31:53
    Deixa eu dar um Shift
    Alt F para identar.
  • 31:53 - 31:55
    Olha como facilita
    para caramba a visualização
  • 31:55 - 31:59
    e você tem um código
    sempre organizado.
  • 31:59 - 32:03
    Então, aqui dentro do nosso article,
    nós temos essa classHero.
  • 32:03 - 32:05
    Essa classHero será um apply.
  • 32:05 - 32:10
    Nós criamos o header,
    ou seja, uma tag semântica, né?
  • 32:10 - 32:12
    Que indica um cabeçalho.
  • 32:12 - 32:15
    Nesse caso,
    o cabeçalho aqui do nosso hero,
  • 32:15 - 32:20
    que também terá uma class
    desenvolvida por apply.
  • 32:20 - 32:23
    Aqui, eu já tenho o ícone.
  • 32:23 - 32:27
    Então, esse carinha que está
    aparecendo aqui, ele representa o
  • 32:27 - 32:34
    ícone que nós vamos utilizar,
    que eu peguei no Box Icons.
  • 32:34 - 32:38
    Então, esse cara é exatamente
    esse quadradinho.
  • 32:38 - 32:45
    Percebam que essas duas classes dele,
    Box e Box Package, ou seja,
  • 32:45 - 32:50
    esses dois carinhas, eles pertencem
    à nossa biblioteca de ícones.
  • 32:50 - 32:56
    Só que eu criei uma classe,
    também por apply, que é a ícone logo.
  • 32:56 - 33:01
    Abaixo dele,
    nós temos um menu de navegação, né?
  • 33:01 - 33:04
    Nós temos um elemento de navegação.
  • 33:04 - 33:05
    Nós temos a tag e o L.
  • 33:05 - 33:11
    Essa tag eu já coloquei
    o flex e o gap em três.
  • 33:11 - 33:13
    Ou seja, o espaçamento dele em três.
  • 33:13 - 33:16
    Definir as nossas Lis.
  • 33:16 - 33:20
    Cada uma das Lis com as opções de
  • 33:20 - 33:23
    Code, Developers e Job.
  • 33:23 - 33:26
    Cada um deles com a classe nave.
  • 33:26 - 33:32
    Essa classe nave,
    ela será desenvolvida via apply.
  • 33:32 - 33:35
    Se a gente olhar ele na página, nós
  • 33:35 - 33:39
    vamos ter uma experiência
    mais ou menos assim.
  • 33:39 - 33:43
    Olha, exatamente dessa forma.
  • 33:43 - 33:46
    Não se parece em nada
    com aquela página.
  • 33:46 - 33:51
    A única coisa que ele tem aqui
    é exatamente o nosso menu de navegação
  • 33:51 - 33:53
    e esse ícone pequeno.
  • 33:53 - 33:56
    Nós não temos nem a imagem de fundo,
  • 33:56 - 33:58
    nem o banner de fundo.
  • 33:58 - 34:01
    Então,
    na realidade, a gente tem toda
  • 34:01 - 34:05
    a estrutura dos componentes,
    dos elementos HTML.
  • 34:05 - 34:09
    Basta, agora, gerar os applies
    com as classes do Tailwind.
  • 34:09 - 34:14
    Então, nós vamos lá no nosso arquivo
    de estilização inicial, o arquivo de
  • 34:14 - 34:18
    entrada,
    onde nós colocamos todas as diretivas
  • 34:18 - 34:22
    através daquele arroba,
    tailwind e os componentes.
  • 34:22 - 34:26
    E ali nós criaremos
    os nossos applies.
  • 34:26 - 34:31
    Cada apply representa uma classe
    que está dentro do nosso elemento HTML.
  • 34:31 - 34:39
    Então, agora, nós vamos abrir
    o nosso arquivo de CSS, o nosso style CSS.
  • 34:39 - 34:43
    E aqui eu vou colocar a diretiva.
  • 34:43 - 34:47
    Então, nós temos
    o nosso arroba layer utilities.
  • 34:47 - 34:50
    Deixa eu fechar essas chaves.
  • 34:50 - 34:52
    E aqui a gente tem a primeira
  • 34:52 - 34:54
    formatação dele.
  • 34:54 - 34:55
    Então, o que nós temos?
  • 34:55 - 34:58
    Dentro do hero, quem que é o hero,
  • 34:58 - 34:58
    né?
  • 34:58 - 35:02
    O hero é todo esse meu article.
  • 35:02 - 35:05
    Então, dentro dele, nós criamos uma
  • 35:05 - 35:13
    fonte, uma largura dele,
    ocupando 100% da altura da tela, né?
  • 35:13 - 35:14
    O sem VH.
  • 35:14 - 35:18
    Nós colocamos um WFull
    para ocupar 100%.
  • 35:18 - 35:24
    Nós colocamos um flex, flex coluna.
  • 35:24 - 35:29
    Chamamos o nosso BG Hero,
    que é a nossa imagem de fundo.
  • 35:29 - 35:33
    Definimos para ela não repetir e ela
  • 35:33 - 35:35
    ter o cover, né?
  • 35:35 - 35:37
    Ou seja, ela ocupar todo o espaço.
  • 35:39 - 35:43
    Vai ficar mais fácil se você ativar
  • 35:43 - 35:48
    aqui, por exemplo,
    a sua extensão do Tailwind.
  • 35:48 - 35:49
    Tailwind.
  • 35:52 - 35:53
    Então, Tailwind.
  • 35:56 - 35:57
    CSS Intellicense.
  • 35:59 - 36:01
    Eu vou desinstalar.
  • 36:01 - 36:03
    Aquela parece que não
    está funcionando.
  • 36:03 - 36:04
    Vou instalar novamente.
  • 36:04 - 36:06
    Beleza.
  • 36:06 - 36:09
    Provavelmente agora,
    quando você passar o ponteiro
  • 36:09 - 36:13
    do mouse, você tem exatamente
    a descrição de tudo que
  • 36:13 - 36:13
    eu falei para você.
  • 36:13 - 36:18
    Então, agora, com essa extensão,
  • 36:18 - 36:23
    essa extensão instalada, vai ficar
    mais fácil de você visualizar as
  • 36:23 - 36:29
    classes, o que representa
    cada uma dessas formatações.
  • 36:29 - 36:31
    Se a gente der uma olhadinha aqui na
  • 36:31 - 36:35
    nossa índex,
    nós temos apenas a classe Hero.
  • 36:35 - 36:37
    Nós temos outros elementos aqui,
  • 36:37 - 36:41
    como o header,
    que tem uma classe menu.
  • 36:41 - 36:44
    A gente tem o I
    com a classe A e com o logo.
  • 36:44 - 36:46
    E nós temos aqui as naves com as
  • 36:46 - 36:50
    suas respectivas
    diretivas lá para o Apply.
  • 36:50 - 36:53
    Se nós voltarmos na nossa página,
  • 36:53 - 36:57
    vocês já vão perceber que a nossa página
    já está ocupando toda a tela,
  • 36:57 - 36:57
    tá?
  • 36:57 - 37:01
    O conteúdo está aqui bem
    pequenininho ainda, certo?
  • 37:01 - 37:03
    A gente não tem visualização dele,
  • 37:03 - 37:06
    mas a gente já tem
    o nosso componente.
  • 37:06 - 37:09
    Percebam que esse cara, ele já está
  • 37:09 - 37:12
    totalmente responsivo, né?
  • 37:12 - 37:17
    Também, vale ressaltar
    que por causa dessa formatação
  • 37:17 - 37:22
    de largura em 100% e essa com 100VH,
    a nossa imagem
  • 37:22 - 37:25
    de fundo já está
    ocupando toda a tela.
  • 37:25 - 37:29
    Outra coisa,
    aqui no BG Hero, é exatamente esse
  • 37:29 - 37:34
    carinha que traz a imagem
    de fundo que nós estendemos
  • 37:34 - 37:37
    aqui no Tailwind Config, tá?
  • 37:37 - 37:46
    Então, foi dentro desse Hero
    que nós aplicamos o BG, tracinho e colocamos
  • 37:46 - 37:50
    a palavrinha Hero para ele reconhecer
    a nossa imagem de fundo.
  • 37:50 - 37:53
    Vamos atualizar e está aqui ela.
  • 37:53 - 37:55
    O que nós precisamos?
  • 37:55 - 37:58
    Nós precisamos montar
    a outra parte dele, né?
  • 37:58 - 38:02
    Os outros itens que estão dentro
  • 38:02 - 38:06
    aqui do header menu, dentro do ícone
  • 38:06 - 38:11
    logo e dentro aqui
    da nossa classe nave.
  • 38:11 - 38:14
    Então,
    vamos pegar esse código e colar aqui.
  • 38:14 - 38:19
    Então, abaixo do Hero
    e eu vou colar esses applies.
  • 38:19 - 38:22
    Shift, Alt, F para arrumar.
  • 38:22 - 38:25
    Então, meu elemento de menu.
  • 38:25 - 38:31
    Meu elemento de menu representa
    todo o header da nossa página.
  • 38:31 - 38:35
    Então, esse elemento,
    ele está configurado para ter
  • 38:35 - 38:42
    uma fonte, uma largura de 100%,
    uma altura em 64.
  • 38:42 - 38:46
    pixels,
    então 64 pixels de altura do menu.
  • 38:46 - 38:49
    Nós deixamos ele flex, ou seja, o
  • 38:49 - 38:51
    container ficou flexível.
  • 38:51 - 38:55
    Colocamos Justify Between
    para fazer com que a primeira
  • 38:55 - 38:59
    opção, ou seja,
    o nosso logo fique posicionado à
  • 38:59 - 39:05
    esquerda e as opções do menu
    fiquem posicionadas à direita.
  • 39:05 - 39:10
    Colocamos um item center para ficar
    centralizado verticalmente.
  • 39:10 - 39:13
    Colocamos uma margem em 20 pixels,
  • 39:13 - 39:18
    um padding esquerda
    e direita em 40 pixels.
  • 39:18 - 39:21
    E aqui, nas telas menores, né, nas
  • 39:21 - 39:29
    telas que são LG, eu coloquei
    um pixel de 20, um padding X de 20.
  • 39:29 - 39:34
    Ou seja, eu aumentei um pouquinho
    a distância desse padding.
  • 39:34 - 39:41
    Abaixo do ícone logo, nós temos
    os nossos ícones, ou seja, esse querido
  • 39:41 - 39:47
    aqui, que é o nosso ícone
    buscado no box icons.
  • 39:47 - 39:51
    Nós colocamos ele com um text 5XL.
  • 39:51 - 39:57
    Coloquei um slate de 100, ou seja,
    vai ficar com uma corzinha branca.
  • 39:57 - 40:00
    E aqui eu coloquei
    uma animação do Tailwind.
  • 40:00 - 40:03
    O Tailwind já tem algumas
    animações prontas,
  • 40:03 - 40:06
    né, as animações que são
    feitas com keyframes.
  • 40:06 - 40:10
    E aí você chama
    a propriedade animation
  • 40:10 - 40:14
    e executa essa animação
    que você deseja.
  • 40:14 - 40:17
    No caso, o Tailwind já
    tem esse carinha pronto.
  • 40:17 - 40:19
    Lá na documentação, basta você dar
  • 40:19 - 40:25
    uma olhada na parte
    de animações e transições.
  • 40:25 - 40:27
    Abaixo dele nós temos a nave.
  • 40:27 - 40:36
    A nave representa cada um dos
    nossos elementos de navegação.
  • 40:36 - 40:41
    E aí nessa nave eu coloquei
    um posicionamento relativo.
  • 40:41 - 40:46
    Uma margem esquerda em 20 pixels.
  • 40:46 - 40:50
    A fonte, né, o peso da fonte em 600.
  • 40:50 - 40:54
    Uma altura, um espaçamento, perdão,
  • 40:54 - 40:57
    perdão, voltando.
  • 40:57 - 41:01
    Um espaçamento entre
    as letras de 4 pixels.
  • 41:01 - 41:06
    E a cor branca, né, esse leite é um
  • 41:06 - 41:09
    cinza, mas com 100 ele fica
    uma tonalidade branca.
  • 41:09 - 41:14
    Então, essas três classes
    em conjunto com a classe
  • 41:14 - 41:18
    Hero devem formar isso
    daqui no nosso conteúdo.
  • 41:18 - 41:22
    Então, percebam que o nosso menu
    já está montado.
  • 41:22 - 41:25
    Percebam a animação
    que já está acontecendo.
  • 41:25 - 41:29
    Ah, se você vir aqui dentro
    da documentação do T1 Indy e colocar
  • 41:29 - 41:36
    aqui animation, ele já vai te dar...
    eu tirei essa animação daqui, ó.
  • 41:36 - 41:42
    Você tem animate spin,
    ping e você tem essa animação pulse.
  • 41:42 - 41:44
    Então, eu simplesmente copiei essa
  • 41:44 - 41:47
    classe e ele já me deu
    essa animação montada.
  • 41:47 - 41:50
    Por isso que ele fica exatamente
  • 41:50 - 41:56
    aparecendo e ficando
    um pouquinho mais apagadinho
  • 41:56 - 42:01
    com um determinado prazo,
    um determinado tempo.
  • 42:01 - 42:04
    Para esse carinha aqui,
    para o código, para o Deverbs
  • 42:04 - 42:07
    e para o Jobs,
    eu achei que ficou muito
  • 42:07 - 42:10
    simples essa formatação,
    esse posicionamento.
  • 42:10 - 42:13
    Então,
    eu criei um apply para eles também.
  • 42:18 - 42:24
    Então, para as nossas opções de menu,
    eu preparei essa formatação.
  • 42:24 - 42:26
    Shift Alt F para arrumar.
  • 42:26 - 42:31
    Então, eu defini o pseudo-elemento
    after, que é um conteúdo que vai ser
  • 42:31 - 42:35
    inserido dinamicamente via CSS.
  • 42:35 - 42:37
    Então,
    criei um apply para ele e coloquei
  • 42:37 - 42:41
    o content,
    né, que é obrigatório como vazio.
  • 42:41 - 42:45
    Coloquei a posição absoluta, ou seja,
    para ser em relação a ele, já
  • 42:45 - 42:49
    que a nave tem a posição relativa.
  • 42:49 - 42:53
    Busquei aqui a cor
    desse elemento branca.
  • 42:53 - 42:58
    Dei uma altura para ele de 4 pixels.
  • 42:58 - 43:01
    Coloquei uma largura de 12 pixels.
  • 43:01 - 43:05
    Coloquei um left,
    o posicionamento dele em zero.
  • 43:05 - 43:08
    Coloquei um posicionamento negativo,
  • 43:08 - 43:10
    inferior em menos 5,
    para ele não ficar.
  • 43:10 - 43:10
    ..
  • 43:10 - 43:18
    menos 5RM, ou 8 pixels, para ele não
    ficar tão grudado no link.
  • 43:18 - 43:20
    Arredondamento da linha.
  • 43:20 - 43:22
    E o duration, ou seja, o tempo de
  • 43:22 - 43:28
    transição em 500,
    ou seja, em meio segundo.
  • 43:28 - 43:33
    Quando você passar o ponteiro do mouse
    sobre ele, o que vai acontecer?
  • 43:33 - 43:37
    Esse apply,
    ele está executando exatamente isso.
  • 43:37 - 43:42
    Ele está montando esse tracinho
    que vocês têm embaixo de cada um deles.
  • 43:42 - 43:46
    Então, esse tracinho veio daqui,
  • 43:46 - 43:48
    dessa formatação,
    dessa pseudo-classe.
  • 43:48 - 43:53
    Quando passar o ponteiro do mouse
    sobre ele, ele vai deixar de ter
  • 43:53 - 43:56
    aqui uma largura de 12 pixels.
  • 43:56 - 44:00
    Ele vai ocupar exatamente todo o
  • 44:00 - 44:01
    espaço do conteúdo.
  • 44:01 - 44:04
    Isso significa que passando o
  • 44:04 - 44:07
    ponteiro do mouse sobre ele,
    ou seja, o hover, ele vai aumentar
  • 44:07 - 44:14
    a largura dele de 12,
    para ocupar 100% da opção do menu.
  • 44:14 - 44:17
    Isso é muito comum em vários
    menus de navegação.
  • 44:17 - 44:20
    Então, inclusive, você encontra
    esse efeito no menu da FIAP.
  • 44:20 - 44:23
    Sempre as opções do link,
    quando você passa o ponteiro
  • 44:23 - 44:26
    do mouse no menu principal,
    elas vão completar
  • 44:26 - 44:29
    com um tracinho
    basicamente igual a esse.
  • 44:29 - 44:31
    Vamos construir a parte de baixo,
  • 44:31 - 44:37
    a nossa parte onde nós temos o Hero,
    na verdade.
  • 44:37 - 44:40
    Bom, então aqui, para ficar mais
  • 44:40 - 44:42
    específico, mais claro para você,
  • 44:42 - 44:47
    aqui vai ser o meu menu,
    vai ser a minha parte de logo e menu.
  • 44:49 - 44:52
    Não vou comentar para não aparecer.
  • 44:52 - 44:56
    Então, SHIFT,
    ALT, F para identificar esse código.
  • 44:56 - 45:00
    Vou duplicar,
    SHIFT, ALT, seta para baixo.
  • 45:00 - 45:02
    Vou usar o ALT, setinha para baixo,
  • 45:02 - 45:04
    para descer até
    o fechamento do header.
  • 45:04 - 45:09
    E aqui eu vou colocar FIM,
    logo e menu.
  • 45:09 - 45:11
    Automaticamente, eu vou criar a
  • 45:11 - 45:14
    parte do Hero, tá?
  • 45:14 - 45:18
    Então, Hero, CTRL, ponto e vírgula,
  • 45:18 - 45:21
    comentou, SHIFT,
    ALT, seta para baixo, duplicou.
  • 45:21 - 45:23
    E aqui eu vou colocar o FIM, Hero.
  • 45:26 - 45:28
    Não vou deixar esse
    cara desse jeito.
  • 45:28 - 45:31
    Vamos arrumar esse carinha
    para ele ficar igualzinho.
  • 45:31 - 45:33
    Pronto, beleza.
  • 45:33 - 45:37
    Vou colar o código
    que eu fiz do Hero.
  • 45:37 - 45:41
    Então, o que nós temos nesse Hero?
  • 45:41 - 45:44
    Nós temos um Hero, uma Class Hero,
  • 45:44 - 45:50
    que também é um Apply,
    dentro de um elemento de Section.
  • 45:50 - 45:57
    um H2 com Text 5XL, ou seja,
    o tamanho da fonte, 48 pixels.
  • 45:57 - 46:04
    O P com uma largura de 50%
    do tamanho do elemento aonde ele está
  • 46:04 - 46:08
    posicionado,
    que no caso é o nosso Hero Section.
  • 46:08 - 46:15
    E aí, vale ressaltar que ele vai
    ocupar 50% dos 100% desse elemento.
  • 46:15 - 46:18
    E aqui, o nosso Leading, que é
  • 46:18 - 46:22
    a altura da linha em 28 pixels.
  • 46:22 - 46:27
    Abaixo, eu tenho um elemento A com
  • 46:27 - 46:31
    a Class BTN para esse link.
  • 46:31 - 46:36
    Vamos ver como que ele ficou
    na página e ele deve estar por aqui,
  • 46:36 - 46:39
    todo apagadinho, porque faltam as
  • 46:39 - 46:43
    formatações básicas
    para posicionamento.
  • 46:43 - 46:49
    Perceba que o Text 5XL ele já
    aplicou, esse tamanho aqui ele já
  • 46:49 - 46:54
    aplicou, e a classe BTN a gente
    não tem ainda porque é um Apply.
  • 46:54 - 46:57
    Então, vamos lá colocar esse Apply.
  • 47:05 - 47:08
    Shift Alt F para ele arrumar.
  • 47:08 - 47:11
    O Hero Section tem
    uma largura de 100%.
  • 47:11 - 47:15
    Ele tem uma altura de 100 VH.
  • 47:15 - 47:19
    Colocamos o Display Flex
    para alinhar os elementos.
  • 47:19 - 47:23
    Flex Coal para posicionar
    um abaixo do outro.
  • 47:23 - 47:26
    Text Slate 100 vai ser a nossa cor,
  • 47:26 - 47:28
    que vai ficar na corzinha branca.
  • 47:28 - 47:33
    Alinhamento centralizado, tanto
    na horizontal quanto na vertical.
  • 47:33 - 47:37
    Espaçamento entre
    os elementos em 32 pixels.
  • 47:37 - 47:42
    e o alinhamento
    do texto centralizado.
  • 47:42 - 47:45
    Se a gente for dar
    uma olhadinha agora
  • 47:45 - 47:50
    na nossa página,
    nossa oficina web está dessa forma.
  • 47:50 - 47:53
    Basta a gente usar quem?
  • 47:53 - 47:54
    Formatar quem?
  • 47:54 - 48:00
    Formatar o nosso Access Now,
    ou seja, o nosso elemento de botão.
  • 48:00 - 48:06
    Mas o restante ele já está
    deixando formatado no padrão,
  • 48:06 - 48:10
    que nós temos aqui
    no nosso elemento de desktop.
  • 48:13 - 48:16
    Então aqui a gente
    tem esse elemento.
  • 48:16 - 48:17
    Vamos fazer a formatação dele.
  • 48:22 - 48:24
    Nós temos a class btn.
  • 48:24 - 48:29
    Então eu vou criar
    uma diretiva aqui para ele.
  • 48:29 - 48:31
    De ponto btn.
  • 48:33 - 48:35
    Iniciando com o nosso apply.
  • 48:39 - 48:44
    Para esse cara,
    eu vou colocar uma borda.
  • 48:44 - 48:48
    Então vamos colocar aqui as bordas.
  • 48:48 - 48:55
    Border 2, por exemplo, que ela vai
    me dar uma borda de 2 pixels.
  • 48:55 - 48:59
    Então provavelmente ele já está
    colocando aqui uma bordinha de 2
  • 48:59 - 49:01
    pixels para nós.
  • 49:01 - 49:05
    Vamos colocar aqui um padding,
  • 49:05 - 49:08
    provavelmente um padding X, tanto
  • 49:08 - 49:11
    para o eixo para a esquerda
    e para a direita.
  • 49:11 - 49:17
    Vou colocar um padding X de 2, que vai
    dar mais ou menos uns 8 pixels.
  • 49:17 - 49:19
    Vou colocar também.
  • 49:19 - 49:23
    Então já espaçou um pouquinho.
  • 49:23 - 49:26
    Já espaçou um pouquinho
    aqui na lateral.
  • 49:26 - 49:27
    Dá até para espaçar
    um pouquinho mais.
  • 49:27 - 49:30
    X4.
  • 49:30 - 49:31
    Tá bom.
  • 49:34 - 49:36
    Já espaçou um pouquinho mais.
  • 49:36 - 49:38
    Vou espaçar ele também
    na parte superior.
  • 49:38 - 49:40
    Então pede Y.
  • 49:40 - 49:42
    Vou colocar 4 também.
  • 49:42 - 49:43
    Sempre juntinho.
  • 49:43 - 49:45
    Tá?
  • 49:45 - 49:47
    Deixa ele buildar aqui para a gente.
  • 49:50 - 49:51
    Rebuildando.
  • 49:51 - 49:53
    Beleza.
  • 49:53 - 49:54
    Então já colocou.
  • 49:54 - 49:56
    Eu acho que cabe até
    um pouquinho mais na lateral.
  • 49:56 - 50:03
    Então posso colocar aqui um 8,
    32 pixels.
  • 50:03 - 50:05
    Ficou melhor ainda.
  • 50:05 - 50:08
    E aqui eu posso
    diminuir um pouquinho.
  • 50:08 - 50:12
    Deixar ele um pouquinho menor.
  • 50:12 - 50:14
    Coloquei ele com PY2.
  • 50:14 - 50:16
    Já melhorou.
  • 50:16 - 50:18
    Vou colocar aqui um rounded.
  • 50:21 - 50:24
    Então nós temos aqui
    a opção de rounded SM.
  • 50:24 - 50:28
    Round, rounded MD.
  • 50:28 - 50:29
    Vou usar esse MD.
  • 50:32 - 50:35
    Já Fez o arredondamento dele aqui.
  • 50:35 - 50:36
    Toma cuidado para não exagerar.
  • 50:36 - 50:37
    Tá?
  • 50:37 - 50:40
    O rounded MD deu 6 pixels.
  • 50:40 - 50:42
    Se você quiser aumentar
    um pouquinho mais.
  • 50:42 - 50:45
    Você pode colocar um LG.
  • 50:45 - 50:46
    Que vai dar 8.
  • 50:46 - 50:47
    Ou um XL.
  • 50:47 - 50:50
    que deve dar 12 pixels.
  • 50:50 - 50:52
    Ficar mais arredondadinho.
  • 50:52 - 50:54
    Ok.
  • 50:54 - 50:57
    E aqui a gente vai ter.
  • 50:57 - 50:59
    Também um hover.
  • 51:01 - 51:04
    Então, hover dois pontos.
  • 51:04 - 51:06
    Quando passar o ponteiro do mouse.
  • 51:06 - 51:08
    Sobre o elemento.
  • 51:08 - 51:11
    Eu quero colocar um BG.
  • 51:11 - 51:12
    No caso aqui.
  • 51:12 - 51:14
    Eu vou usar uma tonalidade de azul.
  • 51:14 - 51:17
    Um Sky.
  • 51:17 - 51:18
    Por exemplo.
  • 51:18 - 51:20
    800.
  • 51:20 - 51:21
    Bom.
  • 51:21 - 51:24
    Então, passou o ponteiro do mouse.
  • 51:24 - 51:26
    O botãozinho ficou no Sky 800.
  • 51:26 - 51:28
    Pronto.
  • 51:28 - 51:31
    Ficou melhorzinho de você ver agora.
  • 51:31 - 51:37
    Só que eu entendo que esse cara
    podia ter um duration de 500.
  • 51:37 - 51:39
    Ou seja.
  • 51:39 - 51:43
    Ele vai levar 5
    milésimos de segundo.
  • 51:43 - 51:44
    Meio segundo.
  • 51:44 - 51:47
    Para fazer esta transição.
  • 51:47 - 51:50
    Então, ele vai ficar
    mais suave aqui para a gente.
  • 51:52 - 52:01
    Se vocês observarem,
    nosso querido já está responsivo.
  • 52:01 - 52:04
    Bonitinho aqui para que a gente
  • 52:04 - 52:10
    consiga utilizar, inclusive,
    em outros dispositivos menores.
  • 52:10 - 52:13
    Feito o Hero,
    o que que a gente vai montar?
  • 52:13 - 52:15
    Nós vamos montar 3 cardzinhos.
  • 52:15 - 52:17
    Esses cardzinhos,
    eles também estão bem
  • 52:17 - 52:21
    simples e eu também fiz
    apply para todos eles.
  • 52:21 - 52:25
    Vamos dar uma olhada na telinha
    e ver como que eles devem ficar.
  • 52:25 - 52:29
    Então, depois de montar essa carinha,
    nós temos esses 3 carinhas aqui.
  • 52:29 - 52:32
    Nós temos esses 3 cards.
  • 52:32 - 52:35
    Esse cara, eu entendo que ele deve
  • 52:35 - 52:43
    ser um elemento que vai
    receber os outros 3 cards.
  • 52:43 - 52:46
    Cada um desses cards vai
    ter a mesma configuração.
  • 52:46 - 52:51
    Uma imagem, vai ter um título, uma
  • 52:51 - 52:56
    pequena publicação,
    vai ter aqui um título deles, né?
  • 52:56 - 52:59
    Me basei nas diretivas que nós
  • 52:59 - 53:04
    estamos importando do T1ID
    e aqui um pequeno texto.
  • 53:04 - 53:08
    Então, é esse carinha que nós vamos
    montar, lembrando que as imagens já
  • 53:08 - 53:11
    estão disponíveis
    dentro da nossa pasta
  • 53:11 - 53:13
    de imagens e você
    vai receber
  • 53:13 - 53:15
    o endereço do repositório
    com esse código.
  • 53:15 - 53:17
    Beleza?
  • 53:17 - 53:18
    Vamos para essa montagem.
  • 53:18 - 53:22
    Então,
    finalzinho aqui do nosso header.
  • 53:22 - 53:24
    Vamos construir quem?
  • 53:24 - 53:27
    Vamos construir os nossos cards.
  • 53:27 - 53:31
    Então,
    vou colocar aqui área de cards.
  • 53:31 - 53:33
    Contra o ponto e vírgula.
  • 53:33 - 53:38
    Vou duplicar com shift alt,
    seta para baixo.
  • 53:38 - 53:40
    Fim, área de cards.
  • 53:40 - 53:48
    Vou deixar esse cara
    um pouquinho melhor da gente ver.
  • 53:48 - 53:50
    E vou aumentar também, né?
  • 53:50 - 53:55
    Um clique,
    seguro o alt, clico nos demais.
  • 53:55 - 53:56
    Vou aumentar um pouquinho.
  • 54:00 - 54:01
    Fechando o enter.
  • 54:01 - 54:04
    E aqui nós vamos
    para a nossa área de cards.
  • 54:04 - 54:09
    Como os cards, eles parecem ser
    o conteúdo principal da aplicação,
  • 54:09 - 54:11
    então o que eu vou fazer?
  • 54:11 - 54:15
    Eu vou colocar uma main com uma.
  • 54:15 - 54:20
    classe chamada gridCards.
  • 54:20 - 54:24
    Então, todos os nossos cards
    ficarão dentro desse
  • 54:24 - 54:28
    elemento main,
    esse elemento semântico do HTML.
  • 54:28 - 54:30
    E aí vem os nossos cards.
  • 54:30 - 54:33
    Então,
    os cards eu montei dessa forma.
  • 54:33 - 54:36
    Vou passar os três cards para vocês.
  • 54:36 - 54:37
    Então, dá uma olhada.
  • 54:37 - 54:40
    Todos eles têm a mesma estrutura.
  • 54:40 - 54:43
    Então,
    a minha ideia aqui foi bem simples.
  • 54:43 - 54:45
    Eu encapsulei os cards, né?
  • 54:45 - 54:48
    Dentro de uma section.
  • 54:48 - 54:52
    Então,
    cada um deles tem uma section.
  • 54:52 - 54:56
    Bonitinha, organizadinha aqui.
  • 54:56 - 54:58
    Para que eles sejam clicáveis.
  • 54:58 - 55:01
    Então, todo o conteúdo das sections,
  • 55:01 - 55:05
    todo esse conteúdo,
    ele está dentro de uma tag A.
  • 55:05 - 55:11
    E aqui você pode direcionar, se
    você for usar esse card para alguma
  • 55:11 - 55:14
    aplicação sua,
    ou para alguma entrega do curso,
  • 55:14 - 55:18
    você pode direcionar
    o link desse cardzinho
  • 55:18 - 55:21
    para uma nova página
    ou uma nova sessão.
  • 55:21 - 55:23
    Dentro dela, o que a gente tem?
  • 55:23 - 55:25
    A gente tem as imagens.
  • 55:25 - 55:29
    Vale ressaltar que nós temos
    aqui a imagem card 1.
  • 55:29 - 55:32
    Um alt pensando na acessibilidade.
  • 55:32 - 55:37
    E eu já deixei essa imagem
    com a classe de rounded.
  • 55:37 - 55:41
    Ou seja, tem um arredondamento
    das bordas em 8px.
  • 55:41 - 55:44
    Tem um apply aqui
    chamado card title.
  • 55:44 - 55:47
    Tem um apply chamado card date.
  • 55:47 - 55:50
    Tem um apply chamado
    card title novamente.
  • 55:50 - 55:57
    Ou seja, estou aqui replicando
    a mesma classe, reutilizando.
  • 55:57 - 56:02
    Tenho a card text,
    que é o conteúdo do meu card.
  • 56:02 - 56:06
    Então, os três cards são iguais.
  • 56:06 - 56:14
    A única diferença são as classes
    que vocês têm aqui formadas pelo apply.
  • 56:14 - 56:18
    Vamos usar essas classes agora.
  • 56:18 - 56:24
    Então, aqui vou colar os nossos cards
    logo depois do nosso btn.
  • 56:24 - 56:26
    Tenta fazer sempre isso, tá?
  • 56:26 - 56:30
    Sempre traz esse elemento
    na ordem dos applies.
  • 56:30 - 56:33
    Vai ficar muito mais fácil
    para você dar manutenção.
  • 56:33 - 56:37
    E aí eu vou chegar aqui e vou
    colar os nossos applies.
  • 56:37 - 56:40
    Shift Alt F para arrumar o código.
  • 56:40 - 56:43
    E aqui a gente tem a classe card,
  • 56:43 - 56:43
    né?
  • 56:43 - 56:46
    Que são cada um dos cardezinhos.
  • 56:46 - 56:50
    O apply do card tem
    uma parte responsiva.
  • 56:50 - 56:53
    Aonde quando ele estiver em uma tela
  • 56:53 - 56:56
    que tenha no mínimo 7.6.8.
  • 56:56 - 57:00
    Nós vamos ter um display flex.
  • 57:00 - 57:02
    O alinhamento deles em colunas.
  • 57:02 - 57:03
    Shadow Slate.
  • 57:03 - 57:08
    Isso é uma sombra que vai
    ficar em volta do card.
  • 57:08 - 57:14
    Shadow LG é a proporção
    dessa sombra.
  • 57:14 - 57:17
    Então, no caso aqui vai dar
    algo em torno de dois pixels.
  • 57:17 - 57:22
    Nós temos um padding de 1RM.
  • 57:22 - 57:24
    Ou seja, 16 pixels.
  • 57:24 - 57:26
    Então, padding geral.
  • 57:26 - 57:27
    Nós temos um padding Y.
  • 57:27 - 57:31
    Ou seja, apenas para o eixo
    superior e inferior.
  • 57:31 - 57:33
    O eixo Y, né?
  • 57:33 - 57:35
    Em 24 pixels.
  • 57:35 - 57:39
    Rounded com 6px.
  • 57:39 - 57:41
    Espaçamento entre
    os elementos do card.
  • 57:41 - 57:44
    Com um gap de 2 de 8 pixels.
  • 57:44 - 57:46
    Um hover.
  • 57:46 - 57:51
    Que quando passar o ponteiro
    do mouse sobre o card.
  • 57:51 - 57:53
    Ele vai diminuir.
  • 57:53 - 57:54
    Está em 10%.
  • 57:54 - 57:57
    Ele vai diminuir
    a altura e a largura.
  • 57:57 - 58:01
    Lembrando que o scale
    é proporcional.
  • 58:01 - 58:05
    E a duração desse
    efeito de meio segundo.
  • 58:05 - 58:07
    Abaixo nós temos o card title.
  • 58:07 - 58:11
    Apenas com o tamanho da fonte.
  • 58:11 - 58:12
    Peso da fonte.
  • 58:12 - 58:14
    E a margem.
  • 58:14 - 58:17
    Nós temos o card date.
  • 58:17 - 58:19
    Também com o peso da fonte.
  • 58:19 - 58:22
    Cor do texto.
  • 58:22 - 58:25
    Nesse cinzinho mais claro.
  • 58:25 - 58:31
    E aqui, esse text xs seria
    a nossa fonte em 12px.
  • 58:31 - 58:33
    Uma fonte menor.
  • 58:33 - 58:35
    Nosso card text.
  • 58:35 - 58:37
    Tem o nosso card.
  • 58:37 - 58:39
    O conteúdo de texto dele.
  • 58:39 - 58:42
    Na cor grey 600.
  • 58:42 - 58:44
    Que é uma tonalidade de cinza.
  • 58:44 - 58:46
    Então, provavelmente nós já tenhamos
  • 58:46 - 58:49
    os nossos cards.
  • 58:49 - 58:51
    Bom, eles estão formatados.
  • 58:51 - 58:54
    Mas eles não estão posicionados
    um ao lado do outro.
  • 58:54 - 58:55
    Por que?
  • 58:55 - 58:58
    Vamos dar uma olhada
    no nosso código.
  • 58:58 - 59:01
    Aqui.
  • 59:01 - 59:03
    Ah, eu tenho a classe grid cards.
  • 59:05 - 59:09
    E eu não fiz a chamada
    da classe grid cards.
  • 59:09 - 59:10
    Então, do apply de grid cards.
  • 59:10 - 59:13
    Eu vou colocar aqui.
  • 59:13 - 59:15
    Shift Alt F.
  • 59:15 - 59:17
    Pronto.
  • 59:17 - 59:18
    Faltou o essencial, né?
  • 59:18 - 59:20
    Deixar ele como flex.
  • 59:20 - 59:22
    Então, a gente tem aqui.
  • 59:22 - 59:25
    O posicionamento dele em 100%.
  • 59:25 - 59:28
    Tamanho máximo dele em 1280.
  • 59:28 - 59:33
    Ou seja, o container vai
    ter no máximo 1280 pixels.
  • 59:33 - 59:36
    Nós temos MX Alto, né?
  • 59:36 - 59:38
    Para deixar ele alinhado tanto à
  • 59:38 - 59:40
    esquerda como à direita.
  • 59:40 - 59:44
    Centralizado pelo eixo horizontal,
    na horizontal.
  • 59:44 - 59:46
    Uma margem superior
    e inferior em 40.
  • 59:46 - 59:50
    Um maravilhoso flex
    para fazer o posicionamento.
  • 59:50 - 59:51
    Flex Wrap.
  • 59:51 - 59:54
    Caso não caiba na página,
    ele quebra.
  • 59:54 - 60:00
    E o Justify Center para fazer
    um alinhamento nele vertical.
  • 60:00 - 60:06
    Provavelmente agora, sim,
    os nossos cards estão na posição correta.
  • 60:06 - 60:08
    Às vezes a gente
    precisa prestar um pouco
  • 60:08 - 60:10
    mais de atenção quando for
    colocar as classes, né?
  • 60:10 - 60:12
    Porque vocês viram, eu simplesmente
  • 60:12 - 60:14
    esqueci daquela classe lá de
  • 60:14 - 60:17
    definição, que é justamente
    a classe que está posicionando
  • 60:17 - 60:20
    os cards para que eles
    fiquem um ao lado do outro.
  • 60:20 - 60:24
    Próximo passo agora é só
    finalizar com o rodapé.
  • 60:24 - 60:26
    Esse rodapé está bem simples.
  • 60:26 - 60:29
    Vai ser um container recebendo um
  • 60:29 - 60:33
    texto e recebendo três
    ícones lá do box icons.
  • 60:33 - 60:38
    O rodapé, ele tem essa barra,
  • 60:38 - 60:42
    escrito Oficina Web,
    e os nossos ícones
  • 60:42 - 60:46
    aqui com o padrão de cor
    e com o roverzinho.
  • 60:46 - 60:49
    Então, abaixo aqui da nossa área de
  • 60:49 - 60:56
    cards,
    nós vamos criar nossa área de rodapé.
  • 60:56 - 60:59
    Vou colocar aqui o meu rodapé,
  • 60:59 - 61:02
    contra o ponto e vírgula começar,
  • 61:02 - 61:04
    fazer o comentário, e aqui eu vou
  • 61:04 - 61:06
    colocar o fim rodapé.
  • 61:08 - 61:10
    Vou clicar com Alt,
  • 61:16 - 61:17
    deixar o espaçamento aqui,
  • 61:27 - 61:30
    e vou abrir meu conteúdo.
  • 61:30 - 61:33
    Nós temos o código do rodapé,
    que é exatamente isso.
  • 61:36 - 61:39
    Uma classe footer, que é um apply.
  • 61:39 - 61:42
    Um h3 com Oficina Web.
  • 61:42 - 61:44
    Aqui, para não usar o apply, porque
  • 61:44 - 61:47
    é bem pequeno,
    são apenas duas classes.
  • 61:47 - 61:52
    Eu coloquei a classe de text
    indigo 700 para a cor dele.
  • 61:52 - 61:55
    Coloquei ele como flex, e um gap 4
  • 61:55 - 61:59
    para o espaçamento
    dos nossos ícones.
  • 61:59 - 62:04
    Os nossos ícones são
    a chamada lá do box icons.
  • 62:04 - 62:07
    Nós temos apenas para ele,
    que eles começam
  • 62:07 - 62:11
    com uma cor,
    que vai ser essa cor índigo 700.
  • 62:11 - 62:16
    Quando passar o ponteiro do mouse
    sobre eles, eles mudam aqui para
  • 62:16 - 62:20
    essa cor branca,
    para esse text white.
  • 62:20 - 62:22
    Então, visualmente, nós já temos
  • 62:22 - 62:26
    isso, os nossos ícones aqui embaixo.
  • 62:26 - 62:28
    Basta o quê?
  • 62:28 - 62:31
    Basta a formatação
    do apply para o rodapé.
  • 62:31 - 62:33
    Então, eu preciso dessa classe
  • 62:33 - 62:36
    footer, que é o meu apply.
  • 62:36 - 62:44
    Então, aqui abaixo, como último
    apply, a gente tem o footer, que
  • 62:44 - 62:51
    está definido com uma cor de fundo
    índigo, padrão do tailwind.
  • 62:51 - 62:53
    A largura dele posicionado em 100%.
  • 62:53 - 62:58
    A altura em 96 pixels.
  • 62:58 - 63:01
    Um pad em esquerdo e direito em 96
  • 63:01 - 63:03
    para ter um espaçamento maior.
  • 63:03 - 63:06
    O texto dele totalmente branco.
  • 63:06 - 63:10
    O tamanho da fonte em 24 pixels.
  • 63:10 - 63:12
    Flex para fazer o alinhamento.
  • 63:12 - 63:17
    localizado na horizontal
    e na vertical.
  • 63:17 - 63:21
    Quando a gente executa essa página,
    agora nós temos exatamente isso.
  • 63:21 - 63:27
    A nossa oficina web e os nossos ícones
    mudando de cor quando a gente
  • 63:27 - 63:31
    altera, quando a gente
    passa o conteúdo do mouse.
  • 63:31 - 63:34
    Se você chegar aqui e mexer na
  • 63:34 - 63:39
    telinha,
    o seu conteúdo já está responsivo.
  • 63:39 - 63:48
    Ou seja, a sua aplicação já está
    respondendo ao tamanho da sua tela.
  • 63:48 - 63:49
    Pronto.
  • 63:49 - 63:51
    A gente conseguiu
    montar a pagininha.
  • 63:51 - 63:57
    Nós utilizamos várias formatações
    existentes dentro do framework.
  • 63:57 - 64:02
    vários recursos dele,
    como por exemplo no final o apply.
  • 64:02 - 64:05
    A estilização com flex,
    a estilização
  • 64:05 - 64:08
    dos nossos textos,
    imagens de fundo.
  • 64:08 - 64:13
    Enfim, deu para ter um overview
    bem legal sobre o framework.
  • 64:13 - 64:15
    O Tailwind é poderosíssimo e ele vai
  • 64:15 - 64:20
    te ajudar muito no segmento
    da sua profissão.
  • 64:20 - 64:24
    Vai te ajudar muito no desenvolvimento
    front e na criação das páginas.
  • 64:24 - 64:26
    Então o que você tem que fazer?
  • 64:26 - 64:30
    Você tem que começar a utilizar cada
    vez mais esse framework para que
  • 64:30 - 64:35
    esses recursos, essas classes
    utilitárias sejam totalmente
  • 64:35 - 64:36
    costumeiras no seu dia a dia.
Title:
vimeo.com/.../1083873052
Video Language:
Portuguese, Brazilian
Duration:
01:04:41

Portuguese, Brazilian subtitles

Revisions Compare revisions