>웹 프론트엔드 >CSS 튜토리얼 >Flexbox 또는 절대 위치 지정을 사용하지 않고 어떻게 Div를 수직 중앙에 배치할 수 있습니까?

Flexbox 또는 절대 위치 지정을 사용하지 않고 어떻게 Div를 수직 중앙에 배치할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-30 17:42:15857검색

How Can I Vertically Center a Div Without Using Flexbox or Absolute Positioning?

Margin:Auto를 사용하여 Div를 수직으로 정렬

margin:auto를 사용하여 div를 수직으로 중앙에 배치할 수 없는 것은 해당 동작에 대한 오해에서 비롯된 것 같습니다. . 수평 정렬 기능과 달리 margin:auto auto를 적용해도 수직 정렬이 발생하지 않습니다. div 요소에.

Vertical-align:Middle이 실패하는 이유

Vertical-align:middle; div와 같은 블록 수준 요소에는 적합하지 않습니다. 이 속성은 포함 블록 내에서 수직으로 정렬되도록 강제되는 인라인 요소에 적용됩니다.

기타 잘못된 접근 방식

수직 정렬에 일반적으로 시도되는 여러 다른 방법도 효과가 없습니다. :

  • margin-top:auto; 및 margin-bottom:auto: 이러한 여백은 본질적으로 0으로 계산되어 수직 간격을 제공하지 않습니다.
  • margin-top:-50px: 백분율 기반 여백은 여백을 기준으로 간격을 결정합니다. 컨테이너의 너비가 아니라 컨테이너의 너비입니다. height.
  • transform:translateY(-50%): 이 CSS 변환은 가로 위치에만 영향을 미칩니다.

세로 정렬에 대한 해결 방법

여백을 사용한 세로 정렬은 이론적으로 불가능하지만 해결 방법은 다음과 같습니다. 존재:

  • 디스플레이:테이블:을 사용한 중첩 이 기술은 디스플레이:테이블과 함께 중첩된 요소를 사용합니다. 수직 중앙 정렬을 달성합니다.
  • Flexbox: 최신 브라우저는 수직 정렬에 대한 보다 간단한 접근 방식을 제공하는 Flexbox를 지원합니다.
  • 절대 위치 지정: 위치 div는 상위 항목 내에 절대적으로 포함되어 있고 변환:translateY(-50%)를 사용하여 수직을 조정합니다. 위치.

개발자는 제한 사항을 이해하고 대체 솔루션을 탐색함으로써 div를 효과적으로 수직으로 정렬하여 최적의 웹사이트 디자인을 보장할 수 있습니다.

위 내용은 Flexbox 또는 절대 위치 지정을 사용하지 않고 어떻게 Div를 수직 중앙에 배치할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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