====== CSS Box Model ====== * description : CSS와 박스 모델 * author : 오션 * email : shlim@repia.com * lastupdate : 2021-03-02 \\ ====Source of the article==== * "Do it! HTML5 + CSS3 웹표준의 정석" / 이지스 퍼블리싱 / 고경희 지음 / 개정1판 9쇄 발행 2019년 6월 3일 / * [[https://www.w3schools.com/css/css_boxmodel.asp|CSS Box Model]] \\ * 모든 HTML요소들은 박스로 여겨질 수 있다. * CSS에서, 디자인과 레이아웃을 언급할 때 **"박스모델 (box model)"**이라는 용어가 사용된다. * CSS 박스모델은 기본적으로 모든 HTML요소들을 감싸는 박스이다. CSS 박스모델은 마진 (margins), 보더 (borders), 패딩 (padding), 그리고 실제 콘텐츠로 구성된다. \\ ====박스모델(box model)-박스 형태의 콘텐츠==== {{:wiki:css:css_note:css_box_model.png?400|}} * 콘텐츠 (Content) : 박스모델의 콘텐츠로서 텍스트와 이미지가 나타나는 영역 * 패딩 (Padding) : 콘텐츠 주변 영역을 나타내고, 기본속성은 투명 (transparent), 테두리와 내용 사이의 여백. * 보더 (Border) : 콘텐츠와 패딩의 주변 영역 * 마진 (margin) : 여러 박스 모델 사이의 여백, 요소들 사이의 여백. \\ ====콘텐츠 영역의 크기==== 박스모델에서 콘텐츠 영역의 크기를 지정할 때는 너비를 지정하는 width속성과 높이를 지정하는 height속성을 사용한다. ^ 속성 값 ^ 설명 | ^ <크기> | 너비나 높이 값을 px(픽셀)이나 cm(센티미터) 같은 단위와 함께 수치로 지정한다 | ^ <백분율> | 박스 모델을 포함하는 부모 요소를 기준으로 너비나 높이 값을 백분율(%)로 지정한다 | ^ auto | 박스 모델의 너비와 높이 값이 콘텐츠 양에 따라 자동으로 결정된다. 기본 값이다. | =====CSS Layout - The display Property===== **''display''**속성은 레이아웃을 조절하는 것에서 가장 중요한 CSS 속성이다. \\ ====The display Property==== * **''display''**속성은 요소의 표시 여부와 표시 방법을 지정한다. * 모든 HTML 요소는 요소의 타입이 무엇인지에 따라 기본 display 값을 가지고 있다. 대부분 요소들의 기본 display값은 **''block''** 또는 **''inline''**이다. \\ ====Block-level Elements (블록 레벨 요소)==== * 기본 너비 값: 100% --> 블록 레벨 요소는 항상 새 줄에서 시작하고 가능한 전체 너비를 차지한다.(최대한 우측, 좌측으로 펼쳐진다) * 태그를 사용해 요소를 삽입했을 때 혼자 한 줄을 차지하는 요소이다. * 한 줄을 차지한다는 것은 해당 요소의 너비가 100%이라는 의미이다. * 따라서 한 줄에 하나만 배치 * 너비 값, 높이 값을 가질 수 있다. 상하마진을 가질 수 있다. \\ ====Inline Elements (인라인 요소)==== * 기본 너비 값 : 콘텐츠의 너비 값 * 줄을 차지하지 않는 요소이다 --> 한 줄에 여러 개를 배치할 수 있다. * 한 줄에 여러 개의 인라인 레벨 요소를 표시할 수 있다. * 크기 값을 가질 수 없다. 상하마진을 가질 수 없다. \\ ====Inline Block Elements (인라인 블록 요소)==== * 요소를 인라인 레벨로 배치하면서 내용에는 블록 레벨 속성을 지정하고 싶을 때 사용 * 기본 너비 값 : 콘텐츠의 너비 값 * 한 줄에 여러 개 배치 * 크기 값, 상하마진을 가질 수 있다. \\ ===블록 레벨 태그 vs 인라인 레벨 태그=== ^ 종류 ^ 해당 태그 ^ ^ 블록 레벨 태그 |

,

~

,