HelloMinchan
처음처럼
HelloMinchan
LinkedIn
전체 방문자
오늘
어제
  • 분류 전체보기 (306)
    • Backend (4)
      • NestJS (1)
      • Express (1)
      • Spring (2)
    • Infrastructure (1)
      • AWS (1)
    • Frontend (1)
      • Next.js (1)
    • Language & Runtime (4)
      • Java (2)
      • Node.js (2)
    • Computer Science (8)
      • Computer Networks (3)
      • Operating Systems (4)
      • OOP (1)
    • 독서 (4)
      • 데이터 중심 애플리케이션 설계 (3)
      • 객체지향의 사실과 오해 (1)
    • 회고 (4)
      • Project (2)
      • Career (2)
    • Deprecated (280)

채널

  • GitHub
  • LinkedIn

최근 글

태그

  • 알고스팟Python
  • 데이터베이스
  • Database
  • 코딩
  • Baekjoon Online Judge
  • Algospot
  • 백엔드
  • 백준Go
  • front-end
  • back-end
  • 프로그래머스Python
  • 프로그래머스C++
  • 프로그래머스
  • 백준C++
  • 백준
  • 백준Python
  • 알고스팟
  • programmers
  • 프로그래밍
  • 개발자

최근 댓글

인기 글

hELLO
HelloMinchan

처음처럼

[CSS] flexbox를 이용한 레이아웃(이미지, div 등) 가운데 정렬하는 법
Deprecated

[CSS] flexbox를 이용한 레이아웃(이미지, div 등) 가운데 정렬하는 법

2020. 3. 2. 22:30

Copyright © 1994–2020 W3C®

[CSS] flexbox를 이용한 레이아웃(이미지, div 등) 가운데 정렬하는 법

(글쓴날 : 2020.03.02)

 


* 이 글은 글쓴이가 공부한 내용을 정리하며 올리는 글입니다.

* CSS3를 기준으로 작성되었습니다.


 

 

CSS 레이아웃(이미지, div 등) 중앙 정렬 방법


1) flexbox란?

간단하게 설명하자면 flexbox란 CSS3에서 새롭게 추가된 웹 레이아웃 모델로, 개발자들이 기존 CSS의 position, float, display 등의 속성들로 해결하기 힘들었던 문제들을 쉽고 유연하게 구현할 수 있도록 제공하는 기능입니다.

주로 1차원 레이아웃의 공간 배분 및 정렬을 하기 위해 설계되었으며, 행과 열 중점의 2차원 레이아웃을 다루는 Grid 레이아웃과는 지향점이 조금 다르니 각자의 상황에 맞게 골라 쓰시면 될 것 같습니다!


2) flexbox로 가운데 정렬하기

그럼 바로 본론으로 들어가 flexbox를 이용해 가운데 정렬을 해보겠습니다.

 

먼저 CSS 파일에서 가운데 정렬을 적용할 요소에 display 속성을 flex로 전환해 줍니다.

(만약, 정렬할 레이아웃에 속한 요소들이 여러 개일 시 display 속성을 flex로 전환하면 flex의 기본(default) 방향이 row여서 행 기준으로 나열되게 됩니다. 놀라지 마시고 flex-direction 속성을 column으로 지정하면 다시 열을 기준으로 나열됩니다.)

그 후, flex 요소의 행을 지정하는 속성인 justify-content와 열을 지정하는 속성인 align-items에 각각 center로 지정하면 행과 열의 가운데로 요소들이 정렬되어 위치하게 됩니다.

(ex)

1
2
3
4
5
6
7
8
9
10
11
12
적용할 레이아웃 선택자(빨간색 박스) {
  display: flex;
  justify-content: center;
  align-items: center;
 
  height: 250px;
  width: 250px;
  font-size: 3vmax;
  font-weight: bold;
  color: white;
  background-color: red;
}

 

* 결과 화면

빨간색 박스 안에 <h1>태그의 "flexbox"가 가운데 정렬되었습니다!


이어서, 빨간색 박스 또한 가운데로 중앙 정렬을 해보겠습니다.

위의 알려드린 방법과 마찬가지로, 빨간색 박스의 부모 요소 display 속성을 flex로 지정한 뒤 justify-content와 align-items 속성을 center로 지정해 주시면 되겠습니다.

(ex)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
적용할 레이아웃 선택자(빨간색 박스 부모 요소) {
  display: flex;
  justify-content: center;
  align-items: center;
 
  height: 100vh;
}
 
적용할 레이아웃 선택자(빨간색 박스) {
  display: flex;
  justify-content: center;
  align-items: center;
 
  height: 250px;
  width: 250px;
  font-size: 3vmax;
  font-weight: bold;
  color: white;
  background-color: red;
}

 

* 결과 화면

전체 화면에서 빨간색 박스가 가운데 정렬되었습니다!


 

 


 

 

여기까지, CSS에서 flexbox를 이용해 레이아웃을 가운데로 중앙 정렬하는법을 알아보았습니다.

flexbox에는 가운데 정렬을 위한 방법 말고도 여러가지 속성과 수많은 유용한 기능들이 존재합니다.

flexbox에 대해 관심이 있거나 더 알고 싶으신 분들은...

 

* Mozilla MDN 웹 문서의 flexbox 문서 : Mozilla MDN 웹 문서의 flexbox 문서

 

Basic concepts of flexbox

The Flexible Box Module, usually referred to as flexbox, was designed as a one-dimensional layout model, and as a method that could offer space distribution between items in an interface and powerful alignment capabilities. This article gives an outline of

developer.mozilla.org

위의 Mozilla MDN 웹 문서의 flexbox 문서를 참조하시면 되겠습니다.

감사합니다!

저작자표시 비영리 변경금지 (새창열림)

'Deprecated' 카테고리의 다른 글

[LeetCode] 리트코드 1365번 How Many Numbers Are Smaller Than the Current Number(Python)  (0) 2020.03.04
[LeetCode] 리트코드 1342번 Number of Steps to Reduce a Number to Zero(Python)  (0) 2020.03.03
[CSS] 레이아웃 height 100%로 동작하게 하는 법  (2) 2020.03.01
[Baekjoon Online Judge] 백준 1065번 한수(Python)  (2) 2020.02.29
[Baekjoon Online Judge] 백준 4673번 셀프 넘버(Python)  (0) 2020.02.29
    'Deprecated' 카테고리의 다른 글
    • [LeetCode] 리트코드 1365번 How Many Numbers Are Smaller Than the Current Number(Python)
    • [LeetCode] 리트코드 1342번 Number of Steps to Reduce a Number to Zero(Python)
    • [CSS] 레이아웃 height 100%로 동작하게 하는 법
    • [Baekjoon Online Judge] 백준 1065번 한수(Python)
    HelloMinchan
    HelloMinchan
    Though you should not fear failure, You should do your very best to avoid it.

    티스토리툴바