box의 구성 : margin, border, padding, content
display 속성값을 inline, block, inline-block으로 바꾸면 박스 외부 특성을 바꿀 수 있다.
CSS 코드가 길어질 수록 파일 용량이 커져서 가져오는 시간도 더 많이 걸린다.
-> 웹사이트 로딩 속도가 낮아짐
html, body태그에 기본으로 마진과 패딩값이 들어가기 때문에 0으로 만들고 사용하면 좋다.
html, body{
margin: 0;
padding: 0;
}
만들어진 공간 내에서 패딩으로 위치조정하고 싶다면
box-sizing: border-box;를 적용한다.
1.형제끼리: 마진 마진이 만나면 겹쳐진다.
2.부모자식간: 자식 마진값을 줬더니 부모도 같이 딸려가는현상. 포지션 앱솔루트 사용
vertical-align은 인라인 요소에만 적용가능. 가장 큰 크기를 기준으로 정렬
position은 2차원과 3차원?
1.margin-top사용시 부모자식 간에 발생하는 마진병합현상이 일어나는지
2. top, right, bottom, left속성을 사용할 수 있는지
3. 자식의 높이 값이 부모에게 영향을 주는지
마진병합현상 유무 2차원
top,left, bottom right 3차원
자식의 높이값이 부모의 높이값에 영향을 주는지 유무 2차원
부모의 position기준으로 기준점이 달라질 수 있다.
3차원에서만 사용가능하고, 화면에서 사용자 쪽으로 나오는 값으로 layer의 순서를 지정할 수 있다.
그래서 2차원으로 크게 박스를 지정한 뒤에 2,3차원 박스들을 배치하는 형식으로 한다.