3
respostas

Mudar imagem

Olá, estou tentando mudar uma imagem, para por ela na esquerda, menor, arredondada e que mude de cor ao passar o mouse, porém nada aparenta mudar algo na aparecia, estou errando em algo?

import menu from '../Imagens/menu.png'
import styled from 'styled-components'

const IconeMenu = styled.div`
max-width:12,5 rem;
max-height:10 rem;
width:auto;
height:auto;

    
`;

function Menu(){
    return(
        <IconeMenu>
            <img src={menu} alt='menu'/>
        </IconeMenu>

    );
}

export default Menu
3 respostas

Oi, Rodrigo, tudo bem?

Percebi no seu código, que o valor da propriedade max-width na variável IconeMenu está com o valor decimal separado por uma vírgula e deveria estar separado por um ponto. Ficaria assim:

const IconeMenu = styled.div`
max-width:12.5 rem;
max-height:10 rem;
width:auto;
height:auto;
`;

Contudo, pelo código compartilhado, não é possível afirmar com certeza que o problema esteja sendo causado por esse detalhe. Por isso, peço que você compartilhe o link do seu projeto no GitHub ou uma pasta com todos os arquivos que você utilizou no através do Google Drive. Dessa forma, conseguirei realizar os testes necessários e te ajudar de forma mais assertiva.

Lembre-se que, se enviar os arquivos por meio do Google Drive, é necessário conceder permissão para que eu possa ter acesso.

Fico no aguardo!

Acho que talvez não seja necessário exportar tudo, o único outro lugar q mexi com width foi aqui, no título que também está no Header, espero que seja suficiente pra me dar uma luz klkkk mas qualquer coisa mando tudo sim. (não importa o que eu altere no código q cima, n muda nada na img e o do print atual acabou diminuindo a img) Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá Rodrigo, tudo bem?

Seria muito interessante ter contato com o seu projeto na totalidade para entender melhor o cenário da sua aplicação e buscar alternativas mais assertivas para conseguir resolver o seu problema. Contudo, deixo abaixo algumas opções que podem ajudar a estilizar seu componente:

  • Para posicionar a imagem à esquerda, você pode usar a propriedade float: left; no seu CSS.
  • Para arredondar a imagem, você pode usar a propriedade border-radius:50%.
  • Para mudar a cor ao passar o mouse, você pode usar o pseudo-seletor :hover no seu CSS. No entanto, mudar a cor de uma imagem é um pouco mais complexo do que mudar a cor de um texto, por exemplo. Uma maneira de fazer isso seria aplicar um filtro de cor na imagem ao passar o mouse.

Aqui está um exemplo de como seu código poderia ficar:

import menu from '../Imagens/menu.png'
import styled from 'styled-components'

const IconeMenu = styled.div`
  max-width: 12.5rem;
  max-height: 10rem;
  width: auto;
  height: auto;
  float: left;

  img {
    border-radius: 50%;
    transition: all 0.3s ease;

    &:hover {
      filter: brightness(50%);
    }
  }
`;

function Menu(){
    return(
        <IconeMenu>
            <img src={menu} alt='menu'/>
        </IconeMenu>
    );
}

export default Menu

Nesse código, eu adicionei o float: left; para alinhar a imagem à esquerda, e o border-radius: 50%; para tornar a imagem arredondada. Também adicionei uma transição (transition: all 0.3s ease;) para suavizar a mudança de cor, e um filtro de brilho (filter: brightness(50%);) que será aplicado quando o mouse passar sobre a imagem, tornando-a mais escura. Você pode ajustar o valor de brightness() para obter o efeito desejado.

Espero com essas dicas você consiga estilizar seus componentes. Todavia, é interessante fazer as alterações necessárias para que tudo funcione corretamente. Caso queira deixar compartilhar seu projeto, posso ajudar de forma mais assertiva a aplicar essas propriedades.

Abraços!

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