실습 내용 / 결과물 출력 첨부
마진 - 볼더 - 패딩
마진과 패딩은 모두 컨텐츠 주변에 영역을 만든다. 이에 따라 컨텐츠의 위치가 영향을 받는데, 볼더(테두리)를 기준으로 생각하면 각각의 영역을 구분하는 것이 용이하다.특히 패딩의 경우 그림에서 보이듯 컨텐츠의 배경색을 공유하고 있다.
margin, padding의 작성예제
margin: 100px 0 0 100px; padding: 100px 0 0 100px;
이와 같이 작성하면 위쪽부터 시계방향으로 속성값을 갖는다. 예시의 경우 위100px/우측,하단0px/좌측100px의 값을 갖게 되는것.
*코드를 간소화하면 웹페이지를 불러오는 속도가 빨라진다.
html문서 작성 팁
html, body { margin: 0; padding: 0;}
html과 body태그 안에는 기본적으로 마진과 패딩이 있다. 문서 작성 시 혼동을 줄이기 위해 없애고 시작하는 것이 좋음.
또한 위와 같이 마진, 패딩의 속성값으로 숫자 하나를 입력하면 네 방향의 속성값을 그 숫자로 지정해주는 효과가 있다고 함.
box-sizing: border-box;
이 코드를 사용하게 되면 볼더를 포함한 컨텐츠 크기의 총 합이 width와 height로 지정해준 200x200 사이즈로 고정되는 것을 확인할 수 있다.
html
<body> <div class="margin-one"></div> <div class="margin-two"></div> </body>
CSS
.margin-one { width: 100%; height: 100px; background-color: yellow; margin-bottom: 100px; } .margin-two { width: 100%; height: 100px; background-color: blue; margin-top: 50px; }
결과출력
margin-one의 margin-bottom이 100px
margin-two의 margin-top이 50px이나
두 마진 영역의 합이 100px 인 모습이다.
html
<body> <div class="margin-parent"> <div class="margin-child"></div> </div> </body>
CSS
.margin-parent { width: 300px; height: 300px; background-color: yellow; } .margin-child { width: 150px; height: 150px; background-color: blue; margin-top: 100px; }
결과출력
margin-child에 적용한 margin-top값이 margin-parent의 영역 안에서 적용된 것이 아니라 margin-parent를 기준으로 적용되어 전체가 100px 만큼 아래로 이동되었다.
html
<h1>block</h1> <h1>block</h1> <h1>block</h1> <span>Inline</span> <span>Inline</span> <span>Inline</span>
아래와 같이 출력된다.
block
block
block
Inline Inline Inline
h1과 같은 블럭 속성의 요소들은 세로로 출력되고 영역값을 지정할 수 있다.
span과 같은 inline 속성의 요소들은 한 줄에 출력되고 영역값을 지정할 수 없다.
html
<h1>block</h1> <h1>block</h1> <h1>block</h1> <span>Inline</span> <span>Inline</span> <span>Inline</span>
CSS
h1 { display: inline-block; width: 100px; height: 100px; background-color: yellow; margin-top: 100px; } span { display: block; width: 100px; height: 100px; background-color: pink; margin-top: 100px; }
결과출력
display 명령어를 통해 블럭과 라인의 속성을 바꿀 수 있으며, 예시에서 볼 수 있듯 line-block와 같은 블록의 특성을 가지면서 한 줄에 작성되는 속성값도 줄 수 있다.
*img 태그는 inline-block 속성을 가지고 있다. 한 줄에 나열되며 영역값을 지정할 수 잇음.
웹사이트는 2차원으로만 이루어져있지 않다.
포지션 속성은 선택할 영역이 2차원일지 3차원일결정한다.
x
position들 간의 관계를 파악하기 위한 학습 과제로 무엇이 좋을까.
x
슬슬 학습 내용이 쌓여간다. 하나의 지속적인 프로젝트를 진행하면 좋을텐데 방법을 잘 모르겠다.