2
respostas

[Projeto] Estou com problemas em recriar as mesmas dimensões do primeiro card para o segundo

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <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>HZC | Home</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="css/reset.css">
<link rel="stylesheet" href="css/Style.css">
</head>
<body>
    <header class="cabecalho">
        <button class="cabecalho__menu" aria-label="Menu"><i></i></button>
        <img src="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="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 " >Videos</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 o">Pinturas</a>
    </nav>
    <main class="principal">
        <h2 class="titulo-pagina">Inicio</h2>
        <article class="cartao cartao__destaque">
            <img src="img/banner-mobile_1.png" alt="Banner do cartão" class="cartao-imagem">
            <div class="cartao__conteudo">
                <p class="cartao__destaque">Video em destaque</p>
                <h3 class="cartao__titulo">HZC - Titulo</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">33 visualizações</p>
                <button class="cartao__botao cartao__botao--play cartao__botao--destaque">Assistir agora</button>
            </div>
        </article>
        <section class="secao">
            <h3 class="titulosecao">Vídeos mais vistos</h3>
            <article class="cartao cartao__destaque">
                <img src="img/video_1.png" alt="Vídeeo" class="cartao-imagem">
                <div class="cartao__conteudo">
                    <p class="cartao__perfil">Bruno Lopez</p>
                    <h3 class="cartao__titulo">HZC - Titulo</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>
        </section>
    </main>

    <script src="index.js"></script>
</body>
</html>
2 respostas
@font-face {
    font-family: 'icones';
    src: url(../font/icones.ttf);
}

/* Configurações gerais */
body{
    background-color: #1d232a;
    font-family: 'open sans','icones', sans-serif;
    color: #ffffff;
}
/* Cabeçalho */
.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.16);
}

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

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

.cabecalho__logo{
    width: 40px;
}

/* Navegação lateral */
.menu-lateral{
    display: flex;
    flex-direction: column;
    background-color: #15191c;
    width: 75vw;
    height: 100vh;
    position: absolute;
    left: -100vw;
    transition: .25s;
}

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

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

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

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

.menu-lateral__link::before{
    content: "";
    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";
}

/* Conteúdo */
.principal{
    padding: 24px 16px;
    display: grid;
    gap: 16px;
}

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

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

.cartao_imagem{
    width: 100%;
}


.cartao__destaque{
    margin-bottom: 16px;
}

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

.cartao__destaque{
    grid-column: span 2;
}

.cartao__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: 4px;
}

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

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

.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;
}

Oi Yan, tudo bem?

Desculpe a demora em responder!

Ao analisar o seu código percebi que o segundo cartão não ocupa a largura completa da página assim como o primeiro e isso ocorre devido ao segundo cartão estar no interior de uma seção, por meio da tag <section>, como mostro abaixo:

<section class="secao">
            <h3 class="titulosecao">Vídeos mais vistos</h3>
            <article class="cartao cartao__destaque">
                <img src="./assets/img/video_1.png" alt="Vídeeo" class="cartao-imagem">
                <div class="cartao__conteudo">
                    <p class="cartao__perfil">Bruno Lopez</p>
                    <h3 class="cartao__titulo">HZC - Titulo</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>
        </section>

As propriedades aplicadas no CSS para tags pais funcionam apenas nas tags filhas,por conta disso, todo o conteúdo do segundo cartão, que está dentro da tag <section>, não se relaciona com as propriedades CSS atribuídas a classe da tag main (principal), e portanto não é possível ter as mesmas dimensões do primeiro cartão.

Podemos solucionar o problema removendo as tags <section>de abertura e fechamento, da seguinte forma:

    <h3 class="titulosecao">Vídeos mais vistos</h3>
            <article class="cartao cartao__destaque">
                <img src="./assets/img/video_1.png" alt="Vídeeo" class="cartao-imagem">
                <div class="cartao__conteudo">
                    <p class="cartao__perfil">Bruno Lopez</p>
                    <h3 class="cartao__titulo">HZC - Titulo</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>

Com isso, teremos os cartões estruturados tanto em dimensão quanto em posicionamento da forma como ensinado em aula. Exemplo:

O código HTML completo com a correção pode ser acessado neste gist do Github.

Espero ter ajudado.

Caso tenha outras dúvidas, estarei à disposição!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software