Home IT/WEB 중앙 정렬 하는 방법 (수평 중앙, 수직 중앙)

[CSS] 중앙 정렬 하는 방법 (수평 중앙, 수직 중앙)

웹 페이지를 디자인할 때, 중앙정렬은 매우 중요한 부분입니다. CSS를 이용하면 요소를 간단하게 중앙정렬할 수 있습니다. CSS를 이용해 DOM 요소를 수평, 수직적으로 중앙정렬하는 방법에 대해 알아보겠습니다.

수평 중앙 정렬

inline ad

CSS에서 요소를 수평으로 중앙에 배치하려면 다음 방법을 사용합니다.

1. margin

margin: 0 auto 는 수평 정렬을 할 때 사용하는 CSS 속성입니다. 이 속성은 수평으로 정렬된 블록 요소의 양쪽에 있는 마진(margin)의 크기를 자동으로 설정해주며 요소를 중앙정렬합니다.

margin: 0 auto의 수평 정렬은 블록 요소의 크기를 정해주어야 하며 요소의 크기가 화면의 크기보다 크면 중앙정렬이 제대로 되지 않을 수 있습니다. 이런 경우 블록 요소의 크기를 줄이거나 다른 방법으로 중앙정렬을 하는 것이 좋습니다.

.center-element {
  width: 50%;
  margin: 0 auto;
}

2. text-align

text-align 속성은 요소의 텍스트를 수평적으로 중앙정렬할 수 있는 속성입니다. 아래의 코드는 text-align 속성을 이용해 수평 중앙정렬하는 예시입니다.

.center-element {
  display: inline-block;
  text-align: center;
}

3. display: flex

display: flex 속성은 요소를 플렉스 컨테이너로 만듭니다. 플렉스 컨테이너는 자식 요소를 수평적으로 중앙정렬할 수 있도록 해줍니다. 아래의 코드는 플렉스 컨테이너를 생성하고, 자식 요소를 수평 중앙정렬하는 예시입니다.

.container {
  display: flex; 
  justify-content: center;
  align-items: center;
  height: 100vh;
}
.center-element {
  width: 50%;
}

수직 중앙 정렬

요소를 수직으로 중앙에 배치하려면 다음 방법을 사용할 수 있습니다.

1. display: flex

display: flex 속성을 사용하면 요소를 플렉스 컨테이너로 만들 수 있습니다. 플렉스 컨테이너에서는 align-items 속성으로 자식 요소를 수직적으로 중앙정렬할 수 있습니다. 아래의 코드는 플렉스 컨테이너를 생성하고, 자식 요소를 수직 중앙정렬하는 예시입니다.

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
.center-element {
  width: 50%;
}

2. display: table-cell

display: table-cell 속성을 사용하면, 요소를 테이블 셀처럼 만들 수 있습니다. 테이블 셀은 vertical-align 속성으로 수직적으로 중앙정렬할 수 있습니다. 아래의 코드는 display: table-cell 속성을 이용해 수직 중앙정렬하는 예시입니다.

.container {
  display: table;
  height: 100vh; 
  width: 100%;
}
.center-element {
  display: table-cell; 
  vertical-align: middle;
  text-align: center;
}

3. transform: translate

transform 속성을 사용하여 수직 중앙정렬을 할 수 있습니다. 이 속성에 translate 값을 주어서 요소의 위치를 조정할 수 있습니다.

위 예제에서 position 속성을 absolute로 설정하여 요소의 위치를 절대적으로 지정할 수 있도록 하였습니다. top 속성을 50%로 설정하여 요소의 상단 위치를 화면의 중앙에 맞추었습니다. 마찬가지로 left 속성도 50%로 설정하여 요소의 좌측 위치를 화면의 중앙에 맞추었습니다. 그리고 transform 속성에 translate(-50%, -50%) 값을 주어서 요소를 화면의 중앙에 정렬할 수 있도록 했습니다.

transform: translate의 수직 중앙정렬은 요소의 position 속성이 absolute로 설정되어야 합니다. 또한, top 속성과 left 속성의 값을 적절히 설정해야 합니다. 이 방법을 사용하면 요소를 화면의 중앙에 수직적으로 정렬할 수 있습니다.

.center-element {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

RECENT POSTS

[javascript]!! 연산자 not not 연산자

"!!" 연산자는 값을 boolean으로 형변환하는 데 사용됩니다. 이를 "not not" 연산자라고도 합니다. 이 연산자는 값을 true 또는 false로 간단히 변환하여 반환합니다. 예를 들어, JavaScript에서 다음과...

Youtube 오디오 라이브러리에서 가장 많이 사용하는 음악 TOP20 을 알려드립니다.

YouTube 오디오 라이브러리는 콘텐츠 제작자가 저작권 침해에 대한 걱정 없이 동영상에 사용할 수 있는 방대하고 다양한 무료 음악 및 음향 효과 라이브러리입니다. 아래 URL...

발각질 제거 크리썸 발각질 제거기로 매끈하게!

가을 겨울철 같이 건조해지는 계절이 되면 발뒤꿈치가 논바닥 갈라지듯 심하게 갈라집니다. 보습제만 발라오다가 발각질제거기를 사용해보면 어떨까 고민하던차에 이 제품을 접하게 되었습니다. 수동으로 되어 있는...

당신이 알아야 할 저작권 없는 최고의 무료 이미지 사이트 10개

1. Unsplash https://unsplash.com/ https://unsplash.com/ Unsplash는 무료로 사용할 수 있는 고품질 이미지 모음을 제공하는 인기 스톡 사진 사이트입니다. 라이브러리에 100만 개 이상의 이미지가 있는 Unsplash는 가장 큰 무료...