Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Problemas com Flexbox / Grid

Olá, estou realizando o curso de CSS: Dispondo elementos com Flexbox e Grid e acompanhando todo o projeto junto com o professor. Porém ao finalizar a quinta unidade vi que o projeto está diferente do apresentado no Figma. Estou quebrando a cabeça por umas duas horas e não consigo resolver o problema com as habilidades que tenho desenvolvidas ainda. Preciso de uma luz!! kk

O problema que não consigo resolver é o icone de "play" nos cartões, que mesmo colocando o justify-self: "flex-end" ele continua no meio. Pelo que entendi o problema está no grid e nas distribuições das colunas e linhas mas realmente não consigo solucionar o problema.

Segue abaixo as imagens:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade DO PROFESSOR Meu trabalho:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Detalhe para o botão, não consigo arrumar esse problema. Segue abaixo o código:

5 respostas

HTML

<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Alura flex - grid</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap">
<link rel="stylesheet" href="/assets/css/reset.css">
<link rel="stylesheet" href="/assets/css/style.css">
<header class="cabecalho">
    <button class="cabecalho__menu" aria-label="Menu"><i></i></button>
    <img src="/assets/img/logo.svg" alt="Logotipo da HZC" class="cabecalho__logo">
    <button class="cabecalho__notificacao" aria-label="Notificação"><i></i></button>
</header>
<nav class="menu-lateral">
    <img src="/assets/img/logo.svg" alt="Logotipo da HZC" class="menu-lateral__logo">
    <a href="#" class="menu-lateral__link menu-lateral__link--inicio menu-lateral__link--ativo">Início</a>
    <a href="#" class="menu-lateral__link menu-lateral__link--videos">Vídeos</a>
    <a href="#" class="menu-lateral__link menu-lateral__link--picos">Picos</a>
    <a href="#" class="menu-lateral__link menu-lateral__link--integrantes">Integrantes</a>
    <a href="#" class="menu-lateral__link menu-lateral__link--camisas">Camisas</a>
    <a href="#" class="menu-lateral__link menu-lateral__link--pinturas">Pinturas</a>
</nav>
<main class="principal">
    <h2 class="titulo-pagina">Início</h2>
    <article class="cartao cartao--destaque">
        <img src="/assets/img/banner-mobile_1.png" alt="Banner do Cartão" class="imagem__cartao">
        <div class="cartao__conteudo">
            <p class="cartao__destaque">Vídeo em destaque</p>
            <h3 class="cartao__titulo">HZC Life is... / 2022</h3>
            <p class="cartao__perfil">Bruno Lopez</p>
            <p class="cartao__info cartao__info--tempo">33 Minutos</p>
            <p class="cartao__info cartao__info--visualizacao">54 Visualizações</p>
            <button class="cartao__botao cartao__botao--destaque cartao__botao--play">Assistir agora</button>
        </div>
    </article>
    <section class="secao">
        <h3 class="titulo-secao">Vídeos mais vistos</h3>
        <article class="cartao">
            <img src="/assets/img/video_1.png" alt="Vídeo 1" class="imagem__cartao">
            <div class="cartao__conteudo">                   
                <p class="cartao__perfil">Bruno Lopez</p>
                <h3 class="cartao__titulo">HZC Life is... / 2022</h3>
                <p class="cartao__info cartao__info--tempo">33 Minutos</p>
                <button class="cartao__botao cartao__botao--play" aria-label="Assistir agora"></button>
            </div>
        </article>
        <article class="cartao">
            <img src="/assets/img/video_2.png" alt="Vídeo 2" class="imagem__cartao">
            <div class="cartao__conteudo">                   
                <p class="cartao__perfil">Bruno Lopez</p>
                <h3 class="cartao__titulo">HZC - Tudo sem Padrin</h3>
                <p class="cartao__info cartao__info--tempo">55 Minutos</p>
                <button class="cartao__botao cartao__botao--play" aria-label="Assistir agora"></button>
            </div>
        </article>
        <article class="cartao">
            <img src="/assets/img/video_3.png" alt="Vídeo 3" class="imagem__cartao">
            <div class="cartao__conteudo">                   
                <p class="cartao__perfil">Bruno Lopez</p>
                <h3 class="cartao__titulo">HZC - Enter the Hu-Flez</h3>
                <p class="cartao__info cartao__info--tempo">74 Minutos</p>
                <button class="cartao__botao cartao__botao--play" aria-label="Assistir agora"></button>
            </div>
        </article>
        <article class="cartao">
            <img src="/assets/img/video_4.png" alt="Vídeo 4" class="imagem__cartao">
            <div class="cartao__conteudo">                   
                <p class="cartao__perfil">Bruno Lopez</p>
                <h3 class="cartao__titulo">HZC - Vol.3</h3>
                <p class="cartao__info cartao__info--tempo">102 Minutos</p>
                <button class="cartao__botao cartao__botao--play" aria-label="Assistir agora"></button>
            </div>
        </article>
    </section>
</main>
<script src="/assets/index.js"></script>

CSS

@font-face {
    font-family: 'icones';
    src: url(../font/icones.ttf);
}

body{
    background-color: #1D232A;
    font-family: 'Open Sans', 'icones', sans-serif;
    color: #FFFFFF;
}

.cabecalho{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #15191C;
    padding: 8px 16px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.16);
}

.cabecalho__menu i::before {
    content: "\e904";
    font-size: 24px;
}

.cabecalho__notificacao i::before {
    content: "\e906";
    font-size: 24px;
}

.cabecalho__logo{
    width: 40px;
}

.menu-lateral{
    display: flex;
    flex-direction: column;
    background-color: #15191C;
    width: 75vw;
    height: 100vh;
    position: absolute;
    left: -100vw;
    transition: .35s;
}

.menu-lateral--ativo{
    left: 0;
    transition: .35s;
}

.menu-lateral__logo{
    width: 118px;
    align-self: center;
    padding: 16px;
}

.menu-lateral__link{
    height: 64px;
    color: #95999C;
    padding-left: 18vw;
    display: flex;
    align-items: center;
}

.menu-lateral__link--ativo{
    color: #FFFFFF;
    padding-left: 64px;
    border-left: 8px solid #ffffff;
}

.menu-lateral__link::before{
    content: '\e900';
    width: 24px;
    height: 24px;
    font-size: 24px;
    position: absolute;
    left: 24px;
}

.menu-lateral__link--inicio::before{
    content: '\e902';
}

.menu-lateral__link--videos::before{
    content: '\e90e';
}

.menu-lateral__link--picos::before{
    content: '\e909';
}

.menu-lateral__link--integrantes::before{
    content: '\e903';
}

.menu-lateral__link--camisas::before{
    content: '\e900';
}

.menu-lateral__link--pinturas::before{
    content: '\e90a';
}

.principal{
    padding: 24px 16px;
    display: grid;
    gap: 16px;
}

.titulo-pagina{
    font-size: 1.5rem;
    font-weight: 700;
}

.titulo-secao{
    font-size: 1.2rem;
    font-weight: 700;
}

.cartao{
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    background-color: #2c343a;
}

.cartao--destaque{
    margin-bottom: 16px;

}

.cartao__conteudo{
    padding: 16px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
}

.cartao__destaque{
    grid-column: span 2;
}

.cartão__titulo{
    font-size: 1.2rem;
    font-weight: 700;
    grid-column: span 2;
}

.cartao__perfil{
    color: #95999C;
    font-size: 0.9rem;
    grid-column: span 2;
}

.cartao__info{
    display: flex;
    align-items: center;
    color: #95999C;

}

.cartao__info--tempo::before{
    content: "\e90c";
    margin-right: 8px;
}

.cartao__info--visualizacao::before{
    content: "\e90f";
    margin-right: 8px;
}

.cartao__botao{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0480dc;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    font-size: 0.9rem;
    justify-self: flex-end;
}

.cartao__botao--play::before{
    content: "\e90b";
    font-size: 24px;
}

.cartao__botao--destaque{
    width: 100%;
    grid-column: span 2;
}

.cartao__botao--destaque::before{
    margin-right: 8px;
}

.secao{
    display: grid;
    gap: 16px;
}
solução!

Oi Lincoln!

No arquivo css a classe cartao__titulo esta com um til (~). Remove o acento que já vai ficar certinho.

Print de trecho do css com classe cartao__titulo acentuada

(Desculpe a demora para responder, acabei ficando uns dias fora)

Juliana, quando apareceu no meu Email uma resposta sua, ainda mais mostrando uma coisa tão simples como esse til ~, dá até um aperto no coração de lembrar quanto tempo fiquei perdido por causa de um acento kkkkkkkkkkk Agradeço pela ajuda, deu muito certo!!

Imagina Lincoln! É assim mesmo. Às vezes, a gente está tão focado em coisas mais complexas, que as pequenas passam despercebidas mesmo. Que bom que deu certo. Bons estudos pra gente. Tmj!