CSSで作る写真が重なったようにみえるフレーム
CSSで2枚の写真が重なったようにみえるフレームを作ったのでメモします。
サンプルページ
.frameImage {
width: 290px;
height: 290px;
-webkit-transform: rotate(-2deg);
-moz-transform: rotate(-2deg);
}
.frame {
display: inline-block;
-webkit-transform: rotate(-2deg);
-moz-transform: rotate(-2deg);
position: relative;
width: 289px;
height: 289px;
margin: 18px 0 0 20px;
padding: 10px 0 0 10px;
float: left;
}
.frame:before {
position: absolute;
display: block;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 7px;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
background: #fff;
z-index: -1;
}
.frame:after {
position: absolute;
display: block;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 7px;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(-2deg); /* 回転させる */
-moz-transform: rotate(-2deg);
background: #fff;
z-index: -1;
}
作るポイント
- box-shadow
- transform
- :before , :afterなどの疑似クラス
- ベンダープリフィックス(今回はtransformのみ)
参考にしたサイト
今回はこちらのサイトを参考にして制作しました。
CSS3を使ってできる画像まわりのエフェクトやスタイリング18 | Webロケッツマガジン