> 웹 프론트엔드 > 프런트엔드 Q&A > 요소를 수직으로 중앙에 배치하는 방법

요소를 수직으로 중앙에 배치하는 방법

藏色散人
풀어 주다: 2020-07-02 11:03:46
원래의
2942명이 탐색했습니다.

요소를 수직으로 중앙에 배치하는 방법: 1. "line-height" 속성을 사용하여 단일 행 인라인 요소의 수직 중앙 정렬을 수행합니다. 2. 플렉스 레이아웃을 사용하여 수직 중앙 정렬을 수행합니다. 블록 수준 요소의 수직 중심화를 달성합니다.

요소를 수직으로 중앙에 배치하는 방법

세로 중심 맞추기

1. 한 줄 인라인 요소는 세로 중심에 있습니다.

<div id="box">
     <span>单行内联元素垂直居中。</span>。
</div>
<style>
 #box {
    height: 120px;
    line-height: 120px;
    border: 2px dashed #f69c55;
    }
</style>
로그인 후 복사

2 여러 줄 인라인 요소는 세로 중심에 있습니다.

①플렉스 레이아웃 사용(flex)

플렉스 레이아웃을 사용하세요. 수직 센터링을 달성합니다. 그 중 flex-direction: 컬럼은 주축 방향을 수직으로 정의합니다. 이 방법은 이전 브라우저와 호환성 문제가 있습니다.

<div class="parent">
    <p>Dance like nobody is watching, code like everybody is.    
    Dance like nobody is watching, code like everybody is.    
    Dance like nobody is watching, code like everybody is.</p>
</div>
<style>
    .parent { 
        height: 140px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        border: 2px dashed #f69c55;
    }
</style>
로그인 후 복사

요소를 수직으로 중앙에 배치하는 방법

②테이블 레이아웃 사용(테이블)

수직 정렬 사용: 테이블 레이아웃의 중간을 사용하여 하위 요소의 수직 중앙 정렬

<div class="parent">
    <p class="child">The more technology you learn, the more you realize how little you know.
    The more technology you learn, the more you realize how little you know.
    The more technology you learn, the more you realize how little you know.</p>
</div>
 <style>
    .parent {
        display: table;
        height: 140px;
        border: 2px dashed #f69c55;
    }
    .child {
        display: table-cell;
        vertical-align: middle;
    }
</style>
로그인 후 복사

3 블록 수준 요소가 수직 중앙에 정렬됨

①절대+음수 여백 사용(알려짐) 높이 너비)

이는 요소를 상단에서 50% 위치에 절대적으로 배치하고 margin-top을 설정하여 요소 높이의 절반을 위쪽으로 오프셋함으로써 달성할 수 있습니다.

<div class="parent">
    <div class="child">固定高度的块级元素垂直居中。</div>
</div>
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
height: 100px;
margin-top: -50px;
}
로그인 후 복사

②절대+변형 사용

세로 중앙에 배치된 요소의 높이와 너비를 알 수 없는 경우 CSS3의 변환 속성을 사용하여 Y축을 50% 오프셋하여 세로 중심에 배치할 수 있습니다. 그러나 일부 브라우저에는 호환성 문제가 있습니다.

<div class="parent">
    <div class="child">未知高度的块级元素垂直居中。</div>
</div>
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
로그인 후 복사

3flex+align-items를 사용하세요

flex 레이아웃에서 align-items 속성을 설정하여 하위 요소를 수직 중앙에 배치하세요.

<div class="parent">
    <div class="child">未知高度的块级元素垂直居中。</div>
</div>
.parent {
    display:flex;
    align-items:center;
}
로그인 후 복사

4table-cell+vertical-align 사용

부모 요소를 테이블 셀 표시로 변환( 및 와 유사)한 다음 수직 정렬 속성을 설정하여 테이블 셀을 만듭니다. 콘텐츠가 세로 중앙에 배치됩니다.

<div class="parent">
  <div class="child">Demo</div>
</div>
<style>
  .parent {
    display: table-cell;
    vertical-align: middle;
  }
</style>
로그인 후 복사

추천 학습: "프런트엔드 비디오"

위 내용은 요소를 수직으로 중앙에 배치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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