>웹 프론트엔드 >CSS 튜토리얼 >CSS에서 그림 스태킹 효과를 얻는 방법

CSS에서 그림 스태킹 효과를 얻는 방법

王林
王林앞으로
2020-03-12 17:57:053873검색

CSS에서 그림 스태킹 효과를 얻는 방법

1. 초기 index.html

첫 번째 사진, 즉 맨 위에 있는 사진을 만듭니다. 사진의 img가 포함된 div를 추가하기만 하면 됩니다. 그게 다입니다. 나머지 효과는 CSS를 통해 달성됩니다. div의 클래스가 stackone인지 확인하세요.

<!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="../../../assets/image/landscape-4378548_960_720.jpg" / alt="CSS에서 그림 스태킹 효과를 얻는 방법" > 
  </div>  
 </body>
</html>

초기 효과는 다음과 같습니다.

CSS에서 그림 스태킹 효과를 얻는 방법

(권장 튜토리얼: CSS 소개 튜토리얼)

2. 첫 번째 의사 요소

이제 네거티브 레이어를 추가합니다. 우리가 원하는 효과는 하단 이미지가 상단 사진 아래에 나타나는 것입니다. 이를 달성하기 위해 CSS 의사 클래스: before를 사용할 수 있습니다.

.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 개선

:before에 일부 위치를 추가한 다음 z-index를 설정하여 뒤에 놓습니다.

.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. 두 번째 의사 요소

.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 비디오 튜토리얼

위 내용은 CSS에서 그림 스태킹 효과를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제