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ロケッツマガジン