All Articles

[CSS] display 속성 & 종류 정리

안녕하세요!

요즘 프론트엔드 개발을 하다 보니까 style을 적용 하기 위해서는 css가 필수 더라구요.
찾아본 것도 까먹거나 헷갈린 적이 있어서…🥲

이번 포스팅을 통해 css의 display 속성과 종류에 대해 알아 보겠습니다.


1. 개요

  • 제가 React.js 에서 style을 적용할 때는, 주로 styled-components를 사용합니다.
  • 사람 마다 css 적용 방법이 달라서 어떤 분은 scss, @emotion, 아니면 기존의 css 파일을 쓰는 경우도 있다고 하더라구요. 개인 취향의 차이 이니, 각자의 스타일에 맞게 적용하시면 될 것 같아요!
  • 이번 포스팅 에서는 css의 여러 요소 중 에서도 display의 종류에 대해 알아보겠습니다.

2. display의 종류

(1) inline
(2) inline-block
(3) block
(4) none

  • display의 종류는 총 4가지 입니다. 아래의 예제를 통해 각각의 특징에 대해 알아보겠습니다.

3. styled-components 적용 예제

실제로 styled-components 를 사용 해서 react.js에 css를 적용 하는 예제를 보여 드리겠습니다.

(1) display: inline 일 경우,

   import styled from 'styled-components'

    const Test = styled.div`
        display: inline;
        height: 500px;
        width: 500px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `
    
    const Test2 = styled.div`
        display: inline;
        height: 500px;
        width: 500px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `
    const Test3 = styled.div`
        display: inline;
        height: 500px;
        width: 500px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `
    
    const location = () => {
        return(
            <>
                <Test>
                    테스트 상자
                </Test>
                <Test2>
                    테스트 상자2
                </Test2>
                <Test3>
                    테스트 상자3
                </Test3>
    
            </>
        )
    }

inline

  • 이렇게 가로로 3개의 테스트 상자가 만들어 지는 것을 볼 수 있습니다. 하지만 height: 500px;, width: 500px; 라고 크기를 지정 하였음에도 불구하고 width가 100%가 되게 합니다. 가로 한 줄을 다 차지 합니다.
  • 따라서 display: inline; 요소는 가로로 나열 되고, 요소의 크기는 지정이 안되는 것을 알 수 있습니다. (아래 소스 부터는 return 부분이 동일하므로 생략 합니다!)

(2) display: inline-block 일 경우,

   import styled from 'styled-components'

    const Test = styled.div`
        display: inline-block;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `

    const Test2 = styled.div`
        display: inline-block;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `
    const Test3 = styled.div`
        display: inline-block;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `

inline-block

  • 이렇게 가로로 3개의 테스트 상자가 만들어 지는 것을 볼 수 있습니다. 지정된 크기 height: 250px;, width: 250px; 대로 박스가 나타납니다.
  • 따라서 display: inline-block; 요소는 가로로 나열 되고, 요소의 크기는 지정이 된다는 것을 알 수 있습니다.

(3) display: block 일 경우,

   import styled from 'styled-components'

    const Test = styled.div`
        display: block;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `

    const Test2 = styled.div`
        display: block;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `
    const Test3 = styled.div`
        display: block;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `

block

  • 이번에는 세로로 3개의 테스트 상자가 만들어 지는 것을 볼 수 있습니다. 지정된 크기 height: 250px;, width: 250px; 대로 박스가 나타납니다.
  • 따라서 display: block; 요소는 세로로 나열 되고, 요소의 크기는 지정이 된다는 것을 알 수 있습니다.

(4) display: none 일 경우,

   import styled from 'styled-components'

    const Test = styled.div`
        display: none;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `

    const Test2 = styled.div`
        display: none;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `
    const Test3 = styled.div`
        display: none;
        height: 250px;
        width: 250px;
        color: red;
        font-size: 20px;
        border: 1px solid blue;
    `

none

  • 이번에는 이름에서 느껴지는 것 처럼 화면에 아무것도 나타나지 않는 것을 확인 할 수 있습니다.
  • 따라서 display: none; 요소는 화면 에서 나타나지 않고 크기 자체도 차지 하지 않는 것을 알 수 있습니다.

4. 마치며

  • css display 가 헷갈리는 분들에게 도움이 되는 포스팅 이였으면 좋겠습니다.
  • 요소들과 문법을 정리 해 놓으니 이번엔 안 까먹겠죠..?👍🏻 다른 css 요소들도 포스팅에 하나씩 정리해 보도록 할께요!

오늘 준비한 내용은 여기까지 입니다. 읽어 주셔서 감사합니다!

이번 포스팅이 도움이 되셨으면 아래 좋아요 버튼과,
궁금한 점이 있으시다면 언제든지 댓글을 달아주세요!🤖✨