< Return to Video

vimeo.com/.../1083873052

  • 0:08 - 0:11
    Agora que nós já conhecemos
    as classes utilitárias,
  • 0:11 - 0:15
    conhecemos todo o poder
    de formatação do framework tailwind,
  • 0:15 - 0:18
    seria bem legal nós criarmos
    um projetinho
  • 0:18 - 0:22
    e aplicarmos as classes
    e os conhecimentos que foram passados
  • 0:22 - 0:24
    nesses vídeos para vocês.
  • 0:24 - 0:29
    A ideia é construir uma pequena página
    onde nós tenhamos alguns componentes
  • 0:29 - 0:32
    já previamente prontos.
  • 0:32 - 0:35
    Esses componentes e essa página,
  • 0:35 - 0:39
    ela será estilizada através
    do framework tailwind.
  • 0:39 - 0:41
    Eu já tenho alguns arquivos
    aqui separados
  • 0:41 - 0:43
    e esses arquivos estarão
    disponibilizados
  • 0:43 - 0:47
    junto com o código
    dessa oficina no link
  • 0:47 - 0:49
    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:57
    Então eu criei essa pastinha
    Oficina Tailwind,
  • 0:57 - 1:01
    que será a pasta onde estarão
    todos os nossos arquivos do projeto,
  • 1:01 - 1:06
    todas as nossas dependências
    e essa pastinha eu vou jogar aqui
  • 1:06 - 1:13
    no nosso Live Server para facilitar
    a visualização do nosso conteúdo
  • 1:13 - 1:16
    e, 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:28
    Então, esse cara vai ser
    o plano de fundo de uma seção hero.
  • 1:28 - 1:32
    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,
  • 1:37 - 1:40
    ou seja, quando ele estiver pronto,
  • 1:40 - 1:46
    o tailwind vai renderizar esse 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á aplicado,
  • 1:52 - 2:00
    nós teremos acesso a essa página
    montando uma pequena landing page.
  • 2:00 - 2:03
    Essa landing page você pode
    adaptar para qualquer tema
  • 2:03 - 2:06
    que você esteja estudando
    ou então, de repente,
  • 2:06 - 2:10
    para alguma entrega que você
    está fazendo dentro do curso.
  • 2:10 - 2:13
    Para que a gente tenha todas
    as opções disponíveis,
  • 2:13 - 2:17
    eu vou fazer passo a passo a instalação
    do tailwind nesse projeto
  • 2:17 - 2:21
    e aí a gente começa a consumir
    as classes e os elementos da HTML
  • 2:21 - 2:23
    que nós vamos montar.
  • 2:23 - 2:26
    Então, aqui na documentação
    do nosso tailwind,
  • 2:26 - 2:29
    nós vamos na parte dos Docs
  • 2:29 - 2:32
    e logo de cara você cai
    na instalação dele.
  • 2:32 - 2:35
    Lembrando que nós não estamos
    consumindo nenhum desses métodos.
  • 2:35 - 2:39
    Nós estamos fazendo
    a instalação através do CLI dele
  • 2:39 - 2:42
    para ter todas as dependências
    do projeto.
  • 2:42 - 2:43
    Automaticamente,
  • 2:43 - 2:49
    nós vamos estartar o nosso projeto
    lá dentro do nosso VS Code.
  • 2:49 - 2:55
    Então, a pastinha onde está o projeto,
    eu vou clicar aqui no terminal.
  • 2:57 - 2:59
    Ele vai localizar a pasta,
  • 2:59 - 3:05
    então percebam que você tem
    exatamente a mesma pastinha aqui.
  • 3:05 - 3:10
    E aí eu vou dar o comando da npm.
  • 3:10 - 3:15
    "npm init -y" para criar
    o nosso projetinho
  • 3:15 - 3:21
    e gerar automaticamente
    o nosso arquivo de configuração.
  • 3:25 - 3:26
    Pronto.
  • 3:26 - 3:29
    Gerou o nosso arquivo
    package.json
  • 3:29 - 3:33
    que nós vamos utilizar
    dentro da aplicação.
  • 3:33 - 3:36
    Primeiro passo é estartar
    o nosso projeto.
  • 3:36 - 3:39
    Então, nesse arquivo você vai passar
    todas as dependências,
  • 3:39 - 3:42
    você vai ter todas as relações
    que são necessárias
  • 3:42 - 3:46
    para fazer o framework
    ou até mesmo outras aplicações
  • 3:46 - 3:48
    funcionarem dentro do projeto.
  • 3:48 - 3:52
    Simplesmente o que a gente
    vai fazer é instalar o tailwind
  • 3:52 - 3:53
    dentro da aplicação.
  • 3:53 - 3:58
    Então, eu vou copiar o tailwind aqui,
    essa linha de tailwind
  • 3:59 - 4:03
    e vou jogar essa linha
    aqui dentro do nosso terminal.
  • 4:05 - 4:12
    Copiar essa linha aqui
    e vou jogar essa linha
  • 4:12 - 4:15
    dentro do nosso terminal.
  • 4:16 - 4:20
    Ele vai começar a fazer
    a instalação do tailwind
  • 4:20 - 4:22
    e aqui vocês vão perceber
  • 4:22 - 4:25
    que no nosso package.json,
    que foi gerado anteriormente,
  • 4:25 - 4:28
    ele já colocou a dependência
    do tailwind.
  • 4:28 - 4:31
    Isso significa que o seu tailwind
    já está pronto para funcionar
  • 4:31 - 4:33
    dentro dessa pasta.
  • 4:33 - 4:35
    Então, agora a gente vai fazer
    as demais configurações
  • 4:35 - 4:38
    para criar o projeto
    da forma correta.
  • 4:38 - 4:47
    Voltando no site, nós vamos copiar
    a linha para iniciar o tailwind.
  • 4:51 - 4:53
    Quando ele iniciou o tailwind,
  • 4:53 - 4:57
    ele criou aqui o arquivo
    de tailwind.config.js
  • 4:57 - 5:01
    que é toda a parte de formatação
    e toda a parte de extensão
  • 5:01 - 5:04
    dos nossos conteúdos.
  • 5:04 - 5:09
    Voltando lá, ele pede para nós
    configurarmos o endereço
  • 5:09 - 5:10
    dos nossos arquivos.
  • 5:10 - 5:14
    Então, aqui dentro
    do tailwind.config.js
  • 5:14 - 5:18
    que foi gerado agora,
    nós vamos mudar a linha de content.
  • 5:18 - 5:22
    Então, eu vou copiar
    essa linha de content daqui
  • 5:24 - 5:30
    e vou alterar aqui
    o nosso tailwind.config.js.
  • 5:30 - 5:34
    Então, simplesmente ele gerou
    esse carinha em branco
  • 5:34 - 5:38
    e nós vamos passar o content
    indicado lá pelo framework.
  • 5:38 - 5:43
    Nessa linha, você está indicando
    que dentro do seu projeto
  • 5:43 - 5:47
    tem uma pasta chamada src
    e todos os seus arquivos .html e .js
  • 5:47 - 5:50
    estarão dentro dessa pasta.
  • 5:50 - 5:51
    Então, tudo que for
    consumir o tailwind,
  • 5:51 - 5:56
    ele vai procurar dentro dessa pasta,
    inclusive nas suas subpastas.
  • 5:56 - 5:59
    É interessante, então,
    que agora nós façamos a criação
  • 5:59 - 6:03
    desse src com as outras
    pastas dependentes.
  • 6:05 - 6:09
    Então, posso fechar
    o tailwind.config.js.
  • 6:09 - 6:12
    Posso fechar aqui
    a minha pasta de imagens
  • 6:12 - 6:15
    e aqui eu vou clicar
    na oficina, tá?
  • 6:15 - 6:18
    Vou clicar bem aqui na pastinha
    da oficina de tailwind
  • 6:18 - 6:20
    para marcar todo o projeto.
  • 6:20 - 6:26
    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:35
    Quando eu quiser colocar
    no ar a minha aplicação,
  • 6:35 - 6:37
    essa página, quando
    eu quiser publicar,
  • 6:37 - 6:40
    eu vou pegar essa pasta
    e jogar, ou seja,
  • 6:40 - 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:58
    Então, eu vou arrastar
    a pasta de imagens para cá.
  • 6:58 - 7:02
    Tá, ele 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:06
    Recebeu as imagens
    que nós tínhamos,
  • 7:06 - 7:08
    percebeu que você tem
    total acesso a ela,
  • 7:08 - 7:11
    sem problema algum, tá?
  • 7:11 - 7:15
    Dentro dessa src,
    eu vou dar um clique direito nela.
  • 7:15 - 7:21
    Eu vou criar uma nova pasta,
    que vai ser a minha pasta de styles,
  • 7:21 - 7:23
    ou melhor, a minha pasta de css.
  • 7:23 - 7:26
    Vamos criar uma pasta de css.
  • 7:28 - 7:32
    Os dois no mesmo nível,
    a imagens e a css.
  • 7:32 - 7:35
    E também aqui, olha, no service,
  • 7:35 - 7:38
    vou dar um clique direito,
    criar um novo arquivo,
  • 7:38 - 7:43
    que vai ser a minha index.html.
  • 7:43 - 7:46
    Então, percebam
    a dependência deles, né?
  • 7:46 - 7:49
    Está tudo dentro dessa pastinha src,
  • 7:49 - 7:53
    que vai ser a nossa pastinha
    com os nossos recursos.
  • 7:53 - 7:57
    Dentro da pasta css,
    o que a gente precisa?
  • 7:57 - 8:04
    Ele está dizendo que a gente precisa
    criar um arquivo que ele chama aqui
  • 8:04 - 8:06
    de input css, que vai ser
    o nosso carinha
  • 8:06 - 8:12
    que vai fazer a chamada
    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:29
    Então, aqui dentro da pasta css,
    new file, vou criar o meu styles.css,
  • 8:29 - 8:32
    que é o nome
    que eu costumo utilizar.
  • 8:32 - 8:35
    O framework está dizendo aqui
    que é input css,
  • 8:35 - 8:36
    não tem problema nenhum,
  • 8:36 - 8:39
    você pode atribuir o nome
    que você quiser,
  • 8:39 - 8:41
    basta lembrar desse nome.
  • 8:41 - 8:48
    Nosso caso aqui, vou selecionar
    esses três elementos,
  • 8:48 - 8:49
    ou copiar aqui também, tá?
  • 8:49 - 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
  • 9:03 - 9:06
    porque ele não se dá bem
    com esses imports, tá?
  • 9:06 - 9:08
    A importação dessas diretivas.
  • 9:08 - 9:11
    Vale ressaltar que esse arquivo
    que nós estamos usando
  • 9:11 - 9:15
    será necessário para que a gente
    consiga criar os nossos apply.
  • 9:15 - 9:16
    É, exatamente isso.
  • 9:16 - 9:21
    Eu bolei uma oficina onde nós vamos
    usar vários applies, ou seja,
  • 9:21 - 9:23
    vamos ter várias classes,
  • 9:23 - 9:27
    justamente para não ter
    toda aquela quantidade de código,
  • 9:27 - 9:31
    de classe do tailwind
    dentro das tags.
  • 9:31 - 9:34
    Algumas outras formatações
    serão aplicadas diretamente,
  • 9:34 - 9:37
    vocês já vão 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:48
    Eu vou copiar essa linha
    onde ele está indicando
  • 9:48 - 9:50
    o caminho do nosso tailwind, né?
  • 9:50 - 9:52
    A execução do nosso tailwind,
  • 9:52 - 9:55
    ou seja, o arquivo dentro
    da pasta source,
  • 9:55 - 9:58
    o input aqui que ele chamou,
    e o arquivo de saída.
  • 9:58 - 9:59
    Então, esse carinha aqui
  • 9:59 - 10:02
    vai ser o nosso arquivo
    original de formatação.
  • 10:02 - 10:07
    A saída, ou seja, a formatação
    que será usada na sua aplicação,
  • 10:07 - 10:09
    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:24
    Dentro aqui do nosso Package.json,
    vocês têm essa área de scripts, tá?
  • 10:24 - 10:29
    Ou seja, a gente cria essa área
    para montar scripts que serão executados
  • 10:29 - 10:31
    durante a aplicação do projeto.
  • 10:31 - 10:36
    Então, eu vou selecionar
    esse conteúdo aqui,
  • 10:36 - 10:40
    ou seja, abertura e fechamento
    das aspas.
  • 10:40 - 10:43
    Vou selecionar todo esse conteúdo.
  • 10:43 - 10:49
    Vou apagar esse conteúdo e colar
    o que eu trouxe lá do tailwind.
  • 10:49 - 10:53
    Esse script, ele está
    com o nome de teste,
  • 10:53 - 10:59
    mas nós costumamos colocar
    esse cara com o nome de dev.
  • 10:59 - 11:01
    Então, vou chamar esse carinha,
    esse script de dev,
  • 11:01 - 11:07
    mas como eu já citei anteriormente,
    ele pode receber qualquer nome.
  • 11:07 - 11:12
    Aqui, nós precisamos fazer
    uma atualização das nossas pastas.
  • 11:15 - 11:17
    O que vai acontecer?
  • 11:17 - 11:19
    Vamos dar uma olhadinha
    na estrutura.
  • 11:19 - 11:22
    Nós temos o "tailwind -y",
  • 11:22 - 11:25
    ou seja, eu estou indicando
    o arquivo de entrada,
  • 11:25 - 11:27
    o arquivo de input.
  • 11:27 - 11:31
    Então, nós temos a pasta src,
    como ele está dizendo aqui.
  • 11:31 - 11:35
    Só que aqui na nossa estrutura
    nós temos um css, ou seja,
  • 11:35 - 11:42
    uma pasta css que não está definida,
    que não está explícita aqui.
  • 11:42 - 11:48
    Então, eu preciso colocar src/css.
  • 11:48 - 11:54
    O nosso arquivo não é um input,
    é o styles.css.
  • 11:56 - 12:01
    Lembrando que esse arquivo styles.css
    é o arquivo que tem as diretivas.
  • 12:01 - 12:08
    Então, vejam, eu passei para cá,
    exatamente para cá, essa estrutura,
  • 12:08 - 12:13
    ou seja, esse arquivo,
    ele está na pasta de src,
  • 12:13 - 12:18
    dentro dela na pasta css,
    o arquivo styles.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 dá uma olhada,
  • 12:35 - 12:38
    eu tenho a pasta css aqui.
  • 12:38 - 12:45
    Então, eu vou colocar css/output.css.
  • 12:45 - 12:51
    Nós temos aqui o "--watch", que vai
    fazer com que ele fique olhando, né?
  • 12:51 - 12:55
    Assistindo toda a nossa estilização,
  • 12:55 - 12:58
    todo o nosso processo
    de criação do arquivo.
  • 12:58 - 13:00
    Basicamente, está pronto.
  • 13:00 - 13:02
    O que eu preciso fazer?
  • 13:02 - 13:05
    Eu preciso rodar esse
    script que foi criado.
  • 13:05 - 13:10
    Então, eu vou lá no terminal
    e rodar esse script, ou seja,
  • 13:10 - 13:12
    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:26
    Ou seja, esse dev aqui
    é exatamente esse carinha,
  • 13:26 - 13:29
    que é o nosso script
    que será executado.
  • 13:31 - 13:34
    Vou pressionar o enter.
  • 13:34 - 13:37
    Ele vai dizer que ele está
    aguardando, tá?
  • 13:37 - 13:40
    Nesse momento, ele não encontrou
    nenhuma classe,
  • 13:40 - 13:44
    não foi detectada nenhuma classe
    dentro dos nossos arquivos, né?
  • 13:44 - 13:49
    A gente não tem arquivo ainda,
    mas ele está aqui assistindo
  • 13:49 - 13:51
    tudo que nós vamos fazer.
  • 13:51 - 13:56
    Então, eu vou fechar o package,
    vou aqui na minha index,
  • 13:56 - 14:01
    vou criar o meu arquivo
    de estrutura.
  • 14:01 - 14:07
    Vocês vão perceber que ele vai
    ficar rebuildando esse carinha aqui.
  • 14:07 - 14:11
    Vou aqui no meu html.language
    e mudar para um pt-br,
  • 14:11 - 14:14
    por causa do 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
  • 14:31 - 14:34
    para ver se o tailwind
    está funcionando.
  • 14:34 - 14:41
    Vou colocar um h1 e vou colocar
    assim: "Olá, mundo tailwind".
  • 14:47 - 14:49
    A gente precisa lembrar
  • 14:49 - 14:53
    que nós 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:07
    Então, vocês têm
    algumas classes auxiliares,
  • 15:07 - 15:12
    vocês têm algumas 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
  • 15:21 - 15:25
    gerando apenas as classes CSS
    que você utilizar.
  • 15:25 - 15:31
    Então, eu preciso vincular esse output
    no meu arquivo index.
  • 15:31 - 15:32
    De que forma?
  • 15:32 - 15:34
    Aqui na seção head.
  • 15:34 - 15:39
    Eu vou colocar aqui,
    "Linkando a CSS".
  • 15:39 - 15:40
    Com ponto e vírgula.
  • 15:40 - 15:44
    Deixa eu só arrumar isso daqui
    que 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:51
    Link.
  • 15:51 - 15:54
    E eu vou fazer referência a quem?
  • 15:54 - 15:58
    Ponto, barra,
    ele já achou a pasta CSS.
  • 15:58 - 16:03
    Vou linkar com o meu
    arquivo output.css.
  • 16:03 - 16:04
    Isso significa o quê?
  • 16:04 - 16:09
    Se eu colocar aqui uma class
    e utilizar, por exemplo,
  • 16:09 - 16:16
    um bg-red-900, ok?
  • 16:16 - 16:18
    Então, ele buildou.
  • 16:18 - 16:21
    E provavelmente, quando eu for
    lá na minha pagininha,
  • 16:21 - 16:24
    ou quando eu for abrir
    esse carinha na minha pagininha,
  • 16:24 - 16:26
    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:37
    Aqui nessa partezinha inferior,
    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:48
    Veja que eu já tenho
    esse fundo vermelho bem escuro.
  • 16:48 - 16:51
    Já é uma formatação dele.
  • 16:51 - 16:54
    Se você não aplicou
    nenhuma formatação,
  • 16:54 - 16:58
    provavelmente o seu conteúdo
    estará dessa forma.
  • 16:58 - 17:03
    Ele estará apenas com a letrinha
    bem pequenininha,
  • 17:03 - 17:06
    posicionada na parte superior
    esquerda do seu navegador.
  • 17:06 - 17:08
    Agora eu tenho certeza
  • 17:08 - 17:11
    que o meu tailwind
    está funcionando corretamente
  • 17:11 - 17:12
    dentro da minha aplicação.
  • 17:12 - 17:16
    E agora basta a gente
    criar a página.
  • 17:16 - 17:20
    Para deixar uma melhor experiência,
    nós vamos consumir algumas coisas.
  • 17:20 - 17:25
    Então, eu separei uma fonte
    que será utilizada dentro do projeto,
  • 17:25 - 17:27
    uma fonte do Google Fonts.
  • 17:27 - 17:31
    E nós vamos consumir alguns
    ícones aqui dentro da aplicação
  • 17:31 - 17:35
    de uma biblioteca
    muito legal chamada Boxicons.
  • 17:35 - 17:38
    Vamos dar uma olhada
    nesses caras e preparar
  • 17:38 - 17:42
    para ele receber esses elementos.
  • 17:42 - 17:46
    Eu já posso até esconder
    minha pasta, meu explorer
  • 17:46 - 17:49
    e baixar um 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:06
    Então, a primeira coisa
    que eu quero é o meu Google Fonts.
  • 18:06 - 18:12
    Então, eu vou colocar aqui
    uma chamada do Google Fonts.
  • 18:14 - 18:17
    Vou aqui na minha aplicação.
  • 18:17 - 18:22
    Eu já deixei o browser
    do Google Fonts aberto.
  • 18:22 - 18:25
    Então, aqui nós temos
    as 1.807 famílias de fontes
  • 18:25 - 18:27
    que você vai escolher.
  • 18:27 - 18:32
    Eu peguei a fonte Montserrat.
  • 18:32 - 18:34
    Essa fonte.
  • 18:34 - 18:37
    Então, você tem os styles dela.
  • 18:37 - 18:40
    Eu vou pegar com todos os styles.
  • 18:40 - 18:44
    Vou dar um clique em Get Font.
  • 18:44 - 18:50
    Vou aqui na parte para colocar
    essa fonte no meu código.
  • 18:50 - 18:56
    E aqui, você tem a parte onde você
    vai colocar no head do seu HTML
  • 18:56 - 18:59
    a chamada do Google Fonts.
  • 19:00 - 19:03
    Vou copiar esse código.
  • 19:06 - 19:10
    E aí, eu vou colar esse código aqui.
  • 19:10 - 19:13
    Então, vou dar um Ctrl + V.
  • 19:14 - 19:17
    Seu código, provavelmente,
    ficou um pouquinho bagunçado,
  • 19:17 - 19:19
    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:26
    Vou formatar o documento.
  • 19:26 - 19:30
    Ele fez a identação
    do nosso código, tá?
  • 19:30 - 19:33
    Então, clique direito,
    formatar o documento.
  • 19:33 - 19:38
    Ou você podia usar o atalho
    Shift + Alt + F,
  • 19:38 - 19:41
    que vai fazer a mesma formatação.
  • 19:41 - 19:45
    Então, aqui eu estou
    com a fonte 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:52
    Então, nesse caso, eu estou
    falando para ele:
  • 19:52 - 19:57
    "Olha, use uma nova fonte,
    use essa fonte no projeto".
  • 19:57 - 19:58
    Então, o que a gente vai fazer?
  • 19:58 - 20:00
    A gente vai estender essa fonte
  • 20:00 - 20:03
    lá no nosso arquivinho
    de configuração do tailwind.
  • 20:03 - 20:07
    Então, o nosso código
    vai ficar mais ou menos assim.
  • 20:07 - 20:12
    Vamos abrir aqui
    o nosso tailwind.config.js.
  • 20:12 - 20:19
    Aqui na parte do extend,
    nós vamos colocar o seguinte.
  • 20:19 - 20:25
    Então, aqui no extend, eu vou colar
    esse código do Font Family.
  • 20:25 - 20:27
    Então, o que eu estou dizendo
    para ele?
  • 20:27 - 20:32
    Eu estou dizendo que agora a fonte
    Sans, que é a fonte padrão,
  • 20:32 - 20:36
    vai utilizar o padrão Montserrat,
  • 20:36 - 20:41
    que é a fonte que eu estou trazendo
    aqui do Google Fonts.
  • 20:41 - 20:45
    Deixa eu dar uma quebra de linha,
    aqui um View, Word Wrap.
  • 20:45 - 20:47
    Assim, vocês conseguem ver melhor
  • 20:47 - 20:52
    toda a linha que eu trouxe
    lá do Google Fonts.
  • 20:52 - 20:55
    Então, aqui você tem
    essa fonte Montserrat,
  • 20:55 - 20:58
    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:16
    bom, e eu colocar uma class aqui
    para ele, de um text, por exemplo, xl...
  • 21:16 - 21:21
    4xl, 8xl, para deixar
    um pouquinho maior.
  • 21:21 - 21:28
    O que vai acontecer agora, quando
    eu volto na minha página,
  • 21:28 - 21:31
    ele está usando a Montserrat
    num 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:40
    Virou o padrão porque eu estou
    substituindo a sans dele,
  • 21:40 - 21:44
    com o fallback de fontes
    que ele traz, por essa Montserrat.
  • 21:44 - 21:47
    Fonte instalada e vocês viram
    que é bem facinho.
  • 21:47 - 21:49
    Eu vou consumir lá no Google Fonts,
  • 21:49 - 21:53
    pegar o link e jogar aqui
    dentro do meu extend.
  • 21:53 - 21:54
    O que a gente vai fazer?
  • 21:54 - 21:57
    A gente vai consumir
    alguns ícones também.
  • 21:57 - 22:00
    Esses ícones eu vou fazer via CDN,
    para mostrar para vocês
  • 22:00 - 22:02
    que também podemos usar CDN,
  • 22:02 - 22:07
    mesmo estando
    usando o nosso tailwind.
  • 22:07 - 22:11
    Vou fechar um pouquinho
    o meu tailwind.config.js.
  • 22:11 - 22:13
    Vou lá no meu navegador
  • 22:13 - 22:18
    e eu vou consumir os ícones
    dessa biblioteca, chamada Boxicons,
  • 22:18 - 22:20
    que é uma biblioteca bem legal.
  • 22:20 - 22:25
    Ele tem uns traços bonitos
    dos nossos ícones.
  • 22:25 - 22:29
    E ela é bem simples
    de ser utilizada, de ser colocada.
  • 22:29 - 22:31
    Então, o que a gente vai fazer?
  • 22:31 - 22:35
    Aqui no link do Boxicons,
    boxicons.com,
  • 22:35 - 22:38
    eu vou aqui na parte de uso dela.
  • 22:40 - 22:42
    Ele vai explicar para mim
    como que ele pode instalar.
  • 22:42 - 22:47
    Você pode fazer a instalação,
    inclusive, via npm e consumir por lá.
  • 22:47 - 22:52
    Mas nós temos aqui
    a configuração como uma fonte, né?
  • 22:52 - 22:56
    Porque vai ficar
    mais fácil essa fonte.
  • 22:56 - 23:04
    Então, esse link aqui,
    nós simplesmente vamos selecionar.
  • 23:04 - 23:09
    Bom, então eu selecionei
    essa partezinha do início dele,
  • 23:09 - 23:14
    do link, até o fechamento,
    lá no final.
  • 23:14 - 23:16
    E esse carinha, eu vou jogar aonde?
  • 23:16 - 23:22
    Eu vou jogar dentro do meu Head, 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 preconnect,
  • 23:32 - 23:35
    então ele vai fazer
    um carregamento mais rápido.
  • 23:35 - 23:39
    Por isso que é interessante usar
    sempre a função de link, né?
  • 23:39 - 23:41
    Para você trazer fonte do Google.
  • 23:41 - 23:46
    E aqui eu vou colocar
    o meu Boxicons.
  • 23:46 - 23:49
    Só um comentáriozinho,
    para ficar bem claro para você
  • 23:49 - 23:51
    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:00
    Se você quiser fazer um teste
    para ver se está funcionando,
  • 24:00 - 24:04
    e eu 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 tailwind.
  • 24:26 - 24:30
    Vou clicar nesse carinha.
  • 24:30 - 24:33
    E só para testar, vou jogar aqui, olha.
  • 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é?
  • 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 Boxicons 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:26
    E eu vou tirar esse carinha daqui
    para começar o conteúdo da página.
  • 25:26 - 25:30
    Então, eu já tenho as referências
    dos elementos,
  • 25:30 - 25:34
    das aplicações que eu vou
    utilizar além do tailwind.
  • 25:34 - 25:35
    O que a gente vai fazer?
  • 25:35 - 25:38
    A gente vai dar uma olhada no layout
    e vou explicar para vocês
  • 25:38 - 25:41
    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,
  • 25:47 - 25:52
    vou ter essa pequena logo
    que eu estou tirando lá do Boxicons
  • 25:52 - 25:56
    e aqui esse menu
    com essas três opções.
  • 25:56 - 25:59
    Esses caras estarão separados
    porque eu vou utilizar
  • 25:59 - 26:04
    o Flexbox do tailwind para fazer
    o posicionamento deles.
  • 26:04 - 26:08
    Aí nós teremos aqui embaixo
    essa oficina web
  • 26:08 - 26:11
    que também será
    um outro container
  • 26:11 - 26:16
    e depois o Flex vai posicionar
    os elementos aqui para nós.
  • 26:16 - 26:20
    Vale ressaltar e você
    deve ter percebido
  • 26:20 - 26:23
    que nós temos uma imagem
    de fundo também.
  • 26:23 - 26:27
    Essa imagem de fundo
    nós vamos fazer a referência dela
  • 26:27 - 26:32
    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:42
    Aqui no extend eu vou usar,
    vou chamar essa imagem,
  • 26:42 - 26:46
    que é a imagem banner-hero.
  • 26:46 - 26:48
    Eu quero que você perceba
    também o seguinte,
  • 26:48 - 26:50
    aqui ela está um pouquinho
    mais clara
  • 26:50 - 26:51
    e aqui ela está um pouquinho
    mais escura,
  • 26:51 - 26:56
    porque eu coloquei
    um gradiente no código
  • 26:56 - 26:58
    para que ele fique
    um pouquinho mais escuro,
  • 26:58 - 27:02
    facilitando a leitura do conteúdo.
  • 27:02 - 27:08
    Essa imagem banner-hero, então,
    será inserida aqui no tailwind.config.js.
  • 27:08 - 27:11
    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:25
    Eu coloquei aqui dentro do extend
    a minha propriedade de background image,
  • 27:25 - 27:29
    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
  • 27:39 - 27:42
    que eu montei, que deixou
    ele bem escurinho, ou seja,
  • 27:42 - 27:46
    esse carinha aqui é o responsável
    por deixar a imagem
  • 27:46 - 27:48
    um pouco mais escura.
  • 27:48 - 27:52
    Então, é um gradiente
    de uma tonalidade de azul
  • 27:52 - 27:57
    com quase opacidade total,
    ela é totalmente opaca, basicamente,
  • 27:57 - 28:01
    ".9" de opacidade,
    para uma opacidade menor,
  • 28:01 - 28:02
    ou seja, ".6".
  • 28:02 - 28:05
    Então, ela está um pouquinho
    mais transparente.
  • 28:05 - 28:08
    Vale ressaltar que eu montei
    esse linear só porque eu achei
  • 28:08 - 28:11
    que a imagem estava muito clara
  • 28:11 - 28:17
    e, provavelmente, ela iria complicar
    a leitura do nosso conteúdo.
  • 28:17 - 28:19
    As cores que eu estou usando,
    você pode utilizar,
  • 28:19 - 28:22
    você pode também alterar.
  • 28:22 - 28:24
    Inclusive, você pode
    mexer nessa opacidade,
  • 28:24 - 28:27
    deixando ela mais clara,
    ou, se você preferir,
  • 28:27 - 28:28
    ainda mais escura.
  • 28:28 - 28:34
    Ao lado dele, nós temos uma URL
    que está trazendo exatamente
  • 28:34 - 28:40
    a minha imagem banner-hero,
    que é esse carinha aqui.
  • 28:40 - 28:46
    Então, ela vai ficar mais escura,
    graças a essa parte do código,
  • 28:46 - 28:49
    e ela vai ser inserida,
    ela será inserida,
  • 28:49 - 28:53
    graças a essa parte do código.
  • 28:55 - 29:00
    Posso fechar o meu tailwind.config.js,
    posso fechar o meu banner-hero,
  • 29:00 - 29:07
    e agora eu vou começar
    a criação desse elemento aqui.
  • 29:07 - 29:16
    Então, dentro do nosso conteúdo,
    eu vou colocar aqui um comentário,
  • 29:16 - 29:25
    criando o header e o hero da página.
  • 29:25 - 29:27
    Eu não quero que esse
    comentário apareça,
  • 29:27 - 29:31
    vou dar um "Ctrl + ;" para comentar,
  • 29:31 - 29:35
    e para ficar bem claro para você
    aonde ele começa e onde ele termina,
  • 29:35 - 29:37
    eu vou duplicar esse componente,
  • 29:37 - 29:43
    esse comentário,
    na realidade, "Ctrl + ;",
  • 29:43 - 29:48
    vou abrir um pouquinho de espaço,
    e aqui, eu vou até fazer o seguinte,
  • 29:48 - 29:50
    vou deixar esse comentário maior, tá?
  • 29:50 - 29:55
    Então, vou clicar aqui,
    vou segurar a tecla alt,
  • 29:55 - 29:58
    vou clicar aqui,
    vou segurar a tecla Alt,
  • 29:58 - 30:01
    clicar aqui, segurar a tecla Alt,
    clicar aqui,
  • 30:01 - 30:07
    e vou aumentar 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:22
    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:32
    Então, vou criar
    um elemento article,
  • 30:32 - 30:36
    e esse elemento article
    terá uma classe.
  • 30:36 - 30:39
    Bom, agora começa o seguinte,
    começa toda a hipopeia
  • 30:39 - 30:44
    de você criar um componente
    e fazer a estilização com a CSS
  • 30:44 - 30:47
    do tailwind e com as classes
    do tailwind.
  • 30:47 - 30:48
    Então, nesse começo,
  • 30:48 - 30:52
    para não ficar aquele
    acúmulo de classes,
  • 30:52 - 30:54
    eu separei por apply.
  • 30:54 - 30:58
    Então, como eu tenho esse article
    com, provavelmente,
  • 30:58 - 31:01
    uma classe com algum valor,
    que eu vou aplicar para ela,
  • 31:01 - 31:05
    nesse caso, eu vou chamar
    de header ou hero,
  • 31:05 - 31:06
    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 class Hero.
  • 31:15 - 31:20
    Essa class Hero será criada
    dentro do nosso apply.
  • 31:20 - 31:23
    Dentro dele, o que nós temos?
  • 31:23 - 31:25
    Nós temos agora...
  • 31:25 - 31:31
    Então, criamos esse componente
    e nós temos aqui esse header.
  • 31:31 - 31:34
    Ou seja, nós temos esse cabeçalho.
  • 31:34 - 31:37
    Esse cabeçalho tem
    uma imagem de ícone
  • 31:37 - 31:42
    e aqui ele tem exatamente
    as nossas opções do menu.
  • 31:42 - 31:46
    Vamos voltar lá e montar
    esse código.
  • 31:46 - 31:51
    Então, nosso código ficará assim.
  • 31:51 - 31:53
    Deixa eu dar um Shift + Alt + F
    para identar.
  • 31:53 - 31:56
    Olha como facilita
    para caramba a visualização
  • 31:56 - 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 class Hero.
  • 32:03 - 32:05
    Essa class Hero 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:21
    que também terá uma class
    desenvolvida por apply.
  • 32:21 - 32:23
    Aqui, eu já tenho o ícone.
  • 32:23 - 32:26
    Então, esse carinha que está
    aparecendo aqui,
  • 32:26 - 32:31
    ele representa o ícone
    que nós vamos utilizar,
  • 32:31 - 32:33
    que eu peguei no Boxicons.
  • 32:33 - 32:38
    Então, esse cara é exatamente
    esse quadradinho.
  • 32:38 - 32:44
    Percebam que essas
    duas classes dele, Box e Box Package,
  • 32:44 - 32:46
    ou seja, esses dois carinhas,
  • 32:46 - 32:50
    eles pertencem
    à nossa biblioteca de ícones.
  • 32:50 - 32:56
    Só que eu criei uma classe,
    também por apply, que é a icone-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 ul.
  • 33:05 - 33:11
    Essa tag eu já coloquei
    o flex e o gap em três.
  • 33:11 - 33:16
    Ou seja, o espaçamento dele em três,
    defini as nossas "li's".
  • 33:16 - 33:21
    Cada uma das "li's"
    com as opções de Code,
  • 33:21 - 33:23
    Developers e Job.
  • 33:23 - 33:26
    Cada um deles com a classe nav.
  • 33:26 - 33:32
    Essa classe nav,
    ela será desenvolvida via apply.
  • 33:32 - 33:36
    Se a gente olhar ele na página,
    nós vamos ter uma experiência
  • 33:36 - 33:39
    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:58
    Nós não temos nem a imagem de fundo,
    nem o banner de fundo.
  • 33:58 - 33:59
    Então, na realidade,
  • 33:59 - 34:05
    a gente tem toda 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,
  • 34:14 - 34:15
    o arquivo de entrada,
  • 34:15 - 34:19
    onde nós colocamos todas as diretivas
    através daquele arroba,
  • 34:19 - 34:22
    tailwind e os componentes.
  • 34:22 - 34:26
    E ali nós criaremos
    os nossos applies.
  • 34:26 - 34:32
    Cada apply representa uma classe
    que está dentro do nosso elemento HTML.
  • 34:32 - 34:40
    Então, agora, nós vamos abrir
    o nosso arquivo de CSS, o nosso styles.CSS.
  • 34:40 - 34:43
    E aqui eu vou colocar a diretiva.
  • 34:43 - 34:47
    Então, nós temos
    o nosso @layer utilities.
  • 34:47 - 34:50
    Deixa eu fechar essas chaves.
  • 34:50 - 34:54
    E aqui a gente tem a primeira
    formatação dele.
  • 34:54 - 34:55
    Então, o que nós temos?
  • 34:55 - 34:56
    Dentro do hero...
  • 34:56 - 34:58
    Quem que é o hero, né?
  • 34:58 - 35:02
    O hero é todo esse meu article.
  • 35:02 - 35:07
    Então, dentro dele,
    nós criamos uma fonte,
  • 35:07 - 35:13
    uma largura dele, ocupando 100%
    da altura da tela, né?
  • 35:13 - 35:14
    O 100VH.
  • 35:14 - 35:20
    Nós colocamos um w-full
    para ocupar 100%.
  • 35:20 - 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:35
    Definimos para ela não repetir
    e ela ter o cover, né?
  • 35:35 - 35:38
    Ou seja, ela ocupar todo o espaço.
  • 35:39 - 35:45
    Vai ficar mais fácil se você ativar
    aqui, por exemplo,
  • 35:45 - 35:50
    a sua extensão do tailwind.
  • 35:52 - 35:58
    Então, Tailwind CSS IntelliSense.
  • 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:08
    Provavelmente agora,
  • 36:08 - 36:10
    quando você passar
    o ponteiro do mouse,
  • 36:10 - 36:14
    você tem exatamente a descrição
    de tudo que eu falei para você.
  • 36:14 - 36:20
    Então, agora, com essa extensão,
    essa extensão instalada,
  • 36:20 - 36:24
    vai ficar mais fácil
    de você visualizar as classes,
  • 36:24 - 36:29
    o que representa
    cada uma dessas formatações.
  • 36:29 - 36:33
    Se a gente der uma olhadinha
    aqui na nossa índex,
  • 36:33 - 36:35
    nós temos apenas a classe Hero.
  • 36:35 - 36:38
    Nós temos outros elementos aqui,
    como o header,
  • 36:38 - 36:41
    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:49
    E nós temos aqui as navs
    com as suas respectivas diretivas
  • 36:49 - 36:51
    lá para o Apply.
  • 36:51 - 36:53
    Se nós voltarmos na nossa página,
    vocês já vão perceber
  • 36:53 - 36:57
    que a nossa página
    já está ocupando toda a tela, 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:12
    Percebam que esse cara,
    ele já está totalmente responsivo, né?
  • 37:12 - 37:14
    Também, vale ressaltar
  • 37:14 - 37:21
    que por causa dessa formatação
    de largura em 100% e essa com 100VH,
  • 37:21 - 37:25
    a nossa imagem de fundo
    já está ocupando toda a tela.
  • 37:25 - 37:30
    Outra coisa, aqui no bg-hero,
    é exatamente esse carinha
  • 37:30 - 37:32
    que traz a imagem de fundo
  • 37:32 - 37:37
    que nós estendemos aqui
    no tailwind.config.js, tá?
  • 37:37 - 37:44
    Então, foi dentro desse Hero
    que nós aplicamos o BG,
  • 37:44 - 37:47
    tracinho e colocamos
    a palavrinha hero
  • 37:47 - 37:50
    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:05
    Os outros itens que estão dentro
    aqui do header menu,
  • 38:05 - 38:11
    dentro do icone-logo
    e dentro aqui da nossa classe nav.
  • 38:11 - 38:14
    Então, vamos pegar esse código
    e colar aqui.
  • 38:14 - 38:19
    Então, abaixo do Hero
    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:33
    Então, esse elemento,
  • 38:33 - 38:39
    ele está configurado
    para ter uma largura de 100%,
  • 38:39 - 38:46
    uma altura em 64 pixels,
    então, 64 pixels de altura do menu.
  • 38:46 - 38:51
    Nós deixamos ele flex, ou seja,
    o container ficou flexível.
  • 38:51 - 38:56
    Colocamos justify-between
    para fazer com que a primeira opção,
  • 38:56 - 39:00
    ou seja, o nosso logo
    fique posicionado à esquerda
  • 39:00 - 39:05
    e as opções do menu
    fiquem posicionadas à direita.
  • 39:05 - 39:10
    Colocamos um items-center
    para ficar centralizado verticalmente.
  • 39:10 - 39:13
    Colocamos uma margem em 20 pixels,
  • 39:13 - 39:18
    um padding esquerdo
    e direito em 40 pixels.
  • 39:18 - 39:23
    E aqui, nas telas menores, né,
    nas telas que são lg,
  • 39:23 - 39:29
    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:39
    Abaixo do icone-logo, nós temos
    os nossos ícones, ou seja,
  • 39:39 - 39:42
    esse querido aqui,
  • 39:42 - 39:47
    que é o nosso ícone
    buscado no Boxicons.
  • 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, né,
  • 40:03 - 40:06
    as animações que são
    feitas com keyframes.
  • 40:06 - 40:09
    E aí, você chama
    a propriedade animation
  • 40:09 - 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,
  • 40:19 - 40:23
    basta você dar uma olhada
    na parte de animações e transições.
  • 40:25 - 40:27
    Abaixo dele nós temos a nav.
  • 40:27 - 40:36
    A nav representa cada um dos nossos
    elementos de navegação.
  • 40:36 - 40:41
    E aí nessa nav eu coloquei
    um posicionamento relativo.
  • 40:41 - 40:46
    Uma margem esquerda em 20 pixels.
  • 40:46 - 40:50
    A fonte, o peso da fonte em 600.
  • 40:50 - 40:53
    Uma altura, um espaçamento...
  • 40:53 - 40:57
    perdão, perdão, voltando...
  • 40:57 - 41:02
    Um espaçamento
    entre as letras de 4 pixels.
  • 41:02 - 41:06
    E a cor branca,
    esse slate é um cinza,
  • 41:06 - 41:09
    mas com 100 ele fica
    uma tonalidade branca.
  • 41:09 - 41:14
    Então, essas três classes
    em conjunto com a classe hero
  • 41:14 - 41:17
    devem formar isso
    daqui no nosso conteúdo.
  • 41:17 - 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 tailwind
  • 41:29 - 41:34
    e colocar aqui animation,
    ele já vai te dar...
  • 41:34 - 41:36
    eu tirei essa animação daqui, olha.
  • 41:36 - 41:42
    Você tem animate-spin, ping
    e você tem essa animação pulse.
  • 41:42 - 41:45
    Então, eu simplesmente
    copiei essa classe
  • 41:45 - 41:48
    e ele já me deu
    essa animação montada.
  • 41:48 - 41:53
    Por isso que ele fica
    exatamente aparecendo
  • 41:53 - 41:57
    e ficando um pouquinho
    mais apagadinho
  • 41:57 - 42:01
    com um determinado prazo,
    um determinado tempo.
  • 42:01 - 42:03
    Para esse carinha aqui,
    para o código,
  • 42:03 - 42:05
    para o Developers e para o Jobs,
  • 42:05 - 42:09
    eu achei que ficou
    muito simples essa formatação,
  • 42:09 - 42:10
    esse posicionamento.
  • 42:10 - 42:14
    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
  • 42:31 - 42:35
    que vai ser inserido
    dinamicamente via CSS.
  • 42:35 - 42:39
    Então, criei um apply para ele
    e coloquei o content, né,
  • 42:39 - 42:41
    que é obrigatório como vazio.
  • 42:41 - 42:45
    Coloquei a posição absoluta,
    ou seja, para ser em relação a ele,
  • 42:45 - 42:49
    já que a nav tem a posição relativa.
  • 42:49 - 42:54
    Busquei aqui a cor
    desse elemento, branca.
  • 42:54 - 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:13
    Coloquei um posicionamento
    negativo, inferior em -0.5rem
  • 43:13 - 43:17
    ou 8 pixels, para ele não
    ficar tão grudado no link.
  • 43:17 - 43:20
    Arredondamento da linha.
  • 43:20 - 43:25
    E o duration, ou seja, o tempo
    de transição em 500,
  • 43:25 - 43:28
    ou seja, em meio segundo.
  • 43:28 - 43:32
    Quando você passar o ponteiro
    do mouse sobre ele,
  • 43:32 - 43:33
    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:47
    Então, esse tracinho veio daqui,
    dessa formatação,
  • 43:47 - 43:48
    dessa pseudo-classe.
  • 43:48 - 43:51
    Quando passar o ponteiro
    do mouse sobre ele,
  • 43:51 - 43:56
    ele vai deixar de ter aqui
    uma largura de 12 pixels.
  • 43:56 - 44:01
    Ele vai ocupar exatamente
    todo o espaço do conteúdo.
  • 44:01 - 44:05
    Isso significa que passando
    o ponteiro do mouse sobre ele,
  • 44:05 - 44:09
    ou seja, o hover, ele vai aumentar
    a largura dele de 12,
  • 44:09 - 44:13
    para ocupar 100%
    da opção do menu.
  • 44:13 - 44:16
    Isso é muito comum em vários
    menus de navegação.
  • 44:16 - 44:20
    Inclusive, você encontra
    esse efeito no menu da FIAP.
  • 44:20 - 44:22
    Sempre as opções do link,
  • 44:22 - 44:25
    quando você passa o ponteiro
    do mouse no menu principal,
  • 44:25 - 44:29
    elas vão completar com um tracinho
    basicamente igual a esse.
  • 44:29 - 44:31
    Vamos construir a parte de baixo,
  • 44:31 - 44:36
    a nossa parte onde
    nós temos o hero, na verdade.
  • 44:37 - 44:41
    Bom, então aqui,
    para ficar mais específico,
  • 44:41 - 44:44
    mais claro para você,
    aqui vai ser o meu menu,
  • 44:44 - 44:48
    vai ser a minha parte de logo e menu.
  • 44:49 - 44:51
    Vou comentar para não aparecer.
  • 44:51 - 44:56
    Então, Shift + Alt + F
    para identar 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:13
    Automaticamente,
    eu vou criar a parte do hero, tá?
  • 45:13 - 45:18
    Então, hero, Ctrl,
    ponto e vírgula, comentou,
  • 45:18 - 45:21
    Shift, Alt, seta para baixo,
    duplicou.
  • 45:21 - 45:24
    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:38
    Vou colar o código
    que eu fiz do Hero.
  • 45:38 - 45:41
    Então, o que nós temos nesse hero?
  • 45:41 - 45:46
    Nós temos um hero, uma Class Hero,
    que também é um Apply,
  • 45:46 - 45:50
    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:03
    O P com uma largura de 50%
    do tamanho do elemento
  • 46:03 - 46:08
    aonde ele está posicionado,
    que no caso é o nosso hero-section.
  • 46:08 - 46:16
    E aí, vale ressaltar que ele vai
    ocupar 50% dos 100% desse elemento.
  • 46:16 - 46:22
    E aqui, o nosso leading,
    que é a altura da linha em 28 pixels.
  • 46:22 - 46:31
    Abaixo, eu tenho um elemento A
    com 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:37
    todo apagadinho,
  • 46:37 - 46:43
    porque faltam as formatações
    básicas para posicionamento.
  • 46:43 - 46:47
    Perceba que o text-5xl,
    ele já aplicou,
  • 46:47 - 46:51
    esse tamanho aqui ele já aplicou,
    e a classe BTN
  • 46:51 - 46:54
    a gente não tem ainda
    porque é um Apply.
  • 46:54 - 46:59
    Então, vamos lá colocar esse Apply.
  • 47:05 - 47:08
    Shift + Alt + F para ele arrumar.
  • 47:08 - 47:12
    O hero section tem
    uma largura de 100%.
  • 47:12 - 47:15
    Ele tem uma altura de 100vh.
  • 47:15 - 47:19
    Colocamos o Display Flex
    para alinhar os elementos.
  • 47:19 - 47:23
    Flex-Col para posicionar
    um abaixo do outro.
  • 47:23 - 47:28
    text-slate-100 vai ser a nossa cor,
    que vai ficar na corzinha branca.
  • 47:28 - 47:33
    Alinhamento centralizado, tanto
    na horizontal quanto na vertical.
  • 47:33 - 47:38
    Espaçamento entre
    os elementos em 32 pixels.
  • 47:38 - 47:42
    E o alinhamento
    do texto centralizado.
  • 47:42 - 47:46
    Se a gente for dar uma olhadinha
    agora na nossa página,
  • 47:46 - 47:50
    nossa oficina web está dessa forma.
  • 47:50 - 47:52
    Basta a gente usar quem?
  • 47:52 - 47:54
    Formatar quem?
  • 47:54 - 48:00
    Formatar o nosso Access Now,
    ou seja, o nosso elemento de botão.
  • 48:00 - 48:07
    Mas o restante ele já está
    deixando formatado no padrão,
  • 48:07 - 48:11
    que nós temos aqui
    no nosso elemento de desktop.
  • 48:12 - 48:15
    Então aqui a gente
    tem esse elemento.
  • 48:15 - 48:18
    Vamos fazer a formatação dele.
  • 48:22 - 48:24
    Nós temos a class "btn".
  • 48:24 - 48:32
    Então eu vou criar uma diretiva
    aqui para ele de ".btn".
  • 48:33 - 48:36
    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:51
    border-2, por exemplo,
  • 48:51 - 48:55
    que ela vai me dar
    uma borda de 2 pixels.
  • 48:55 - 48:57
    Então provavelmente
    ele já está colocando aqui
  • 48:57 - 49:01
    uma bordinha de 2 pixels para nós.
  • 49:01 - 49:07
    Vamos colocar aqui um padding,
    provavelmente um padding x,
  • 49:07 - 49:11
    tanto para o eixo para a esquerda
    e para a direita.
  • 49:11 - 49:14
    Vou colocar um padding x de 2,
  • 49:14 - 49:17
    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:25
    Já espaçou um pouquinho
    aqui na lateral.
  • 49:25 - 49:27
    Dá até para espaçar
    um pouquinho mais.
  • 49:27 - 49:30
    px-4.
  • 49:30 - 49:32
    Tá bom.
  • 49:34 - 49:36
    Já espaçou um pouquinho mais.
  • 49:36 - 49:39
    Vou espaçar ele também
    na parte superior.
  • 49:39 - 49:42
    Então padding Y
    vou colocar 4 também.
  • 49:42 - 49:45
    Sempre juntinho, tá?
  • 49:45 - 49:48
    Deixa ele buildar aqui para a gente.
  • 49:49 - 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 py-2.
  • 50:14 - 50:16
    Já melhorou.
  • 50:16 - 50:20
    Vou colocar aqui um rounded.
  • 50:20 - 50:24
    Então nós temos aqui
    a opção de rounded-sm.
  • 50:24 - 50:28
    rounded-md.
  • 50:28 - 50:32
    Vou usar esse md.
  • 50:32 - 50:35
    Já fez o arredondamento
    dele aqui.
  • 50:35 - 50:37
    Toma cuidado para não exagerar, 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:46
    você pode colocar um lg,
    que vai dar 8.
  • 50:46 - 50:50
    Ou um xl que deve dar 12 pixels.
  • 50:50 - 50:52
    Ficar mais arredondadinho.
  • 50:52 - 50:54
    Ok.
  • 50:54 - 50:59
    E aqui a gente vai ter
    também um hover.
  • 51:01 - 51:04
    Então, hover dois pontos.
  • 51:04 - 51:08
    Quando passar o ponteiro
    do mouse sobre o elemento,
  • 51:08 - 51:11
    eu quero colocar um BG.
  • 51:11 - 51:14
    No caso aqui, eu vou usar
    uma tonalidade de azul.
  • 51:14 - 51:20
    Um Sky, por exemplo, 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:38
    Só que eu entendo que esse cara
    podia ter um duration de 500.
  • 51:38 - 51:43
    Ou seja, ele vai levar 5
    milésimos de segundo.
  • 51:43 - 51:47
    Meio segundo,
    para fazer esta transição.
  • 51:47 - 51:51
    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:07
    Bonitinho aqui para que a gente
    consiga utilizar, inclusive,
  • 52:07 - 52:10
    em outros dispositivos menores.
  • 52:10 - 52:13
    Feito o hero, o que a gente
    vai montar?
  • 52:13 - 52:15
    Nós vamos montar 3 cardzinhos.
  • 52:15 - 52:18
    Esses cardzinhos,
    eles também estão bem simples
  • 52:18 - 52:21
    e eu também fiz apply
    para todos eles.
  • 52:21 - 52:24
    Vamos dar uma olhada na telinha
    e ver como que eles devem ficar.
  • 52:24 - 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:38
    Esse cara, eu entendo
    que ele deve ser um elemento
  • 52:38 - 52:43
    que vai receber os outros 3 cards.
  • 52:43 - 52:46
    Cada um desses cards vai
    ter a mesma configuração.
  • 52:46 - 52:53
    Uma imagem, vai ter um título,
    uma pequena publicação,
  • 52:53 - 52:56
    vai ter aqui um título deles, né?
  • 52:56 - 53:01
    Me basei nas diretivas que nós estamos
    importando do tailwind
  • 53:01 - 53:04
    e aqui um pequeno texto.
  • 53:04 - 53:07
    Então, é esse carinha que nós vamos
    montar, lembrando que as imagens
  • 53:07 - 53:12
    já estão disponíveis
    dentro da nossa pasta de imagens
  • 53:12 - 53:15
    e você vai receber 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:41
    Fim, área de cards.
  • 53:41 - 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:57
    Vou aumentar um pouquinho.
  • 54:00 - 54:01
    Pressiono 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:10
    então o que eu vou fazer?
  • 54:10 - 54:20
    Eu vou colocar uma main com uma
    classe chamada grid-cards.
  • 54:20 - 54:25
    Então, todos os nossos cards
    ficarão dentro desse elemento main,
  • 54:25 - 54:28
    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:58
    Bonitinha, organizadinha aqui,
    para que eles sejam clicáveis.
  • 54:58 - 55:03
    Então, todo o conteúdo das sections,
    todo esse conteúdo,
  • 55:03 - 55:05
    ele está dentro de uma tag A.
  • 55:05 - 55:10
    E aqui você pode direcionar,
    se você for usar esse card
  • 55:10 - 55:14
    para alguma 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 card1.
  • 55:29 - 55:32
    Um Alt pensando na acessibilidade.
  • 55:32 - 55:36
    E eu já deixei essa imagem
    com a classe de rounded.
  • 55:36 - 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, né?
  • 56:43 - 56:46
    Que são cada um dos cardezinhos.
  • 56:46 - 56:51
    O apply do card tem
    uma parte responsiva.
  • 56:51 - 56:56
    Aonde, quando ele estiver
    em uma tela que tenha no mínimo 768,
  • 56:56 - 57:02
    nós vamos ter um display flex,
    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:18
    Então, no caso aqui vai dar
    algo em torno de dois pixels.
  • 57:18 - 57:24
    Nós temos um padding de 1RM,
    ou seja, 16 pixels.
  • 57:24 - 57:26
    Então, padding geral.
  • 57:26 - 57:28
    Nós temos um padding Y.
  • 57:28 - 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:38
    Rounded com 6px.
  • 57:38 - 57:41
    Espaçamento entre
    os elementos do card
  • 57:41 - 57:45
    com um gap de 2 de 8 pixels.
  • 57:45 - 57:51
    Um hover, que quando passar
    o ponteiro do mouse sobre o card,
  • 57:51 - 57:53
    ele vai diminuir.
  • 57:53 - 57:55
    Está em 10%.
  • 57:55 - 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:11
    Abaixo nós temos o card-title,
    apenas com o tamanho da fonte,
  • 58:11 - 58:14
    peso da fonte e a margem.
  • 58:14 - 58:19
    Nós temos o card-date,
    também com o peso da fonte,
  • 58:19 - 58:25
    cor do texto,
    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:42
    o conteúdo de texto dele.
    na cor grey-600,
  • 58:42 - 58:44
    que é uma tonalidade de cinza.
  • 58:44 - 58:49
    Então, provavelmente
    nós já tenhamos 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:04
    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:15
    Eu vou colocar aqui,
    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:25
    Então, a gente tem aqui
    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:35
    Nós temos mx-auto, né?
  • 59:35 - 59:39
    Para deixar ele alinhado
    tanto à esquerda como à direita.
  • 59:39 - 59:44
    Centralizado pelo eixo horizontal,
    na horizontal.
  • 59:44 - 59:47
    Uma margem superior
    e inferior em 40.
  • 59:47 - 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 mais de atenção
  • 60:08 - 60:10
    quando for colocar as classes, né?
  • 60:10 - 60:11
    Porque vocês viram,
  • 60:11 - 60:14
    eu simplesmente esqueci
    daquela classe lá de definição,
  • 60:14 - 60:17
    que é justamente a classe
    que está posicionando os cards
  • 60:17 - 60:20
    para que eles fiquem
    um ao lado do outro.
  • 60:20 - 60:23
    Próximo passo agora
    é só finalizar com o rodapé.
  • 60:23 - 60:25
    Esse rodapé está bem simples.
  • 60:25 - 60:31
    Vai ser um container recebendo
    um texto e recebendo três ícones
  • 60:31 - 60:33
    lá do Boxicons.
  • 60:33 - 60:40
    O rodapé, ele tem essa barra,
    escrito "Oficina Web",
  • 60:40 - 60:44
    e os nossos ícones aqui
    com o padrão de cor
  • 60:44 - 60:46
    e com o hoverzinho.
  • 60:46 - 60:52
    Então, abaixo aqui
    da nossa área de cards,
  • 60:52 - 60:56
    nós vamos criar
    nossa área de rodapé.
  • 60:56 - 61:02
    Vou colocar aqui o meu rodapé,
    Ctrl + ponto e vírgula para começar,
  • 61:02 - 61:08
    fazer o comentário,
    e aqui eu vou colocar o "fim rodapé".
  • 61:08 - 61:19
    Vou clicar com Alt,
    deixar o espaçamento aqui,
  • 61:27 - 61:30
    e vou abrir meu conteúdo.
  • 61:30 - 61:34
    Nós temos o código do rodapé,
    que é exatamente isso.
  • 61:34 - 61:39
    Uma classe footer, que é um apply.
  • 61:39 - 61:42
    Um h3 com "Oficina Web".
  • 61:42 - 61:45
    Aqui, para não usar o apply,
    porque é bem pequeno,
  • 61:45 - 61:47
    são apenas duas classes,
  • 61:47 - 61:52
    eu coloquei a classe
    de text-indigo-700 para a cor dele.
  • 61:52 - 61:54
    Coloquei ele como flex,
  • 61:54 - 61:59
    e um gap 4 para o espaçamento
    dos nossos ícones.
  • 61:59 - 62:04
    Os nossos ícones
    são a chamada lá do Boxicons.
  • 62:04 - 62:08
    Nós temos apenas para ele,
    que eles começam com uma cor,
  • 62:08 - 62:11
    que vai ser essa cor indigo-700.
  • 62:11 - 62:14
    Quando passar o ponteiro
    do mouse sobre eles,
  • 62:14 - 62:17
    eles mudam aqui
    para essa cor branca,
  • 62:17 - 62:20
    para esse text-white.
  • 62:20 - 62:24
    Então, visualmente,
    nós já temos isso,
  • 62:24 - 62:26
    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:36
    Então, eu preciso dessa classe
    footer, que é o meu apply.
  • 62:36 - 62:42
    Então, aqui abaixo,
    como último apply,
  • 62:42 - 62:44
    a gente tem o footer,
  • 62:44 - 62:51
    que está definido com uma cor
    de fundo índigo padrão do tailwind.
  • 62:51 - 62:54
    A largura dele posicionado em 100%.
  • 62:54 - 62:58
    A altura em 96 pixels.
  • 62:58 - 63:03
    Um padding em esquerdo e direito em 96
    para ter um espaçamento maior.
  • 63:03 - 63:10
    O texto dele totalmente branco,
    o tamanho da fonte em 24 pixels.
  • 63:10 - 63:17
    Flex para fazer o alinhamento,
    centralizado 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:26
    A nossa oficina web
    e os nossos ícones mudando de cor
  • 63:26 - 63:28
    quando a gente altera,
  • 63:28 - 63:31
    quando a gente passa
    o conteúdo do mouse.
  • 63:31 - 63:36
    Se você chegar aqui
    e mexer na telinha,
  • 63:36 - 63:39
    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:07
    A estilização com flex,
    a estilização dos nossos textos,
  • 64:07 - 64:08
    imagens de fundo.
  • 64:08 - 64:13
    Enfim, deu para ter um overview
    bem legal sobre o framework.
  • 64:13 - 64:17
    O tailwind é poderosíssimo
    e ele vai te ajudar muito
  • 64:17 - 64:20
    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
  • 64:30 - 64:33
    para que esses recursos,
    essas classes utilitárias
  • 64:33 - 64:37
    sejam totalmente costumeiras
    no seu dia a dia.
Title:
vimeo.com/.../1083873052
Video Language:
Portuguese, Brazilian
Duration:
01:04:41

Portuguese, Brazilian subtitles

Revisions Compare revisions