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

Consolidando o conhecimento: transform e transition

Olá, seguem os arquivos:

contato.html:

<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="utf-8">
        <title>Contato - Barbearia Alura</title>
        <link rel="stylesheet"  href="reset.css">
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <header>
            <div class="caixa">
                <h1><img src="logo.png" alt="Logo da Barbearia Alura"></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>
            <form>
                <label for="nomeesobrenome">Nome e sobrenome:</label>
                <input type="text" id="nomeesobrenome" class="input-padrao" required>

                <label for="email">E-mail:</label>
                <input type="email" id="email" class="input-padrao" required placeholder="seuemail@dominio.com">

                <label for="telefone">Telefone:</label>
                <input type="tel" id="telefone" class="input-padrao" required placeholder="(XX) XXXXX-XXXX">

                <label for="mensagem">Mensagem</label>
                <textarea cols="70" rows="10" id="mensagem" class="input-padrao" required></textarea>

                <fieldset>
                    <legend>Como prefere nosso contato:</legend>

                    <label for="radio-email"><input type="radio" name="contato" value="email" id="radio-email">Email</label>
                    <label for="radio-telefone"><input type="radio" name="contato" value="telefone" id="radio-telefone">Telefone</label>
                    <label for="radio-whatsapp"><input type="radio" name="contato" value="whatsapp" id="radio-whatsapp" checked>WhatsApp</label>
                </fieldset>

                <fieldset>
                    <legend>Qual horário prefere ser atendido?</legend>
                    <select>
                        <option>Manhã</option>
                        <option>Tarde</option>
                        <option>Noite</option>
                    </select>
                </fieldset>
                <label><input type="checkbox" class="checkbox" checked> Gostaria de receber nossas novidades por e-mail?</label>
                <input type="submit" value="Enviar Formulário" class="enviar">
            </form>
        </main>
        <footer>
            <img src="logo-branco.png" alt="Logo da Barbearia Alura">
            <p class="copyright">&copy; Copyright Barbearia Alura - 2022</p>
        </footer>
    </body>
</html>

style.css:

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 #000000 solid;
    border-radius: 10px;
}

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

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

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

.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 {
    font-size: 13px;
    color: #FFFFFF;
    margin-top: 20px;
}

main {
    width: 940px;
    margin: 0 auto;
}

form {
    margin: 40px 0;
}

form label, form legend {
    display: block;
    font-size: 20px;
    margin:  0 0 10px;
}

.input-padrao {
    display: block;
    margin: 0 0 20px;
    padding: 10px 20px;
    width: 50%;
}

.checkbox {
    margin: 20px 0;
}

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

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

Muito bom, Michel! Adorei o código!

Parabéns por toda a dedicação no curso até agora! Continue assim que vai longe!

Tenha um bom dia e bons estudos! :D

solução!

Eu fiz o transition um pouco diferente. Estava vendo como funciona o transform no site MDN e fiz assim.

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

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

Ele mantém a margem esquerda fixa e cresce na vertical e para a direita, assim fica margeado com o resto do conteúdo à esquerda (achei legal).

O transform matrix é interessante, é como usar o scale, skew e translate juntos, né? é possível ao invés de usar outros transforms usar sempre o matrix, não é?