> 웹 프론트엔드 > CSS 튜토리얼 > 겹치는 Flex 항목을 달성하는 방법: 축소 요소를 극복하고 우아한 겹침을 구현합니까?

겹치는 Flex 항목을 달성하는 방법: 축소 요소를 극복하고 우아한 겹침을 구현합니까?

Barbara Streisand
풀어 주다: 2024-10-31 11:47:02
원래의
313명이 탐색했습니다.

How to Achieve Overlapping Flex Items: Overcoming Shrinking Elements and Implementing Graceful Overlaps?

Flex 항목 겹치기

Flexbox를 사용하여 가로로 겹치는 일련의 요소를 만드는 것은 요소의 크기가 줄어들 수 있으므로 어려울 수 있습니다. . 문제를 자세히 조사하고 해결책을 찾아보겠습니다.

아래 제공된 예는 문제를 보여줍니다.

<code class="css">.cards {
  display: flex;
  max-width: 300px;
}

.card {
  width: 50px;
  height: 90px;
  border: 1px solid black;
  border-radius: 3px;
  background-color: rgba(255, 0, 0, 0.4);
}</code>
로그인 후 복사
<code class="html"><div class='cards'>
  <div class='card'></div>
  <div class='card'></div>
  <div class='card'></div>
  <div class='card'></div>
  <div class='card'></div>
  <div class='card'></div>
  <div class='card'></div>
  <div class='card'></div>
  <div class='card'></div>
</div></code>
로그인 후 복사

이 예에서는 카드가 최대 너비에 맞게 축소됩니다. 제약으로 인해 원하지 않는 결과가 발생합니다. 이 문제를 해결하려면 수정된 접근 방식을 채택해 보겠습니다.

<code class="css">.cards {
  display: flex;
  align-content: center;
  max-width: 35em;
}

.cardWrapper {
  overflow: hidden;
}

.cardWrapper:last-child, .cardWrapper:hover {
    overflow: visible;
}

.card {
    width: 10em;
    min-width: 10em;
    height: 6em;
    border-radius: 0.5em;
    border: solid #666 1px;
    background-color: #ccc;
    padding: 0.25em;
  
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}</code>
로그인 후 복사
<code class="html"><div class="cards">
  <div class="cardWrapper">
    <div class="card">card 1 blah blah blah</div>
  </div>
  <div class="cardWrapper">
    <div class="card">card 2 blah blah blah</div>
  </div>
  <div class="cardWrapper">
    <div class="card">card 3 blah blah blah</div>
  </div>
  <div class="cardWrapper">
    <div class="card">card 4 blah blah blah</div>
  </div>
  <div class="cardWrapper">
    <div class="card">card 5 blah blah blah</div>
  </div>
</div></code>
로그인 후 복사

이 수정된 솔루션에서는 각 카드 주위에 래퍼(cardWrapper)를 도입합니다. 래퍼는 컨테이너 역할을 하며 해당 콘텐츠의 오버플로 동작을 제어합니다. 기본적으로 래퍼는 숨겨져 있지만 마지막 래퍼와 마우스를 올려 놓은 모든 래퍼가 표시되므로 필요한 경우 카드가 겹칠 수 있습니다. 이 접근 방식을 사용하면 카드가 원하는 크기를 유지하고 우아하게 겹쳐질 수 있습니다.

위 내용은 겹치는 Flex 항목을 달성하는 방법: 축소 요소를 극복하고 우아한 겹침을 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿