<section class="intro">
      <div class="left">
        <div>
          <span>Explore</span>
          <h1>The Places Where You Will</h1>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eos eveniet amet excepturi voluptates dolorem totam ad quod hic, porro accusamus, repellat, corrupti at obcaecati ducimus, dolor quibusdam sequi nemo inventore?</p>
          <a href="https://unsplash.com/" target="_blank">Images by Unsplash</a>
        </div>
      </div>

      <div class="slider">
        <ul>
          <li style="background-image:url(https://images.unsplash.com/photo-1458640904116-093b74971de9?crop=entropy&fit=crop&fm=jpg&h=675&ixjsv=2.1.0&ixlib=rb-0.3.5&q=80&w=1375)">
            <div class="center-y">
              <h3>Slider Title #1</h3>
              <a href="#">View Project</a>	
            </div>
          </li>
          <li style="background-image:url(https://images.unsplash.com/photo-1451906278231-17b8ff0a8880?crop=entropy&fit=crop&fm=jpg&h=675&ixjsv=2.1.0&ixlib=rb-0.3.5&q=80&w=1375)">
            <div class="center-y">
              <h3>Slider Title #2</h3>
              <a href="#">View Project</a>	
            </div>
          </li>
          <li style="background-image:url(https://images.unsplash.com/photo-1456428199391-a3b1cb5e93ab?crop=entropy&fit=crop&fm=jpg&h=675&ixjsv=2.1.0&ixlib=rb-0.3.5&q=80&w=1375)">
            <div class="center-y">
              <h3>Slider Title #3</h3>
              <a href="#">View Project</a>	
            </div>
          </li>
        </ul>

        <ul>
          <nav>
            <a href="#"></a>
            <a href="#"></a>
            <a href="#"></a>
          </nav>
        </ul>
      </div>
	</section>
@import url(https://fonts.googleapis.com/css?family=Playfair+Display:400,400italic);
* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
html {
	font-size: calc(5px + 0.4vw);
}
body {
  font-family: 'Playfair Display', serif;
}
a {
	text-decoration: none;
}
.intro {
	position: relative;
	width: 100%;
	height: 100vh;
}
.left {
	float: left;
	height: 100%;
	width: 60%;
	padding: 3rem 3rem 3rem 5rem;
	display: table;
}
.left > div {
	display: table-cell;
	vertical-align: middle;
}
span {
  color: #E8CA2B;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 2px;
  display: inline-block;
  text-transform: uppercase;
  font-family: sans-serif;
  margin-bottom: 4rem;
}
h1 {
	font-size: 8rem;
	margin-bottom: 3rem;
}
h1 + p {
  color: #949494;
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
p + a {
  font-size: 1.6rem;
  color: #000;
}
.slider {
	float: right;
	position: relative;
	width: 40%;
	height: 100%;
}
.slider li {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	transition: clip .7s ease-in-out, z-index 0s .7s;
	clip: rect(0, 100vw, 100vh, 100vw);
	display: table;
}
.center-y {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	color: #fff;
}
h3 {
	font-size: 5rem;
	font-style: italic;
}
h3 + a {
	font-size: 1.6rem;
	display: inline-block;
	color: #fff;
	margin-top: 2rem;
}
h3, h3 + a {
	opacity: 0;
	transition: opacity .7s 0s, transform .5s .2s;
	transform: translate3d(0, 50%, 0);
}
li.current h3, li.current h3 + a {
	opacity: 1;
	transition-delay: 1s;
	transform: translate3d(0, 0, 0);
}
li.current {
	z-index: 1;
	clip: rect(0, 100vw, 100vh, 0);
}
li.prev {
	clip: rect(0, 0, 100vh, 0);
}
.slider nav {
	position: absolute;
	bottom: 5%;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 10;
}
nav a {
	display: inline-block;
	border-radius: 50%;
	width: 1.2rem;
	height: 1.2rem;
  min-width: 12px;
  min-height: 12px;
	background: #fff;
	margin: 0 1rem;
  transition: transform .3s;
}
a.current_dot {
	transform: scale(1.4);
}
@media screen and (max-width: 700px) {
	.left {
		width: 100%;
		height: 30%;
	}
	.slider {
		width: 100%;
		height: 70%;
	}
}
{
	class SliderClip {
		constructor(el) {
			this.el = el;
			this.Slides = Array.from(this.el.querySelectorAll('li'));
			this.Nav = Array.from(this.el.querySelectorAll('nav a'));
			this.totalSlides = this.Slides.length;
			this.current = 0;
			this.autoPlay = true; //true or false
			this.timeTrans = 4000; //transition time in milliseconds
			this.IndexElements = [];

			for(let i=0;i<this.totalSlides;i++) {
				this.IndexElements.push(i);
			}

			this.setCurret();
			this.initEvents();
		}
		setCurret() {
			this.Slides[this.current].classList.add('current');
			this.Nav[this.current].classList.add('current_dot');
		}
		initEvents() {
			const self = this;

			this.Nav.forEach((dot) => {
				dot.addEventListener('click', (ele) => {
					ele.preventDefault();
					this.changeSlide(this.Nav.indexOf(dot));
				})
			})

			this.el.addEventListener('mouseenter', () => self.autoPlay = false);
			this.el.addEventListener('mouseleave', () => self.autoPlay = true);

			setInterval(function() {
				if (self.autoPlay) {
					self.current = self.current < self.Slides.length-1 ? self.current + 1 : 0;
					self.changeSlide(self.current);
				}
			}, this.timeTrans);

		}
		changeSlide(index) {

			this.Nav.forEach((allDot) => allDot.classList.remove('current_dot'));

			this.Slides.forEach((allSlides) => allSlides.classList.remove('prev', 'current'));

			const getAllPrev = value => value < index;

			const prevElements = this.IndexElements.filter(getAllPrev);

			prevElements.forEach((indexPrevEle) => this.Slides[indexPrevEle].classList.add('prev'));

			this.Slides[index].classList.add('current');
			this.Nav[index].classList.add('current_dot');
		}
	}

	const slider = new SliderClip(document.querySelector('.slider'));
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.