CSS에서 수직 정렬 속성은 포함 요소 내의 인라인 수준 요소 또는 테이블 셀의 수직 정렬을 제어합니다. 이는 텍스트 줄의 일부이거나 인라인 블록 또는 테이블 셀로 표시되는 요소에 적용됩니다.
'vertical-align' 속성은 일반적으로 이미지, 텍스트와 같은 인라인 요소 또는 텍스트 줄 내의 인라인 블록 요소에 사용됩니다. 블록 수준 요소에는 직접 적용되지 않습니다. 그러나 Flexbox나 위치 지정과 같은 기술을 사용하여 수직으로 정렬할 수 있습니다.
통사론:
수직 정렬 속성의 기본 구문은 다음과 같습니다.
selector { vertical-align: value; }
'값'은 다음 옵션 중 하나일 수 있습니다.
rhel 대 센토스
참고: '수직 정렬'은 요소 유형과 사용되는 컨텍스트에 따라 특정 동작을 가지므로 그 효과가 항상 간단하지는 않을 수 있습니다. 인라인 요소를 텍스트 또는 기타 인라인 요소와 정렬하는 데 특히 유용합니다.
예
다음은 CSS의 'vertical-align' 속성과 관련된 몇 가지 자세한 내용과 예입니다.
1. 기준선 정렬:
기준선 기타 텍스트
2. 아래 첨자와 위 첨자:
시간2O는 물이다. 엑스2+ 및2= r2
3. 상단 및 하단 정렬:
위쪽 정렬 하단 정렬
4. 중간 정렬:
데이터베이스의 정규화
이 아이콘은 세로 중앙에 있습니다.
5. 텍스트 상단 및 텍스트 하단 정렬:
텍스트 상단 정렬 텍스트 하단 정렬
6. 백분율 정렬:
수직 정렬과 함께 백분율 값을 사용하면 요소를 특정 선 높이 백분율로 수직으로 정렬할 수 있습니다. 예를 들어, 수직 정렬: 50%는 요소를 줄 높이의 절반에 중앙에 배치합니다.
수직 중앙에 위치
7. 블록 수준 요소의 수직 중심 맞추기:
블록 수준 요소를 상위 요소 내부에 수직으로 중앙에 배치하려면 Flexbox 또는 그리드 레이아웃을 사용할 수 있습니다.
Flexbox example: html Vertically Centered css .parent { display: flex; justify-content: center; align-items: center; height: 200px; /* Set the desired container height */ }
8. 요소 높이를 알 수 없는 수직 센터링:
수직으로 중앙에 배치하려는 요소의 높이를 모르는 경우 위치와 변환을 조합하여 사용할 수 있습니다.
html Vertically Centered (Unknown Height) CSS .parent { position: relative; height: 200px; /* Set the desired container height */ } .child { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
9. 여러 줄의 텍스트를 사용한 세로 중심 맞추기:
컨테이너 내에서 여러 줄의 텍스트를 수직으로 중앙에 배치하려면 Flexbox와 의사 요소의 조합을 사용할 수 있습니다.
html Multi-line <br>Vertically Centered Text CSS .parent { display: flex; align-items: center; height: 200px; /* Set the desired container height */ } .child { flex: 1; text-align: center; } .child::before { content: ''; display: inline-block; vertical-align: middle; height: 100%; }
10. 종횡비가 다른 컨테이너 내 이미지의 수직 중심 맞추기:
명세서 범위
컨테이너 내에서 중앙에 배치하려는 다양한 종횡비의 이미지가 있는 경우 Flexbox와 object-fit의 조합을 사용할 수 있습니다.
HTML:
<img src="//techcodeview.com/img/css-tutorial/72/vertical-align-css.webp" alt="Image 1"> <img src="//techcodeview.com/img/css-tutorial/72/vertical-align-css.webp" alt="Image 2">
CSS:
.parent { display: flex; align-items: center; justify-content: center; height: 200px; /* Set the desired container height */ } img { object-fit: contain; max-height: 100%; }
11. 수직 정렬과 줄 높이 결합:
수직 정렬 속성을 line-height 속성과 결합하여 특히 더 큰 글꼴 크기의 경우 더욱 정확한 수직 정렬을 달성할 수 있습니다.
.element { font-size: 24px; line-height: 1.5; vertical-align: middle; }
12. 정렬을 위한 디스플레이 속성 사용:
수직 정렬은 주로 인라인 수준 요소에서 작동하지만 특정 컨텍스트 내에서 블록 수준 요소에 대한 수직 정렬을 달성하도록 표시 속성을 변경할 수 있습니다.
.container { display: table-cell; vertical-align: middle; }
13. 테이블의 수직 정렬:
수직 정렬 속성은 테이블 셀(
td { vertical-align: middle; }
14. 인라인 블록 요소 정렬:
수직 정렬을 사용하여 텍스트 줄 내에서 인라인 블록 요소(예: 텍스트 옆의 아이콘)를 정렬할 수 있습니다.
<span>⭐</span> Star Rating .icon { vertical-align: middle; font-size: 24px; }
이는 다양한 시나리오에서 수직 정렬을 처리하는 몇 가지 예일 뿐입니다. 특정 레이아웃 및 요구 사항에 따라 원하는 결과를 얻기 위해 이러한 기술을 조정하거나 결합해야 할 수도 있습니다. CSS는 다양한 상황에서 수직 정렬을 효과적으로 처리할 수 있는 다양한 도구를 제공합니다.
수직 정렬 속성에는 용도가 있지만 모든 정렬 시나리오, 특히 블록 수준 요소에 대한 보다 포괄적인 솔루션이 존재한다는 점을 기억하십시오. 보다 복잡한 레이아웃 및 정렬 요구 사항의 경우 원하는 결과를 보다 효과적이고 예측 가능하게 얻으려면 Flexbox, CSS Grid 또는 CSS 위치 값(예: 절대 및 상대)과 같은 최신 CSS 레이아웃 기술을 탐색하는 것이 좋습니다.
'수직 정렬'은 인라인 수준 요소나 테이블 셀에만 영향을 미친다는 점을 기억하세요. Flexbox, 그리드 레이아웃 또는 위치 지정과 같은 기술을 사용하여 블록 수준 요소를 수직으로 정렬합니다.
몇 가지 추가 예
table, th, td{ border: 2px solid red; border-collapse: collapse; font-size: 20px; } #super{ vertical-align: super; } #sub{ vertical-align: sub; } <table class="table"> <td>baseline</td> <td>middle</td> <td>bottom</td> <td>top</td> <td>Hi, Welcome to the javaTpoint.com. This site is developed so that students may learn computer science related technologies easily. The javaTpoint.com is always providing an easy and in-depth tutorial on various technologies. </td> </table> <h2> Use of super and sub values </h2> <h3>Using super value: x<span id="super">2</span>+ y<span id="super">2</span> = r<span id="super">2</span></h3> <h3> Chemical formula of Water by using sub value: H<span id="sub">2</span>O</h3>지금 테스트해보세요
산출
이제 텍스트를 이미지와 정렬하는 또 다른 예가 있습니다.
예
div{ font-size: 20px; border: 2px solid red; } img{ width:150px; height: 100px; } img.top { vertical-align: text-top; } img.bottom { vertical-align: text-bottom; } img.middle { vertical-align: middle; } An <img src="//techcodeview.com/img/css-tutorial/72/vertical-align-css-2.webp"> image with a default alignment. An <img src="//techcodeview.com/img/css-tutorial/72/vertical-align-css-2.webp" alt> image with a text-bottom alignment. An <img src="//techcodeview.com/img/css-tutorial/72/vertical-align-css-2.webp" alt> image with a middle alignment. An <img src="//techcodeview.com/img/css-tutorial/72/vertical-align-css-2.webp" alt> image with a text-top alignment.지금 테스트해보세요
산출
CSS에서 수직 정렬의 장점
CSS에서 수직 정렬의 단점
전반적으로 수직 정렬 속성은 텍스트 줄 내에서 인라인 요소나 표 셀을 정렬하는 데 유용하지만 개발자는 특히 블록 수준 요소나 복잡한 레이아웃을 처리할 때 고급 레이아웃 및 위치 지정 요구 사항을 위해 다른 CSS 기술이 필요한 경우가 많습니다. CSS Flexbox와 CSS Grid는 더 광범위한 정렬 및 위치 지정 제어를 위한 강력한 대안입니다.
마두리가 말했다.
결론
수직 정렬 속성은 텍스트 또는 표 셀 내의 인라인 요소를 정렬하는 데 유용합니다. 그러나 복잡한 레이아웃이나 블록 수준 요소에는 제한이 있으며 효과적으로 사용하기 어려울 수 있습니다. 개발자는 정렬 및 위치 지정에 대한 더 많은 제어력과 유연성을 제공하는 최신 CSS 레이아웃 기술을 고려해야 합니다.