상자 그림자가 있는 여러 겹치는 이미지에 대한 CSS (CSS for multiple overlapping images with box shadow)


문제 설명

상자 그림자가 있는 여러 겹치는 이미지에 대한 CSS (CSS for multiple overlapping images with box shadow)

3개의 이미지가 겹쳐서 아래 이미지와 똑같이 보이도록 하려고 합니다. 상자 그림자가 있는 스타일을 복제할 수 없는 것 같으며 내 이미지가 선으로 나타납니다.

여기에 이미지 설명 입력

HTML

<div class="container">
            <div class="image">
                <a href=""><img src="https://picsum.photos/280/280/"/></a>
                <div class="overlay"><img src="https://picsum.photos/280/280/?random"/></div>
            </div>
            <div class="image">
                <a href=""><img src="https://picsum.photos/280/280/"/></a>
                <div class="overlay"><img src="https://picsum.photos/280/280/?random"/></div>
            </div>
            <div class="image">
                <a href=""><img src="https://picsum.photos/280/280/"/></a>
                <div class="overlay"><img src="https://picsum.photos/280/280/?random"/></div>
            </div>
        </div>

CSS

    .container {
            max‑width: 940px;
            font‑size: 0;
        }
        .image {
            display: inline‑block;
            position: relative;
            margin: 1%;
            width: 31.3%;
        }
         .image img { 
            height: auto;
            width: 100%; 
        }
        .overlay {
            position: absolute;
            width: 100%;
            bottom: 0;
            opacity: 0;
            transition: all 0.5s ease;
        }
        .overlay:hover {
            opacity: 1;
        }
        .overlay img{
            height: auto;
            width: 100%;
        }

참조 솔루션

방법 1:

You can play with your margin values. auto on either or both sides (and you can add a percentage on the opposite side to avoid "perfect" positions), and negative margin‑top for .image + .image to pull them upwards and overlap.

.container {
            max‑width: 940px;
            font‑size: 0;
        }
        .image {
            display: block;
            position: relative;
            width: 62.6%;
        }
        .image:nth‑child(1) {
          margin‑right: auto;
          z‑index: 3;
        }
        .image:nth‑child(2) {
          margin‑left: auto;
          z‑index: 2;
        }
        .image:nth‑child(3) {
          margin‑left: auto;
          margin‑right: auto;
          z‑index: 1;
        }
        .image + .image {
          margin‑top: ‑15.65%;
        }
        .image img { 
            height: auto;
            width: 100%; 
        }
        .overlay {
            position: absolute;
            width: 100%;
            bottom: 0;
            opacity: 0;
            transition: all 0.5s ease;
        }
        .overlay:hover {
            opacity: 1;
        }
        .overlay img{
            height: auto;
            width: 100%;
        }
<div class="container">
            <div class="image">
                <a href=""><img src="https://picsum.photos/280/280/"/></a>
                <div class="overlay"><img src="https://picsum.photos/280/280/?random"/></div>
            </div>
            <div class="image">
                <a href=""><img src="https://picsum.photos/280/280/"/></a>
                <div class="overlay"><img src="https://picsum.photos/280/280/?random"/></div>
            </div>
            <div class="image">
                <a href=""><img src="https://picsum.photos/280/280/"/></a>
                <div class="overlay"><img src="https://picsum.photos/280/280/?random"/></div>
            </div>
        </div>

I changed the width value to make this work with your example.

You'll notice I've used :nth‑child to target each box individually, you could of course use something else. Also note the use of z‑index to make sure each box is above the following one. If you want boxes to be layered above the previous one, you can remove the z‑index as the document order will be the default order.

I'll let you handle the styling of the boxes, this should get you where you need.

(by condo1234chriskirknielsen)

참조 문서

  1. CSS for multiple overlapping images with box shadow (CC BY‑SA 2.5/3.0/4.0)

#SASS #css #css-selectors






관련 질문

나침반 SCSS 글꼴 URL 구성 문제 (Compass SCSS font-url configuration issue)

SASS: normalize.css가 작동하지만 컴파일된 CSS 파일에 표시되지 않습니까? (SASS: normalize.css works, but does not show up in compiled CSS file?)

CSS zurb 기초 및 dhtmlx (CSS zurb foundation and dhtmlx)

_settings.scss의 변수는 주석 처리되지 않은 상태로 컴파일됩니다. (Variables in _settings.scss are compiled as uncommented)

Grunt 및 Compass와 함께 node-normalize-scss 사용 (Using node-normalize-scss with Grunt and Compass)

부트스트랩이 있는 루프를 사용하여 여러 이벤트 추가 (Using a loop with bootstrap to add multiple events)

특정 파일에 대한 앵귤러 로더 재정의 (Override angular loaders for specific files)

상자 그림자가 있는 여러 겹치는 이미지에 대한 CSS (CSS for multiple overlapping images with box shadow)

중앙에 div를 만든 후 div를 만듭니다. (Make a div, after centered div)

소품과 값 사이에 공백을 적용하기 위한 Sass linting 규칙이 VS Code에서 잘못 작동합니까? (Is the Sass linting rule for enforcing a space between the prop and value working incorrectly with VS Code?)

Next.js를 사용하는 scss의 클래스 이름 규칙 (Class names convention for scss using Next.js)

새 프로젝트를 만드는 동안 Angular CLI에서 sass를 선택했습니다. 이제 sc로 변경하고 싶습니다. 어떻게 할 수 있습니까? (I chose sass in angular CLI while i was creating the new project. i want to change it to scss now. how can i do that?)







코멘트