In this post, we have a thumbmail that is normally purple. In hover mode, a small title is displayed. There are two buttons below this title. One of the buttons is made of glass and the other has a white background. Also, the thumbnail image below is slightly zoomed out and displayed in the original color. There is also a fixed title at the top of the image with a black background.


HTML
<!-- This script got from www.devanswer.com -->
<section>
  <h2>Thumbnail gallery</h2>
  <p>Hover over each image :D</p>
  <div class="gallery">
    <figure>
      <img src="http://devanswer.com/img/sea500x500.jpg">
      <figcaption>
        <h3>Random Image</h3>
        <div class="additional">
          <p>Things go here</p>
          <a href="#">Click Me!</a>
          <a href="#">Click Me also!</a>
        </div>
      </figcaption>
    </figure>
        <figure>
      <img src="http://devanswer.com/img/sea500x500.jpg">
      <figcaption>
        <h3>Random Image</h3>
        <div class="additional">
          <p>Things go here</p>
          <a href="#">Click Me!</a>
          <a href="#">Click Me also!</a>
        </div>
      </figcaption>
    </figure>
        <figure>
      <img src="http://devanswer.com/img/sea500x500.jpg">
      <figcaption>
        <h3>Random Image</h3>
        <div class="additional">
          <p>Things go here</p>
          <a href="#">Click Me!</a>
          <a href="#">Click Me also!</a>
        </div>
      </figcaption>
    </figure>
        <figure>
      <img src="http://devanswer.com/img/sea500x500.jpg">
      <figcaption>
        <h3>Random Image</h3>
        <div class="additional">
          <p>Things go here</p>
          <a href="#">Click Me!</a>
          <a href="#">Click Me also!</a>
        </div>
      </figcaption>
    </figure>
  </div>
</section><div id="bcl"><a style="font-size:8pt;text-decoration:none;" href="http://www.devanswer.com">Developers Answer</a></div>
                        

CSS
@import url("https://fonts.googleapis.com/css?family=Montserrat");
body {
  font-family: "Montserrat";
}
section {
  padding: 1em;
}
section h2 {
  font-size: 2em;
  margin-bottom: 0;
}
section p {
  font-size: 1.3em;
  margin: 0 0 2em 0;
}
section .gallery {
  display: grid;
  grid-template-columns: repeat(4, auto);
}
section .gallery figure {
  margin: 3px;
  overflow: hidden;
  position: relative;
  background-color: blue;
  transition: background-color 0.5s;
}
section .gallery figure:hover {
  background: black;
}
section .gallery figure:hover:hover img {
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 0.4;
}
section .gallery figure:hover:hover .additional {
  opacity: 1;
  transform: scale(1);
}
section .gallery figure:first-child {
  margin-left: 0;
}
section .gallery figure img {
  width: calc(100% + 60px);
  opacity: 0.7;
  transform: translate3d(0, -20px, 0) scale(1.12);
  transition: all 0.5s;
}
section .gallery figure figcaption {
  position: absolute;
  padding: 1em 2em;
  top: 0;
  left: 0;
  right: 0;
  color: white;
  text-align: center;
}
section .gallery figure figcaption h3 {
  font-weight: bold;
  font-size: 1.2em;
  text-transform: uppercase;
  background: black;
  display: inline-block;
  padding: 0.5em 0.7em;
}
section .gallery figure figcaption .additional {
  opacity: 0;
  transform: scale(1.3);
  transition: all 0.5s;
}
section .gallery figure figcaption .additional p {
  margin-bottom: 20px;
  margin-top: 20px;
}
section .gallery figure figcaption .additional a {
  display: inline-block;
  background: white;
  text-decoration: none;
  text-transform: uppercase;
  padding: 0.5em;
  font-weight: bold;
  color: black;
  border-radius: 4px;
}
section .gallery figure figcaption .additional a:hover {
  background-color: #c8c8c8;
}
section .gallery figure figcaption .additional a:last-child {
  background: none;
  border: 1px solid white;
  color: white;
  margin-left: 5px;
  margin-top: 10px;
}
section .gallery figure figcaption .additional a:last-child:hover {
  background: white;
  color: black;
}