
1. 初期インデックス.html
最初の写真 (一番上の写真) を作成します。写真の画像を含む div を追加するだけです。これですべてです。残りの効果は CSS を通じて実現されます。 div のクラスが stackone であることを確認してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8" />
<meta name= "viewport" content= "width=device-width, initial-scale=1.0" />
<meta http-equiv= "X-UA-Compatible" content= "ie=edge" />
<title>Photo Stack</title>
<style>
* {
margin: 0;
padding: 0;
}
html,
body {
width: 100%;
height: 100%;
overflow: hidden;
}
.stackone {
--img-width: 480px;
--img-height: 320px;
border: 6px solid #fff;
float: left;
height: var (--img-height);
width: var (--img-width);
margin: 50px;
position: relative;
-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
.stackone img {
width: var (--img-width);
}
</style>
</head>
<body>
<div>
<img src= "/static/imghw/default1.png" data-src= "../../../assets/image/landscape-4378548_960_720.jpg" class = "lazy" / alt= "CSSで画像のスタッキング効果を実現する方法" >
</div>
</body>
</html>
|
ログイン後にコピー
最初の効果は次のとおりです:

(推奨チュートリアル: CSS 入門チュートリアル )
2. 最初の疑似要素
次に、ネガのレイヤーを追加します。私たちが望む効果は、下の画像が上の写真の下にあるように見えることです。これを実現するには、以前に CSS 疑似クラスを使用できます。
1 2 3 4 5 6 7 8 9 10 | .stackone::before {
content: "" ;
height: var (--img-height);
width: var (--img-width);
background: #eff4de;
border: 6px solid #fff;
-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
|
ログイン後にコピー
3. beforeを改善
to:beforeに位置を追加し、それを後ろに置くようにz-indexを設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | .stackone::before {
content: "" ;
height: var (--img-height);
width: var (--img-width);
background: #eff4de;
border: 6px solid #fff;
position: absolute;
z-index: -1;
top: 0px;
left: -10px;
-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(-5deg);
-moz-transform: rotate(-5deg);
-o-transform: rotate(-5deg);
-ms-transform: rotate(-5deg);
transform: rotate(-5deg);
}
|
ログイン後にコピー
4. 2 番目の疑似要素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | .stackone::after {
content: "" ;
height: var (--img-height);
width: var (--img-width);
background: lightblue;
border: 6px solid #fff;
position: absolute;
z-index: -1;
top: 5px;
left: 0px;
-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(4deg);
-moz-transform: rotate(4deg);
-o-transform: rotate(4deg);
-ms-transform: rotate(4deg);
transform: rotate(4deg);
}
|
ログイン後にコピー
全体像:

推奨される関連ビデオ チュートリアル: cssビデオチュートリアル
以上がCSSで画像のスタッキング効果を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。