CSS에서 여백에 관련된 속성은 두가지가 있는데 바로 마진(margin)과 패딩(padding)입니다. margin은 외부 여백의 크기를 정하고 padding은 안쪽 여백을 지정해 줍니다. 그럼 이제부터 자세히 알아보도록 하겠습니다.
이런식으로 위치를 직접 지정해서 사용하거나 아래와 같이 수치만 입력해서 사용합니다.
padding의 사용법은 margin에 패딩으로만 바꾸어 적으면 됩니다.
magin에 40px을 주게되면 위 그림과 같이 160X160픽셀 표주위에 파란색깔과 같이 표시된 40px의 외부 여백이 생기게 됩니다. 그래서 240X240px공간을 사용하게 됐습니다. 눈에보이는건 표뿐이므로 사용자는 160x160픽셀을 사용하는 것처럼 보입니다.
똑같이 padding에 40px을 주게되면 표크기가 160px + 80px이되고 표가 늘어난 만큼(위 그림에서 분홍색) 표 안쪽에 여백이 생기게 됩니다. 결국 차지하는 공간은 padding이나 magin이나 240X240px로 똑같아 집니다.
이번엔 두 속성을 같이 사용했을때의 모습니다. magin을 40px로 주고 padding을10px로 주게 되면 내부 여백이 10px이 되면서 표크기는 180*180px이 되고 외부여백 40px이 생기게 됩니다. 그리하여 260x260px을 차지하게 됩니다.
추가>padding을 사용할때는 유의해야할 점이있습니다. margin(외부여백)은 그냥 사용해도 레이아웃에는 별 지장을 안주지만 padding을 사용할 때는 표 크기를 생각해가며 값을 줘야 레이아웃에 이상이 없게 됩니다. 만약 표크기는 그대로 유지한채 padding(안쪽여백)을 5px만큼 주려면 표의 너비(width)와 높이(height)를 각각 5px만큼 줄여주세요.
1. 사용법
마진과 패딩은 "안쪽여백", "외부여백" 이라는 차이점이 있을 뿐 둘의 사용하는 방식은 같습니다. 단위는 일반적으로 px을 사용합니다.margin-top:40px; /* 상단 40px 여백 */
margin-bottom:40px; /* 하단 40px 여백 */
margin-right:40px; /* 우측 40px 여백 */
margin-left:40px; /* 좌측 40px 여백 */
이런식으로 위치를 직접 지정해서 사용하거나 아래와 같이 수치만 입력해서 사용합니다.
margin:40px; /* 사방 40px 여백 */
margin:40px 50px; /* 상하 40px, 좌우 50px 여백 */
margin:20px 40px 30px; /* 상단 20px, 좌우 40px, 하단 30px 여백 */
margin:20px 50px 40px 30px; /* 상단 20px, 우측 50px, 하단 40px, 좌측 30px 여백 */
padding의 사용법은 margin에 패딩으로만 바꾸어 적으면 됩니다.
2. 비교
실제로 160X160px표를 가지고 비교 해보겠습니다. 아래의 그림에보면 여백에 색을 입혀놓았는데 여백에는 원래 색깔이 따로 없습니다. 여백에 색을 표시한것은 설명을 쉽게 하기위해서 입니다.magin에 40px을 주게되면 위 그림과 같이 160X160픽셀 표주위에 파란색깔과 같이 표시된 40px의 외부 여백이 생기게 됩니다. 그래서 240X240px공간을 사용하게 됐습니다. 눈에보이는건 표뿐이므로 사용자는 160x160픽셀을 사용하는 것처럼 보입니다.
똑같이 padding에 40px을 주게되면 표크기가 160px + 80px이되고 표가 늘어난 만큼(위 그림에서 분홍색) 표 안쪽에 여백이 생기게 됩니다. 결국 차지하는 공간은 padding이나 magin이나 240X240px로 똑같아 집니다.
이번엔 두 속성을 같이 사용했을때의 모습니다. magin을 40px로 주고 padding을10px로 주게 되면 내부 여백이 10px이 되면서 표크기는 180*180px이 되고 외부여백 40px이 생기게 됩니다. 그리하여 260x260px을 차지하게 됩니다.
3. 정리
지금까지 padding과 magin의 사용법 및 차이점에 대해서 알아봤습니다. magin과 padding을 수월하게 다루게되면 css를 작성할때 많은 도움이됩니다. 10번보느니 한번해보는게 낫습니다. 한번 마진과 패딩을 사용해 보시길 바랍니다.추가>padding을 사용할때는 유의해야할 점이있습니다. margin(외부여백)은 그냥 사용해도 레이아웃에는 별 지장을 안주지만 padding을 사용할 때는 표 크기를 생각해가며 값을 줘야 레이아웃에 이상이 없게 됩니다. 만약 표크기는 그대로 유지한채 padding(안쪽여백)을 5px만큼 주려면 표의 너비(width)와 높이(height)를 각각 5px만큼 줄여주세요.
'Internet > Tip' 카테고리의 다른 글
| IE8.0에서 [안전하게 제공된 콘텐츠만 보시겠습니까?]와의 이별 방법 (14) | 2010/04/23 |
|---|---|
| 트위터의 팔로우(follow) 관리를 도와주는 사이트들 (5) | 2010/03/29 |
| 무료 이미지 호스팅 서비스 사이트 모음 (5) | 2010/03/06 |
| 마진(margin)과 패딩(padding)의 사용법 및 차이점 (4) | 2010/03/06 |
| 폰트 크기의 표시 단위에는 어떤 것들이 있을까? - 총정리 (1) | 2010/02/03 |
| 복잡한 em을 쉽게 입력하는 방법 - Em Calculator (2) | 2010/02/02 |
| 웹 음악 재생기를 만들어주는 사이트 (6) | 2008/10/18 |








댓글을 달아 주세요
중요한 문제를 하나 언급해야 할것이 W3C표준대로는 저것이 맞습니다. 문제는 IE에서 저것이 문제생긴다는 겁니다. CSS박스모델의 적용이 차이가 있기 때문인데 다음글을 참고하시면 유용합니다.
http://forums.mozilla.or.kr/viewtopic.php?t=2034
제가 불여우를 주력으로 사용하고 IE는 스킨고친다음 그냥 사이트 잘 열리나만 보고 이상한부분있으면 그때 그때 수정 처리 하는지라 이런 문제가 있었는지 몰랐네요. IE8.0은 그나마 웬만한 기능 다 되던데 IE계열에서 전부 이런 문제가생기는 건가요? 아니면 공공의적인 IE6.0에서만 문제가 발생하는건가요?
-0- 6년전의 글입니다. 저때면 아마 포털사에도 DTD가 들어가던 시점일지 고개도 갸웃 거립니다.
W3C 표준(?)을 이야기한다면, 적어도 해당 DTD를 사용하겠다는 것인데... 그저 DTD를 적으면 IE6일지라도 됩니다요.ㅎ 결론은 Song4U님이 작성하신 글은 문제될 것은 없습니다.
DTD가 없는 문서로 W3C를 지켜란 말도 무색하지요. 이상 하시다는 것은 IE에서 DTD가 없어 쿼크모드로 작동되어 패딩과 보더를 포함한 시켜 width및 height에 넣어 계산하는 것 맞지요?
W3C에 적힌대로 따르겠다는 DTD를 넣지 않고 문제가 있다고 하시면 좀 곤란해요. IE8이라 할지라도 DTD가 없다면 그렇게 계산합니다요~
margin에 관해서 이상한 점은 상당히 예외가 많고 특이한 계산도 있어, 오해도 좀 있습니다.
한번 정리를 해봤는데, 도움이 되었으면 좋겠습니다.
http://anonymouz777.blogspot.com/2010/05/css-margin.html
유익한 내용 잘 보고 갑니다.