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

Criar efeito hover sobre galeria

Olá pessoal tudo bem? estava tentando fazer um exercício aqui e travei, se alguém puder me ajudar seria muito grato.

eu tenho essa galeria de imagens aqui: http://codepen.io/sparcos/pen/pRMxej/

E gostaria de criar um efeito hover com CSS, ao passar o mouse por cima da imagem, ela criar um quadrado amarelo degradê com um texto, tipo a galeria desse site aqui: https://blackrockdigital.github.io/startbootstrap-creative/#page-top

Tentei criar uma div com position relative e outra com absolute mas não tive sucesso.

9 respostas

Olá Marcos. olhei seu código css e não encontrei a sintaxe img: hover{ ... } já tentou isso?

Então, é que nesse arquivo que postei no codepen foi mais pra ter uma base de como eu gostaria que ficasse, nos meus arquivos internos eu já tentei usar a propriedade hover e não funcionou.

Você já tentou usar o #portifolio img : hover { ... } ?

Minha dica é que você tente fazer apenas com uma imagem. Simples e pura. Começe fazendo o hover e veja se funciona,o que pela lógica deve funcionar. Depois vá adicionando seus outros componentes e testando um de cada vez, até ver onde o erro pode acontecer. P.S.: O exemplo que você tem da página é feito em jquery.

Espero que ajude! ;)

Olá André Machado, desculpe a demora pra responder eu atualizei o código do codepen com a parte que não estava conseguindo aqui.

um amigo meu me disse que dava pra fazer só com CSS e não sei onde estou falhando, segue o link novamente: http://codepen.io/sparcos/pen/pRMxej

tentei fazer com uma imagem só pra ver se facilita.

solução!

Olá Marcos, não sei se era bem isso que queria, mas pegando a ideia do site que você mandou como referência, ficaria +- assim comjavascript(código dentro da tag script) :

HTML + JS:

<html>

  <head>
    <link rel="stylesheet" href="teste.css"/>
  </head>

  <body>

    <section id="portfolio">
      <h2>PORTFÓLIO</h2>
      <div class="container">
        <div id="demo" class="estilo-galeria">REMAZA</div>
        <img id="img" src="http://marcosborgesdev.github.io/imagens/consorcio_remaza.jpg" alt="Consórcio Remaza">
      </div>

      <script>
        document.getElementById("demo").onmouseover = function() {mouseOver()};
        document.getElementById("demo").onmouseout = function() {mouseOut()};
        document.getElementById("img").onmouseover = function() {mouseOver()};
        document.getElementById("img").onmouseout = function() {mouseOut()};

        function mouseOver() {
            document.getElementById("demo").style.display = "inline";
        }

        function mouseOut() {
            document.getElementById("demo").style.display = "none";
        }
      </script>
    </section>

  </body>

</html>

CSS:

#portfolio {
   flex-direction: row;
   flex-wrap: wrap;
}

#portfolio h2 {
    width: 100%;
    text-align: center;
}

#portfolio .container {
    position: relative;
    width: 100%;
    height: 100%;
}

#portfolio img {
    width: 35%;
    display: block;
}

#portfolio .estilo-galeria {
  width: 35%;
  height: 330px;
  position: absolute;
  top:0;
  background-color: rgba(240,230,140, .6); //Cor com transparencia
  color: #2F4F4F;
  text-align: center;
  line-height: 320px; //alinhamento vertical
  font-weight: bold;
  font-size: 2em;
  font-family: sans-serif;
  display: none;
}

Eu tentei com hover e focus pelo CSS mas não consegui. Acredito que tenha algum jeito de fazer apenas com CSS usando hover e também transform eanimate para dar os efeitos como o do site de referência.

Olá Willian tudo bem, muito obrigado por sua ajuda.

Mas um amigo meu que manja bastante também, me ajudou a fazer usando só css, qualquer coisa da uma olhada no codepen que mandei caso você quiser ver heheheh

um obrigado ao André Machado por ter tentado me ajudar hehehehe

Legal Marcos, apenas com CSS fica bacana. O problema estava em usar display: none;, provavelmente essa propriedade desabilita o hover. Nem cheguei a pensar em usar opacity: 0-1 haha.

Bons estudos!

realmente a solução era essa, mesmo assim obrigado pela força. preciso estudar javascript também, pretendo começar em breve o curso aqui, um abraço!