0055 CSS마진(Margin)패딩(Padding) 영역 설정하기


마진(Margin) 영역테두리(border) 바깥을 둘러싸고 있는 영역이고 패딩(Padding) 영역내용 영역테두리 사이에 있는 영역이다(박스모델 참조).

   

마진(Margin)패딩(Padding) 영역은 투명하고 배경을 그대로 노출하므로 오직 두께(width)만 별도로 설정한다.

    

마진(Margin) 영역두께(width)를 설정하는 CSS의 속성은 margin 속성(property)이다. 

패딩(Padding) 영역두께(width)를 설정하는 CSS의 속성은 padding 속성(property)이다. 



마진(Margin)패딩(Padding) 영역두께(width) 설정은 테두리(border)처럼 각 4방향(상하좌우) 별로 설정이 가능하다.

   

margin-top위쪽 마진의 두께(width)

margin-right오른쪽 마진의 두께(width)

margin-bottom아래쪽 마진의 두께(width)

margin-left왼쪽 마진의 두께(width)

   

padding-top위쪽 패딩의 두께(width)

padding-right오른쪽 패딩의 두께(width)

padding-bottom아래쪽 패딩의 두께(width)

padding-left왼쪽 패딩의 두께(width)


물론, 이렇게 4방향을 전부 작성하는 것이 매우 번거로우므로 보통은 단축 속성(shorthand property)marginpadding 속성(property)으로 축약하여 작성한다.

    

margin 속성과 padding 속성은 1~4개의 속성값을 가질 수 있으며, border-style마찬가지의 방식으로 적용된다. 

   

marginpadding 속성(property)에 4개의 속성값이 주어지면 각각의 속성값이 위(top)에서부터 시계방향으로 위, 오른쪽, 아래, 왼쪽으로 차례대로 적용된다.

    

margin: 10px 8px 6px 4px;

--------------------

margin-top: 10px;

margin-right: 8px;

margin-bottom: 6px;

margin-left: 4px;

    

padding: 6px 4px 2px 1px;

--------------------

padding-top: 6px;

padding-right: 4px;

padding-bottom: 2px;

padding-left: 1px;


margin과 padding 속성(property)에 3개의 속성값이 주어지면 각각의 속성값이 위(top), 좌우(left and right), 아래(bottom)로 차례대로 적용된다.

    

margin: 10px 4px 6px;

--------------------

margin-top: 10px;

margin-right: 4px;

margin-bottom: 6px;

margin-left: 4px;

   

padding: 6px 2px 4px;

는 아래와 동일하다.

padding-top: 6px;

padding-right: 2px;

padding-bottom: 4px;

padding-left: 2px;


margin과 padding 속성(property)에 2개의 속성값이 주어지면 각각의 속성값이 위아래(top and bottom), 좌우(left and right)로 차례대로 적용된다.

   

margin: 10px 4px;

--------------------

margin-top: 10px;

margin-right: 4px;

margin-bottom: 10px;

margin-left: 4px;

   

padding: 6px 2px;

--------------------

padding-top: 6px;

padding-right: 2px;

padding-bottom: 6px;

padding-left: 2px;


margin과 padding 속성(property)에 1개의 속성값이 주어지면 그 속성값이 상하좌우에 전부 적용된다. 

   

margin: 4px;

--------------------

margin-top: 4px;

margin-right: 4px;

margin-bottom: 4px;

margin-left: 4px;

   

padding: 2px;

--------------------

padding-top: 2px;

padding-right: 2px;

padding-bottom: 2px;

padding-left: 2px;


margin과 padding 속성(property)이 가질 수 있는 속성값은 길이(length) 단위다. 절대 길이와 상대 길이 단위에 대해서는 여기를 참조하기 바란다.

    

0043 CSS의 길이(length) 중 절대 길이(absolute length)

0044 CSS의 길이(length) 중 상대 길이(relative length)


margin이나 padding의 속성값으로 상대 길이(relative length)%를 쓰게 되면 부모(상위) 요소margin이나 padding 속성값의 상대 길이로 작용된다는 점을 주의하자.


Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 


Ankilog 파일:   0055 CSS의 마진(Margin)과 패딩(Padding) 영역 설정하기.apkg




0050 CSS 박스 모델(box model)


CSS에서는 HTML 요소 하나하나를 네모난 박스(box)로 취급한다. CSSHTML 요소가 문단, 제목, 블록 인용구, 리스트, 리스트 항목 등 어떤 요소이든 박스로 다루어지고 <em>과 같은 인라인 요소라고 해도 마찬가지로 박스로 취급한다.

   

따라서 CSS 박스 모델(box model)이란 HTML 요소가 어떤 모양의 박스(box)인지를 제시하는 모델이다. 그리고 이 박스 모델을 알아야 HTML 요소들의 레이아웃(layout), 크기와 간격 등을 섬세하게 조절할 수 있게 된다.


HTML 요소를 이루고 있는 박스마진(margin), 테두리(border), 패딩(padding), 그리고 내용(content)으로 아래의 그림과 같이 구성된다.




각각의 부분에 대한 설명은 다음과 같다. 

내용(Content)HTML 요소의 내용이미지나 텍스트가 나타나는 영역

패딩(Padding) - 내용(content) 영역을 둘러싸고 있는 영역으로 내용(content) 영역과 테두리(border) 사이에 여백으로 사용한다. 패딩은 자신만의 고유색은 없고 투명하므로 배경이 투과되어 보인다. CSS패딩 전체 두께 혹은 어느 특별한 방향(위, 오른쪽, 왼쪽, 아래쪽)의 두께를 제어할 수 있다. 

테두리(Border) - 테두리는 패딩(Padding)과 내용(content)을 둘러싸고 있는 바깥 경계선이다. 테두리두께, , 스타일은 변경할 수 있다.

마진(Margin) - 테두리 바깥을 둘러싸고 있는 영역으로 인접한 요소 사이에 빈 공간을 추가하는 용도로 사용한다. 마진은 자신만의 고유색은 없고 투명하므로 배경이 투과되어 보인다. CSS마진 전체 두께 혹은 어느 특별한 방향(위, 오른쪽, 왼쪽, 아래쪽)의 두께를 제어할 수 있다.

Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 


Ankilog 파일:  0050 CSS 박스 모델(box model).apkg



+ Recent posts