Pure css carousel

example using CSS only

by kmturley

HTML

<div class="carousel">
    <div class="item slide-in" id="item1"><h1>Item 1</h1></div>
    <div class="item slide-in" id="item2"><h1>Item 2 has more</h1></div>
    <div class="item slide-in" id="item3"><h1>Item 3 is interesting</h1></div>
    <div class="controls">
        <a href="#item1" class="btn">•</a>
        <a href="#item2" class="btn">•</a>
        <a href="#item3" class="btn">•</a>
    </div>
</div>

CSS

html,
body {
    height: 100%;
}

body {
    margin: 0;
}

.carousel {
    position: relative;
    width: 100%;
    height: 100%;
}

.carousel .item {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: #ffcc00;
}

/* animations */

.carousel .slide-in {
    -webkit-transform: translate3d(-100%, 0px, 0px);
    -moz-transform: translate3d(-100%, 0px, 0px);
    -ms-transform: translate3d(-100%, 0px, 0px);
    -o-transform: translate(-100%, 0px, 0px);
    transform: translate3d(-100%, 0px, 0px);
    -webkit-transition: -webkit-transform 0.5s ease-out;
    -moz-transition: -moz-transform 0.5s ease-out;
    -ms-transition: -ms-transform 0.5s ease-out;
    -o-transition: -o-transform 0.5s ease-out;
    transition: transform 0.5s ease-out;
}

.carousel .slide-in:target {
    -webkit-transform: translate3d(0px, 0px, 0px);
    -moz-transform: translate3d(0px, 0px, 0px);
    -ms-transform: translate3d(0px, 0px, 0px);
    -o-transform: translate(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
}

.carousel .controls {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
}

.carousel .controls .btn {
    color: #333;
    font-size: 3em;
    text-decoration: none;
}