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

Não consigo dimensionar os ícones

Olá pessoal! Tudo bem?

No exercício 05 estou tentando dimensionar os ícones mas não consigo. Podem ver que no código usei width: 0 e height: 0 mas mesmo assim os ícones estão maiores que o input. Alguém pode me explicar por que está acontecendo isso? Nesse caso qual a saída para dimensionar os ícones?

HTML
<main>
            <h1 class="titulo-principal">Contato</h1>
            <fieldset>
                <legend>Dados pessoais:</legend>
                <label class="com-icone" for="nome">Nome:</label>
                <input type="text" id="nome" name="nome" placeholder="Digite seu nome" pattern="[A-Za-z ']{4,}" title="Mínimo de 4 caracteres" autofocus required>
                <label class="com-icone" for="email">Email:</label>
                <input type="email" id="email" name="nome" placeholder="seu@email.com" required>
            </fieldset>
            <fieldset>
                <legend class="assunto">Assunto:</legend>
                <input type="radio" id="blog" name="assunto" value="blog">
                <label for="blog">Blog</label>
                <input type="radio" id="servico" name="assunto" value="servico">
                <label for="servico">Serviço</label>
                <input type="radio" id="outro" name="assunto" value="outro">
                <label for="outro">Outro</label>
                <input id="outro-campo" name="outro-campo" placeholder="Outro assunto">
                <select name="assunto">
                    <option value="blog">Blog</option>
                    <option value="servico">Serviço</option>
                    <option value="outro">Outro</option>
                </select>
                <label class="mensagem" for="msg">Mensagem:</label>
                <textarea id="msg" cols="35" rows="10" name="mensagem" placeholder="Digite sua mesnsagem aqui"></textarea>
                <button type="submit"><strong>Enviar</strong></button>
            </fieldset>
        </main>

CSS
.com-icone {
    position: relative;
}

.com-icone::after {
    content: '';
    background-color: #8C1D3D;
    background-size: 50% 50%;
    width: 0;
    height: 0;
    padding: 1em;
    background-repeat: no-repeat;
    position: absolute;
    top: 100%;
    left: 0;
    background-position: center;

}

.com-icone + input {
    width: calc(100% - 2em);
    position: relative;
    left: 2em;
}

.com-icone[for="nome"]::after {
    background-image: url(../img/usuario.png);
}


.com-icone[for="email"]::after {
    background-image: url(../img/email.png);
}

Obrigada!

4 respostas

o Tamanho da imagem está sendo definido no background-size, pois é uma imagem em background e não uma tag img. Tente mexer nos valores dele.

Olá Rudi, obrigada por responder mas infelizmente se eu mexo no background-size as imagens diminuem/aumentam dentro da caixa que continua o mesmo tamanho. O meu problema é que a caixa que contém a imagem do ícone não fica da altura do input do fomulário e eu já zerei o width/heigth mas mesmo assim não dimensiona como deveria.

Entendeu?

Se dimensiono a imagem no background-size ela fica maior ou menor dentro da caixa de background-color #8C1D3D.

Obrigada! Abraços!

Então tenta deixar o after com o mesmo tamanho do input, se o input tem 40px de altura coloca 40px de altura também no :after com .com-icone!

solução!

Valeu pela dica Rudi mas eu descobri aqui que era o padding que tava aumentando o background além do que eu queria.

Obrigada! Abraços!