Overlay

Simple css based overlay

by vikikamath

HTML

<div class="container">
    <div class="inner">
      <div class="content">
        This is Overlay
      </div>
    </div>
</div>

<button>
  Toggle
</button>

CSS

.container {
  background: red;
  position: relative;
  width: 400px;
  height: 300px;
}

.inner {
  display: none
}
.inner.overlay {
  display: block;
  background-color: white;
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.content {
  color: gray;
  padding: 1rem;
  text-align: center;
}

JavaScript

var button = document.querySelector('button');
var inner = document.querySelector('.inner');
var overlay = false

button.addEventListener('click', function(e) {
	overlay = !overlay;
  
  if (overlay) {
  	inner.addClass('overlay')
  } else {
  	inner.removeClass('overlay')
  }
})