CSS

Do it : CSS - 8.박스 모델

식초 2020. 9. 11. 22:15

박스 모델이란?

웹 문서의 내용을 박스 형태로 정의하는 방법. 마진, 패딩, 테두리 등 여러 겹의 박스가 있다.

 

블록 레벨(block-level)요소

-혼자 한 줄 차지하는 요소

-너비, 마진, 패딩을 이용해 크기나 위치를 지정하려면 블록 레벨 요소여야 한다.

-종류: <div>,<p>,<ul>,<ol>,<h1>,<hr>,<form>,<table>,<blockquote>,<fieldset>,<address>

 

인라인 레벨(inline-level)요소

-콘텐츠 만큼만 영역을 차지, 나머지 공간에는 다른 요소 올 수 있다.

-종류: <image>,<span>,<input>,<label>,<button>,<br>,<textarea>,<sub>,<object>

 

 

박스모델 - 구글>검사>element>computed

출처 -https://sungunjo.github.io/html-css/2020/06/02/css-box-model.html

 

width, height 속성 : 콘텐츠 영역의 크기

width - 콘텐츠의 너비

height - 콘텐츠의 높이

.box {

    width: 50%;

    height: 100px;

}

~px, cm, %, auto 속성값

~%는 부모요소 기준으로 너비, 높이 지정한다

 

 

 

실제 콘텐츠 크기 계산

~모던 브라우저: 박스모델의 전체 너비 = width값 + 좌우 padding + 좌우 border

~익스플로러 6: 박스모델의 width 값 = 콘텐츠의 너비 + 좌우 padding + 좌우 border

 

 

 

display 속성 : 화면 배치 방법 

~세로로 표시되는 목록을 가로 네비게이션으로 바꿀 때 사용

~한 줄로 표시되는 이미지에 여백과 테두리 추가해서 갤러리로 표시할 때 사용

 

block 속성 값

#block img { display: block; }

~해당 요소를 블록 레벨로 지정

 

inline 속성 값

nav ul li { display: inline; }

~인라인 레벨로 바꾸기

~목록을 수평 내비게이션으로 만들 때 사용

 

inline-block 속성 값

nav ul li {

    display: inline-block;

}

~요소를 인라인 레벨로 배치 & 내용에는 블록 레벨 속성 지정

 

none 속성 값

{ display: none; }

~요소를 화면에 아예 표시하지 않는다

~공간조차 표차 차지하지 않는다

~반응형 웹디자인 기법 때 모바일 화면에서는 보이지 않도록 할 때 쓰인다

 

기타 disply 속성 값

inherit ~상위 요소의 display 속성 상속

table ~블록 레벨의 표

inline-table ~인라인 레벨의 표 = <table>처럼

table-row ~표의 행 = <tr>처럼

table-row-group ~표의 행 그룹 = <tbody>처럼

table-header-group ~표의 제목 영역 = <thead>

table-footer-group ~표의 요약 영역 =<tfoot>

table-column ~표의 열 = <col>

table-colum-group ~표의 열 그룹 = <colgroup>

table-cell ~표의 하나의 셀 = <td>, <th>

table-caption ~표의 제목 = <caption>

list-item ~항목내용,불릿영역 = <li>

 

 

 

테두리 관련 속성

~텍스트 단락, 그림, 표, 양식 등 다양하게 적용

~두께, 스타일, 색상 등이 있다

 

border-style 속성 : 테두리 스타일 지정

{ border-style: none; } 테두리 없음, 기본값

{ border-style: hidden; } 테두리 안 나타남

{ border-style: dashed; } 직선으로 된 점선

{ border-style: dotted; } 점선

{ border-style: double; } 이중선(겹선)

{ border-style: groove; } 창에 조각, 입체적으로

{ border-style: inset; } 테두리 창에 박혀 있는 것처럼

{ border-style: outset; } 창에서 튀어나온 것처럼

{ border-style: ridge; } 창에서 튀어나온 것처럼

{ border-style: solid; } 실선

 

border-width 속성 : 테두리 두께

border-(top | right | bottom | left)-width 

~각각 지정 가능하다

border-width: 2px;

border-width: thick thin;

border-width: 5px 10px 15px 20px;

~한번에 지정 가능하다 (2개: 위/아래, 좌/우)(4개: 위,오,아래,왼)

~크기, thin | medium | thick 속성 값

 

border-color 속성 : 테두리 색상

border-(top | right | bottom | left)-color

~각각 지정 가능하다

border-color: red;

~한번에 지정 가능하다

~border-width속성, border-style속성 미리 결정해야 사용 가능

 

border 속성 : 테두리 스타일 묶어 지정

border-(top | right | bottom | left): <두께> <색상> <스타일>

border: 3px solid red;

~순서는 상관 없다

 

border-radius 속성 : 박스 모서리 둥글게

border-(top-left | top-right | bottom-right | bottom-left) -radius

border-radius: 20px;

~한번에 지정 가능하다 (2개: 위/아래, 좌/우)(4개: 위,오,아래,왼)

~px, em, %

 

타원 형태로 둥글게

border-(top-left | top-right | bottom-right | bottom-left) -radius

border-radius: 100px 50px;

~순서 : <가로 크기> <세로 크기>

~px, em, %

 

box-shadow 속성 : 선택한 요소에 그림자 효과

box-shadow: 2px -2px 5px 0px black;

~순서 주의 : <수평 거리> <수직 거리> <흐림 정도> <번짐 정도> <색상> insert;

~수평거리 속성 값 : 양수=오른쪽, 음수=왼쪽, 

~수직거리 속성 값 : 양수=아래, 음수= 위

~흐림정도 속성 값: 큰값=진한 그림자, 0이 기본값

~번짐정도 속성 값: 양수=퍼져나감, 음수=축소된다

~insert 속성 값: 안쪽 그림자 설정

 

 

 

 

여백 조절 속성

~margin, padding

 

margin 속성 : 요소 주변 여백 설장

margin-(top-left | top-right | bottom-right | bottom-left)

margin: 30px;

margin: 30px 50px;

margin: 30px 50px 30px;

~한번에 지정 가능하다 (2개: 위/아래, 좌/우)(4개: 위,오,아래,왼)

~현재 요소 주변의 여백

~한 요소와 다른 요소 사이의 간격 조절

~px, cm, %, auto

~auto: 중앙에 배치하게 해준다

 

마진 충접(margin overlap)

~세로로 배치할 때, 마진과 마진이 만날 때, 마진 값이 큰 쪽으로 겹쳐지는 것

~가로로 배치할 때는 겹치지 X

 

padding 속성 : 콘텐츠 영역과 테두리 사이 여백 설정

padding-(top-left | top-right | bottom-right | bottom-left)

padding: 10px;

~margin 속성과 사용법 비슷하다

'CSS' 카테고리의 다른 글

Do it : CSS - 12.선택자, 가상 클래스  (0) 2020.09.18
Do it : CSS -9.레이아웃  (0) 2020.09.15
Do it : CSS -6.텍스트 관련 스타일  (0) 2020.09.09
Do it : CSS -5. 기초  (0) 2020.09.08
드림코딩 엘리 : CSS 레이아웃 정리  (0) 2020.09.01