HTML&CSS/CSS

박스 모델

햄스타69 2021. 9. 2. 15:50

목차

    1) 블록 레벨 요소와 인라인 레벨 요소

     

    ① 블록 레벨 요소
    - 요소를 삽입했을 때 혼자 한 줄을 차지하는 요소로 요소의 너비가 100%라는 의미
    - 해당 요소 좌우에는 다른 요소들이 올 수 없음
    - 너비나 마진, 패딩 등을 이용해 크기나 위치 지정
    ② 인라인 레벨 요소
    - 줄을 차지하지 않는 요소
    - 화면에 표시되는 콘텐츠만큼 영역을 차지하고 나머지 공간에 다른 요소 올 수 있음
    - 한 줄에 여러 개의 인라인 레벨 요소 표시 가능

     

    ③ 블록 레벨 요소와 인라인 레벨 요소를 만드는 태그의 종류

    종류 해당 태그
    블록 레벨 태그 <p>, <h1>~<h6>, <ul>, <ol>, <div>, <blockquote>, <form>, <hr>, <table>, <fieldset>, <address>
    인라인 레벨 태그 <img>, <object>, <br>, <sub>, <sup>, <span>, <input>, <textarea>, <label>, <button>

     

    2) 박스 모델(box model)


    ① 블록 레벨 요소들은 모두 박스 형태
    ② 박스 형태의 요소들을 박스 모델이라고 부름
    ③ 여러 요소들을 원하는 위치에 배치하려면 CSS 박스 모델을 잘 사용해야 함
    ④ 박스 모델은 실제 콘텐츠 영역, 패딩(padding), 박스의 테두리(border), 마진(margin)등 요소로 구성
    - 패딩(padding) : 박스와 콘텐츠 영역 사이의 여백
    - 마진(margin) : 여러 박스 모델 사이의 여백

     

     

     

     

    3) 콘텐츠 영역의 크기

    width, height 속성

    ① 실제 콘텐츠 영역의 크기를 지정할 때 너비는 width, 높이는 height 속성을 사용

    ② 기본형

    width  : <크기> | <백분율> | auto

    height :  <크기> | <백분율> | auto

    ③ width, height 속성 값

    속성 값 설명
    < 크기 > 너비나 높이 값을 px이나 cm 같은 단위와 함께 수치로 지정
    < 백분율 > 박스 모델을 포함하는 부모 요소를 기준으로 너비나 높이 값을 백분율(%)로 지정
    auto 박스 모델의 너비와 높이 값이 콘텐츠 양에 따라 자동으로 결정. 기본 값

    ④ 실제 콘텐츠 크기 계산하기

     모던 브라우저에서 박스 모델의 전체 너비 = width 값 + 좌우 패딩 + 좌우 테두리

     인터넷 익스플로러 6에서 박스 모델의 width 값 = 콘텐츠 너비 + 좌우 패딩 + 좌우 태두리

     

    4) 화면 배치 방법 결정

    display 속성

    ① 블록 레벨 요소를 인라인 레벨 요소로 바꾸거나 인라인 레벨 요소를 블록 레벨 요소로 바꿀 때 사용
    ② 기본형 display : none | contents | block | inline | inline-block | table | table-cell등
    ③ display: block;
    - 해당 요소를 블록 레벨로 지정
    - <img>같은 인라인 레벨 요소도 블록 레벨 요소로 바꿈
    ④ display: inline;
    - 해당 요소를 인라인 레벨로 지정
    - <li>같은 블록 레벨 요소도 인라인 레벨 요소로 바꿈
    ⑤ display: inline-block;
    - 요소를 인라인 레벨로 배치하면서 내용에는 블록 레벨 속성(너비, 높이, 마진 등)을 지정하고 싶을 때
    사용
    - 블록 레벨 요소와 인라인 레벨 요소 두 가지 특성을 모두 갖음
    ⑥ display: none;
    - 해당 요소를 화면에 표시하지 않고 화면에서의 공간도 차지하지 않음
    - visibility: hidden; 화면에서만 감춰지고 공간은 그대로 차지

    ⑦ 기타 display 속성 값들

    속성 값 설명
    inherit 상위 요소의 display 속성을 상속 받음
    table 블록 레벨의 표로 만듬
    inline-table 인라인 레벨의 표로 만듬( <table>태그 사용한 것처럼)
    table-row 표의 행으로 만듬( <tr> 태그 사용한 것처럼)
    table-row-group 표의 행 그룹으로 만듬( <tbody>태그 사용한 것처럼)
    table-header-group 표의 제목 영역(header) 그룹으로 만듬( <thead>태그 사용한 것처럼)
    table-footer-group 표의 요약 영역(footer) 그룹으로 만듬( <tfoot>태그 사용한 것처럼)
    table-column 표의 열로 만듬( <col>태그 사용한 것처럼)
    table-column-group 표의 열 그룹으로 만듬( <colgroup>태그 사용한 것처럼)
    table-cell 표에서 하나의 셀로 만듬(<td>나 <th>태그 사용한 것처럼)
    table-caption 표의 캡션으로 만듬( <caption>태그 사용한 것처럼)
    list-item 목록의 항목을 표시할 수 있도록 기본적인 블록 박스와 표시자 박스를 만듬(<li> 태그 사용한 것처럼)
    기본적인 블록 박스 : 항목의 내용이 표시되는 부분
    표시자 박스 : 불릿이 표시되는 부분

     

    'HTML&CSS > CSS' 카테고리의 다른 글

    여백 속성  (1) 2021.09.03
    테두리 속성  (0) 2021.09.03
    배경 - 그라데이션 효과  (0) 2021.09.02
    색상과 배경 스타일  (0) 2021.09.02
    텍스트 관련 스타일  (0) 2021.09.01