CMS Grid

Plugins, Templates etc

by marusti

HTML

<div class="flexcontainer">
  <div class="flexitem">
         <div class="overlay">
    <div class="text">Hello World</div>
  </div>
  </div>
  <div class="flexitem">2</div>
  <div class="flexitem">3</div>
  <div class="flexitem">4</div>
  <div class="flexitem">5</div>
  <div class="flexitem">6</div>
</div>

CSS

.flexcontainer {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-content: flex-end;
  align-content: flex-end;
}

.flexitem {
  padding: 5px;
  width: 200px;
  height: 150px;
  border: 1px solid #000;
  margin: 5px;
}

/* Container needed to position the overlay. Adjust the width as needed */
.flexitem {
  position: relative;
  /*width: 50%;*/
}

/* The overlay effect (full height and width) - lays on top of the container and over the image */
.overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #008CBA;
  overflow: hidden;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: .3s ease;
}

/* When you mouse over the container, the overlay text will "zoom" in display */
.flexitem:hover .overlay {
  transform: scale(1);
}

/* Some text inside the overlay, which is positioned in the middle vertically and horizontally */
.text {
  color: white;
  font-size: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}