HTML
innerはむだな気がしますが、z-indexを制御する用に設置しています。
html
<div class="bg-scale">
<div class="inner">
<p>Background Scale Animation</p>
<a href="#" class="btn-more">Article</a>
</div>
</div>
CSS
背景画像をafter擬似要素に指定して重ねることで要素を拡大しても、文字などに影響がないようにします。
あとは「bg-scale」に「overflow: hidden;」を指定すればafterを拡大アニメーションしてもはみ出ないですね。
css
.bg-scale {
position: relative;
overflow: hidden;
text-align: center;
border-top: solid 1px #596456;
border-bottom: solid 1px #596456;
text-shadow: 0 0 12px #7b7a35;
padding: 60px 0;
}
.bg-scale:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url(bg.jpg) no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
}
.bg-scale:hover:after {
opacity: .8;
-moz-transform: scale(1.2);
-webkit-transform: scale(1.2);
-ms-transform: scale(1.2);
transform: scale(1.2);
}
.bg-scale .inner {
z-index: 1;
position: relative;
}


