본문 바로가기
CSS

[CSS] Display

by 기리의 개발로그 2022. 3. 2.

Display

브라우저가 요소를 화면에 나타내는 방법을 제어하는 속성으로 layout 정의에 자주 사용되는 속성이다.

  • block : block 특성을 가지는 요소

  • inline : inline 특성을 가지는 요소

  • inline-block : inline-block 특성을 가지는 요소

  • none : 요소를 화면에 표시하지 않는다.(공간까지 사라진다.)


block

block 요소는 다음과 같다.


  • 항상 새로운 줄에서 시작된다.(줄바꿈 된다.)
  • 화면 전체 크기의 가로폭을 차지하며(width:100%) 높이는 콘텐츠 크기만큼 적용된다.
  • widht, height, margin, padding 속성 지정이 가능하다.
  • block 요소 내에 inline 요소를 포함할 수 있다.
  • div, h1~6, p, ol, ul, li, hr, table, form
<html>
    <head>
        <style>
            #default {
                /*display: block;  default 속성 */            
                background-color: brown;
            }
            #width {
                /*display: block;  default 속성 */               
                background-color: blue;
                width: 500px;
            }
        </style>
    </head>
    <body>
        <div id="default">
            <p>block 요소</p>
            <p>초기값</p>
        </div>        
        <div id="width">
            <p>block 요소</p>
            <p>넓이 지정</p>  
        </div>
    </body>
</html>

display1

inline

inline 요소는 다음과 같다.


  • 줄바꿈을 하지 않는다.
  • 가로폭과 높이는 컨텐츠 크기만큼 적용된다.
  • width, height, margin-top, margin-bottom 속성 지정이 불가능하다.
  • inline 요소는 block 요소 내에 쓰일 수 없다.
  • `span, a, strong, img, br, input, select, textarea, button
<html>
    <head>
        <style>
            #box {
                border: 8px solid black;
            }
            #box span {
                width: 500px;
                height: 600px;
                border: 5px solid blue;
            }
            #box a {
                padding: 30px;
                margin: 30px;
                border: 5px solid red;
            }
            #box strong {
                border: 5px solid skyblue;
            }
        </style>
    </head>
    <body>
        <h1>inline 요소</h1>
        <div id="box">
            <span>인라인</span>
            <a>인라인</a>
            <strong>인라인</strong>
        </div>
    </body>
</html>

display2

inline-block

inline-block 요소는 다음과 같다.


  • block과 inline 요소의 특징을 모두 갖는다.
  • 줄바꿈을 하지 않으며(inline) width, height, margin, padding 속성 지정이 가능하다.(block)
  • 가로폭은 컨텐츠 크기만큼 적용된다.(inline)
<html>
    <head>
        <style>
            #box, #box1 {
                border: 8px solid black;
            }
            #box span {
                display: inline-block;
                width: 100px;
                height: 100px;
                border: 5px solid blue;
            }
            #box a {
                display: inline-block;
                padding: 30px;
                margin: 30px;
                border: 5px solid red;
            }
            #box strong {
                display: inline-block;
                border: 5px solid skyblue;
            }
            #box1 h3 {
                display: inline-block;
                width: 200px;
                height: 200px;
                border: 5px dotted green;
            }
            #box1 div {
                display: inline-block;
                margin: 20px;
                padding: 20px;
                border: 5px dotted purple;
            }
            #box1 p {
                display: inline-block;
                border: 5px dotted tomato;
            }
        </style>
    </head>
    <body>
        <h1>inline-block 요소</h1>
        <div id="box">
            <span>inline-block(span)</span>
            <a>inline-block(a)</a>
            <strong>inline-block(strong)</strong>
        </div>
        <br><br>
        <div id="box1">
            <h3>inline-block(h3)</h3>
            <div>inline-block(div)</div>
            <p>inline-block(p)</p>        
        </div>
    </body>
</html>

display3 display4

반응형

'CSS' 카테고리의 다른 글

[CSS] 상속과 캐스케이딩  (0) 2022.03.03
[CSS] Visibility / Opacity  (0) 2022.03.02
[CSS] 박스(Box) 모델  (0) 2022.03.01
[CSS] 선택자  (0) 2022.03.01
[CSS] CSS란  (0) 2022.02.28

댓글