CSS lightbox

by kmturley

HTML

<div class="overlay">
    <div class="t">
        <div class="tc">
            <div class="content">
                <img src="http://4.bp.blogspot.com/-NXrzbu1wytc/T5K-DTimIqI/AAAAAAAAAN4/UxGd9VYfK6c/s640/peaceful+landscape+wallpaper.jpg" alt="" />
                <p>Check it at different sizes to see how it works</p>
            </div>
        </div>
    </div>
</div>
<div class="page toblur blur">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae quam in enim volutpat pulvinar.</p>
    <p>Lorem ipsum dolor...

CSS

html,
body {
    margin: 0;
    height: 100%;
    overflow: hidden;
    background-color: #ccc;
}

/* overlay */

.overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 5;
    overflow: auto;
}

.overlay .t {
    margin: auto;
    display: table;
    width: 100%;
    height: 100%;
}

.overlay .tc {
    display: table-cell;
    vertical-align: middle;
    padding: 2rem;
}

.overlay .content {
    max-width: 680px;
    margin: 0 auto;
    padding: 1rem;
    background-color: #fff;
}

.overlay .content img {
    width: 100%;
}

.page {
    padding: 20px;
}

/* blur */

.toblur {
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -o-filter: blur(0px);
    -ms-filter: blur(0px);
    filter: blur(0px);
    -webkit-transition: all ease-out 0.2s;
    -moz-transition: all ease-out 0.2s;
    -o-transition: all ease-out 0.2s;
    -ms-transition: all ease-out 0.2s;
    transition: all ease-out 0.2s;
}

.blur {
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
}