ss__jae2
타닥타닥 IT
ss__jae2
전체 방문자
오늘
어제

Github

  • 타닥타닥 IT (179)
    • 웹개발 (86)
      • JAVA (23)
      • DBMS (6)
      • HTML (9)
      • CSS (7)
      • JavaScript (12)
      • JSP (14)
      • Spring (15)
    • FrontEnd (63)
      • HTML (5)
      • CSS (12)
      • JavaScript (16)
      • React.js (14)
      • Node.js (16)
    • API (5)
    • SQLD (21)
      • SQLD (1)
      • 1과목 데이터 모델링의 이해 (11)
      • 2과목 SQL 기본 및 활용 (9)
    • CS Study (4)
      • 네트워크 (4)

공지사항

최근 댓글

최근 글

반응형
hELLO · Designed By 정상우.
ss__jae2

타닥타닥 IT

[CSS] CSS 박스 모델, border, padding, margin
FrontEnd/CSS

[CSS] CSS 박스 모델, border, padding, margin

2022. 9. 22. 17:17
반응형

1. CSS 박스 모델

- 모든 HTML 요소는 박스(box) 모양으로 구성된 박스 모델을 기본으로 함

- 박스 모델은 HTML 요소를 테두리(border), 패딩(padding), 마진(margin) 등을 갖음

  • 박스 모델 용어

    content(내용) 텍스트나 이미지 등 박스 내의 실제 내용
    border(테두리) 박스의 테두리(내용과 패딩이 안에 포함)
    padding(패딩) content와 border 사이의 간격(안쪽 여백)
    margin(마진) border 밖의 여백으로, 주로 이웃 요소와의 간격(여백)으로 사용
  • 박스 모델 기본 속성

    width 박스의 넓이(default: display 속성에 의해 결정)
    height 박스의 높이(default: 일반적으로 콘텐츠의 높이)
    background 박스의 배경 색상 또는 이미지(default : X)
    border 박스의 테두리 색상, 굵기, 선 스타일 등(default : X)
    padding 테두리 안쪽 여백(default : 0)
    margin 테두리 바깥 여백(default : 0)

2. border(테두리)

  • border 속성
    * border: 굵기 스타일 색상; -> 모든 border 속성을 이용한 스타일을 한 줄에 설정 가능
  • border style

    none 테두리 없음
    hidden 존재하기는 하지만 표현되지는 않음
    dotted 점선
    dashed 약간 긴 점선
    solid 실선
    그외 double, groove, ridge, insert, outset

3. border 예시

<body>
  <div style="border-style: dotted;"></div>
  <div style="border-style: dashed;"></div>
  <div style="border-style: solid;"></div>
  <div class="mix"></div>
</body>
<style>
  div { width: 200px; height: 100px; margin: 20px; }
  .mix {
    border-top-style: solid;
    border-top-color: rgb(255, 0, 0);
    border-left-style: dashed;
    border-left-color: rgb(0, 255, 0);
    border-right-style: dotted;
    border-right-color: rgb(0, 0, 255);
    border-bottom-style: double;
    border-bottom-color: rgb(255, 0, 255);
  }
</style>

4. margin, padding

- margin(마진) 스타일 : margin 테두리 바깥 여백(default: 0)
- padding(패딩) 스타일 : padding 테두리 안쪽 여백(default: 0)

  • 대표적인 박스 태그의 마진,패딩 특징
    <div> :  기본적으로 모든 방향에 margin 값과 패딩 값을 가질 수 있다.
    <span> : 기본적으로 위(margin-top)/아래(margin-bottom) 값을 가질 수 없다. 좌우만 가질 수 있다.(패딩은 다 가능)
  • collapsing(마진 겹침/상쇄 현상)
    - 블록의 top/bottom 여백이 겹칠 때 가장 큰 여백으로 결합되는 현상
    - 즉, 두 개 이상 블록 요소의 상하 마진이 겹칠 때 가장 큰 값으로 결합하는 렌더링 규칙

5. margin, padding 예시

<body>
    <div style="background: rgb(255, 255, 140);">
        <div class="div-a">DIV 태그는 너비가 100%의 기본 속성을 가지므로...</div>
    </div>

    <div style="background: rgb(196, 255, 177);">
        <span class="span-a">SPAN A</span>
        <span class="span-a">SPAN B</span>
        <span class="span-a">SPAN C</span>
    </div>

    <div style="background:rgb(177, 250, 255); margin-top: 100px;">
        <span class="span-b">SPAN A</span>
        <span class="span-b">SPAN B</span>
        <span class="span-b">SPAN C</span>
    </div>
</body>

<style>
    .div-a {
        width: 200px;
        height: 100px;
        background: rgb(235, 235, 235);
        border: 10px solid rgb(0, 0, 255);
        margin-top: 50px;
        margin-bottom: 100px;
        margin-left: 20px;
        margin-right: 20px;
        padding: 20px;
    }
    .span-a {
        width: 300px;
        height: 300px;
        /* span은 inline이다 따라서 width, height 속성은 무시된다. */
        background-color: rgb(255, 177, 190);
        border-radius: 10px;
        border-width: 5px;
        border-style: dashed;
        border-top-color: red;
        border-bottom-width: 5px;
        padding: 10px;
        margin: 20px;
    }
    .span-b {
        display: inline-block;
        width: 100px;
        height: 100px;
        padding: 10px;
        margin: 20px;
        border: 1px solid red;
    }
</style>

반응형
저작자표시 (새창열림)

'FrontEnd > CSS' 카테고리의 다른 글

[CSS] CSS 배경 이미지(background-image)  (0) 2022.10.05
[CSS] CSS block vs inline, <div> vs <span>  (1) 2022.09.22
[CSS] CSS 배경(background), 글자 색상(color)  (1) 2022.09.21
[CSS] CSS 레이아웃(display, position, float)  (0) 2022.09.21
[CSS] CSS 개요, 스타일 시트, 기본 문법(형식), 선택자  (0) 2022.09.19
    'FrontEnd/CSS' 카테고리의 다른 글
    • [CSS] CSS 배경 이미지(background-image)
    • [CSS] CSS block vs inline, <div> vs <span>
    • [CSS] CSS 배경(background), 글자 색상(color)
    • [CSS] CSS 레이아웃(display, position, float)
    ss__jae2
    ss__jae2

    티스토리툴바