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

Versao Mobile

Boa tarde Na minha versao mobile para 320 px, cada uma das 3 imagens da pagina de produtos "nao coube" dentro da respectiva moldura. Como faço para redimensionar as tres imagens para que caibam em cada uma das 3 molduras? Segue meus codigos html e css:

  • PÁGINA HTML - LINK PRODUTOS :
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width">     
        <title>Produtos Barbearia Alura</title>
        <link rel="stylesheet" href="reset.css">
        <link rel="stylesheet" href="style.css">
        <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400&display=swap" rel="stylesheet">
    </head>

    <body>
        <header>
            <div class="caixa">
            <h1><img src="logo.png"></h1> 
                <nav>
                    <ul>
                        <li><a href="index.html">Home</a></li>
                        <li><a href="produtos.html">Produtos</a></li>
                        <li><a href="contato.html">Contato</a></li>
                    </ul>
                </nav>   
            </div>   
        </header>

        <main>
                <ul class="produtos">
                    <li>
                        <h2>Cabelo</h2>
                        <img src="cabelo.jpg">   
                        <p class="produto-descricao">Na tesoura ou máquina, como o cliente preferir</p>
                        <p class="produto-preco">R$ 25,00</p>
                    </li>

                    <li>
                        <h2>Barba</h2>
                        <img src="barba.jpg">   
                        <p class="produto-descricao">Corte e desenho profissional de barba</p>
                        <p class="produto-preco">R$ 18,00</p>
                </li>

                    <li>
                        <h2>Cabelo + Barba</h2>
                        <img src="cabelo+barba.jpg">   
                        <p class="produto-descricao">Pacote completo de cabelo e barba</p>
                        <p class="produto-preco">R$ 35,00</p>
                    </li>    
                </ul>   
        </main>

    <footer>
        <img src="logo-branco.png">
        <p class="copyright">&copy; Copyright Barbearia Alura - 2019</p>

    </footer>

    </body>


</html>
4 respostas
  • CÓDIGO NO CSS:
body {
    font-family: 'Montserrat', sans-serif;
}

header {
    background: #BBBBBB;
    padding: 20px 0;
}

.caixa{
    position: relative;
    width: 940px;
    margin:0 auto;
}

nav {
    position: absolute;
    top: 110px;
    right: 0;
}

nav li {
    display: inline;
    margin: 0 0 0 15px;
}

nav a {
    text-transform: uppercase;
    color: #000000;
    font-weight: bold;
    font-size: 22px;
    text-decoration: none;
}

nav a:hover {
    color:#C78C19;
    text-decoration: underline;

}

.produtos {
    width: 940px;
    margin: 0 auto;
    padding: 50px 0;
}

.produtos li {
    display: inline-block;
    text-align: center;
    width: 30%;
    vertical-align: top;
    margin: 0 1.5%;
    padding: 30px 20px;
    box-sizing: border-box;
    border: 2px solid #000000;
    border-radius: 10px  ;
}

.produtos li:hover {
    border-color: #C78C19;
}

.produtos li:active {
    border-color: #088c19;
}

.produtos li:hover h2 {
    font-size: 34px;
}
.produtos h2 {
    font-size: 30px;  
    font-weight: bold;
}   

.produto-descricao {
    font-size: 18px;

}

.produto-preco { 
    font-size: 22px;
    font-weight: bold;
    margin-top: 10px;
}

footer {
    text-align: center;
    background: url("bg.jpg");   
    padding: 40px 0;
}

.copyright {
    color: #FFFFFF;
    font-size: 13px ;
    margin: 20px 0 0;
}


form {
    margin: 4em;
}
form label, form legend {
    display: block;
    font-size: 20px;
    margin: 0 0 10px;
}
.input-padrao {
    display:block;
    margin: 0 0 20px;
    padding: 10px 25px;
    width:50%;  
}

.checkbox { 
    margin: 20px 0;
}

.enviar {
    width: 40%;
    padding: 15px 0;
    background: orange;
    color: white;
    font-weight: bold;
    font-size: 18px;
    border: none; 
    border-radius: 5px;
    transition: 1s all ; 
    cursor: pointer;
}

.enviar:hover { 
    background: darkorange;
    transform: scale(1.2);
}


table { 
    margin: 4em; 
    text-align: center;
}

thead {
    background: #555555; 
    color: white;
    font-weight: bolds;
}

td, th { 

    border: 1px solid #000000;
    padding: 8px 15px;
}


.banner{
    width: 100%;
}

.titulo-principal {
    text-align: center;
    font-size: 2em;
    margin: 0 0 1em;
    clear: left;
}  

.principal {
    padding: 3em 0;
    background: #FEFEFE; 
    width: 940px;
    margin: 0 auto;
}

.principal p {
    margin: 0 0 1em;
    text-indent: 2em;
    text-align: justify;
} 

.principal strong {
    font-weight: bold;
}


.principal em {
    font-style: italic;
}

.utensilios {
    width: 120px; 
    float: left;
    margin: 0 20px 20px 0;
}



.mapa {
    padding: 3em 0; 
    background: linear-gradient(#FFFFFF, #888888);

.mapa-conteudo {
    width: 940px;
    margin: 0 auto;
}

.mapa p {
    margin: 0 0 2em;
    text-align: center;
}

.beneficios {
    padding: 3em 0;
    background: #888888;

}


.conteudo-beneficios {
    width: 640px;
    margin: 0 auto 8em;
}

.lista-beneficios {
    width: 40%;
    display: inline-block;
    vertical-align: top; 
}


.itens {
    line-height: 1.5;
}

.itens:first-child { 
    font-weight: bold; 

.itens:before {
    content: "★"; 
}


.imagem-beneficios {
    width: 60%; 
    opacity: 1; 
    transition: 400ms;
    box-shadow: 10px 10px 10px;
}

.imagem-beneficios:hover {
    opacity: 1; 
    opacity: 0.3; 
}


.video {
    width: 560px;
    margin: 4em auto;
}
  • CONTINUAÇÃO DO CODIGO CSS (ARQUIVO STYLE.CSS):
@media screen and (max-width:480px) {


    .caixa, .principal, .conteudo-beneficios, .mapa-conteudo, .video { 
        width: auto; 
    }

    h1 {
        text-align: center;
    }

    nav {
        position: static; 
        text-align: center;
    }

    .utensilios {
        width: 6em;
        display: block;
        margin: 1em;
    }

    .lista-beneficios, .imagem-beneficios {
        width: 100%; 
    }

    .principal, .paragrafos {
        text-align: justify;
    }

    .paragrafos {
        text-indent: 2em;
    }

    .paragrafo-mapa {
        padding: 0.5em 2em;
    }

    .principal, .mapa, .beneficios {
        padding: 1em 0;
    }           

    .lista-beneficios {
        text-align: center;
        margin: 0 0 2em;
    }

    .titulo-principal, .principal, .mapa-conteudo, .conteudo-beneficios {
        margin: 0.5em 2em;
    }


    .titulo-principal {
        font-size: 1.5em;
    }

    .video {
        margin: 0.5em 2em 4em;
    }

    .imagem-beneficios  {
        margin: 0 0 2em;

}

    .produtos {
        width: auto;
        margin: 1em;
        padding: 2em 2em;
    }    


    .produtos li {
        display: block;
        text-align: center;
        width: auto;
        margin: 1.5em 0;
    }

    .produtos li:hover {
        border-color: #C78C19;
    }

    .produtos li:active {
        border-color: #088c19;
    }

    .produtos li:hover h2 {
        font-size: 3em;
    }

    form {
        margin: 3em 2em;
    }

    .input-padrao {  
        width: 80%;
    }

    .enviar {
        font-size: 1em;
        width: 100%;
        padding: 1em;
    }

    table {
        margin: 0 auto 4em;
}

}
solução!

Olá, Ytallo. Como vai?

Você pode utilizar position: absolute na classe .produtos. Com isso, os elementos da lista vão sobrepor a tag main onde eles se encontram, e o footer vai ficar aparecendo no meio atrás desses elementos, para concertar isso, sugiro aumentar o padding-bottom da tag main, eu testei 1380px e o footer ficou embaixo com uma vizualização legal, depois é interessante também ajustar a largura do footer e do header, para ficarem alinhados.

Depois me conta o que achou? Fico aguardando!

Olá, Ytallo. Tudo bem?

Estou definindo o tópico como respondido por falta de retorno. Caso ainda tenha dúvidas, é só abrir um novo tópico que estaremos disponíveis para ajudá-lo!