반응형
⭕ CSS | 중앙 정렬 : 수평 중앙 정렬, 수직 중앙 정렬
➡️ 수평 중앙 정렬
inline / inline-block 요소
- inline 또는 inline-block 요소는 텍스트의 흐름을 따라 배치됨
- 부모 요소가 block 요소인 경우 text-align: center; 속성을 설정함
.parent {
text-align: center;
}
.child {
display: inline-block; /* 또는 inline */
}
block 요소
- 일반적인 설정
- block 요소는 기본적으로 전체 가용 너비를 차지함
- width 속성을 설정하고, 좌우 마진을 auto로 지정함
.block {
width: 200px; /* 너비 지정 */
margin: 0 auto; /* 위 아래 마진 0, 좌우 마진 auto */
}
- 이미지 요소 설정
- inline 요소(베이스라인을 기준으로 공간을 차지함)로 취급되지만, display: block;을 설정함으로써 block 요소처럼 동작함
img {
display: block;
width: 200px;
margin: 0 auto;
}
Flex 속성 사용
- display: flex;와 flex-direction: center;을 설정하여 부모 요소를 flex 컨테이너로 설정함
.parent {
display: flex;
justify-content: center;
}
➡️ 수직 중앙 정렬
inline / inline-block 요소
- 한 줄의 요소
- block 요소처럼 다루기 위해 display: block;을 설정함
- 요소의 높이(height)와 줄 높이(line-height)를 동일하게 설정하여 텍스트를 수직 중앙으로 맞춤
- white-space: nowrap; 속성은 텍스트가 줄 바뀜 없이 한 줄로 표시되도록 함
.single-line {
display: block;
height: 100px;
line-height: 100px;
white-space: nowrap;
}
- 여러 줄의 요소
- 부모 요소를 **display: table;**로, 자식 요소를 display: table-cell;로 설정하여 테이블 셀처럼 작동하게 함
.center {
display: table;
}
.center span {
display: table-cell;
vertical-align: middle;
}
block 요소
- 자식 요소의 높이 고정
- 부모 요소에 position: relative;를, 자식 요소에 position: absolute; 및 top: 50%;를 설정함
- 자식 요소를 자신의 높이의 절반만큼 상단으로 이동시키기 위해, margin-top을 음수 값으로 설정함
.parent {
position: relative;
height: 300px; /* 필요에 따라 설정 */
}
.child {
position: absolute;
top: 50%;
height: 100px;
margin-top: -50px; /* 높이의 절반 */
}
- 자식 요소의 높이 auto
- 자식 요소의 실제 높이의 절반만큼 위로 이동시키기 위해. transform: translateY(-50%);를 사용함
.parent {
position: relative;
height: 300px; /* 필요에 따라 설정 */
}
.child {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
Flex 속성 사용
- display: flex;와 flex-direction: column;을 설정하여 부모 요소를 flex 컨테이너로 설정함
.parent {
display: flex;
height: 300px; /* 필요에 따라 설정 */
flex-direction: column;
justify-content: center;
}
반응형
'프론트엔드 > HTML & CSS & Javascript' 카테고리의 다른 글
웹 구조 Web | 웹 개발 시 주의할 점 (81) | 2024.05.16 |
---|---|
HTML | 헤더 섹션 설계 : 헤더 (<header> 태그), 내비게이션 링크 (<a href="/">) (80) | 2024.05.16 |
CSS | 요소 임시 삭제 (81) | 2024.05.16 |
CSS | CSS 초기화 (reset.css) (80) | 2024.05.16 |
HTML | 메타데이터 : 검색 최적화, 문자 인코딩, 모바일 반응성, 오픈 그래프(The Open Graph protocol) (81) | 2024.05.16 |
CSS | CSS 선택자 : 기본 선택자, 복합 선택자, 동작 기반 가상 클래스 선택자, 가상 클래스 선택자, 가상 요소 선택자, 속성 선택자 (80) | 2024.05.16 |
CSS | 요소(Element)와 클래스(Class)의 차이 (79) | 2024.05.16 |
자바스크립트 JavaScript | JavaScript 변수 선언: var, let, const의 차이점 및 호이스팅 (73) | 2024.05.14 |