>웹 프론트엔드 >CSS 튜토리얼 >`display: inline-block` 및 `position:absolute`를 사용할 때 컨테이너 축소를 처리하는 방법은 무엇입니까?

`display: inline-block` 및 `position:absolute`를 사용할 때 컨테이너 축소를 처리하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 14:04:02691검색

How to Handle Collapsing Containers When Using `display: inline-block` and `position: absolute`?

디스플레이와 위치가 혼합된 위치 요소

CSS에서 display:inline-block과 position:absolute를 조합하면 예기치 않은 동작이 발생할 수 있습니다. . 요소가 절대적으로 배치되면 일반적인 콘텐츠 흐름에서 제거된 것처럼 동작하며 포함된 요소는 높이를 인식하지 못합니다.

인라인 대 절대 ​​위치

display:inline-block을 사용하면 요소가 다른 요소와 함께 수평으로 흐를 수 있으며, position:absolute는 흐름에서 요소를 제거하고 위쪽, 아래쪽, 왼쪽, 오른쪽 속성에 따라 위치를 지정합니다.

절대 위치 문제

제공된 코드에서 position:absolute 요소(.element-right-b)는 이를 흐름에서 제거하고 전체 높이 계산 시 고려 대상에서 제외합니다. .section 컨테이너. 결과적으로 컨테이너에는 고유 높이가 없으며 0으로 축소됩니다.

해결 방법

  1. 컨테이너 높이 설정: If position :absolute는 필수입니다. 접히는 것을 방지하려면 .section 컨테이너의 높이를 수동으로 설정하세요.
  2. 대체 위치 옵션: 절대 위치 지정이 반드시 필요하지 않은 경우 대신 부동 소수점 또는 고정 사용을 고려하세요. . 두 가지 모두 레이아웃에 영향을 주지 않고 요소를 다른 요소에 상대적으로 배치할 수 있습니다.
  3. 패딩이 있는 인라인 블록: 고정 위치가 있는 여러 중첩 열의 경우 모든 중첩 요소의 표시를 표시하도록 설정합니다. :inline-block을 적용하고 후속 열에 왼쪽 패딩을 적용하여 원하는 들여쓰기 효과를 만듭니다.

중첩 열의 특정 예

고정된 중첩 열을 얻으려면 위치를 변경하려면 다음과 같이 CSS를 수정하세요.

<code class="css">.section span {
  display: inline-block;
}
.element-left {
  width: 200px;
}
.element-right {
  width: 100px;
}
.indent-1 {
  padding-left: 10px;
}
.indent-2 {
  padding-left: 20px;
}</code>

위 내용은 `display: inline-block` 및 `position:absolute`를 사용할 때 컨테이너 축소를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.