🌳 박스모델 설명 추가자료사이트
margin(마진) padding(패딩) border(테두리) content(내용)
💨 내용(content) : 텍스트나 이미지가 들어있는 박스의 실질적인 내용 부분
💨 패딩(padding) : 내용과 테두리 사이의 간격. 패딩은 눈에 보이지 않는다.
💨 테두리(border) : 내용과 패딩 주변을 감싸는 테두리
💨 마진(margin) : 테두리와 이웃하는 요소 사이의 간격. 마진은 눈에 보이지 않는다.
💨 margin / padding : 좌표 배치 작업을 할 때 사용
선택된 영역이 주체가 되어 움직이는 것이 아닌 공백에 의해서 타의적으로 움직인다.
❗️❕ padding 사용 시 주의점
실제 노란색 박스의 width값은 벌어진 공간(padding) + 원래 width이다.
선택된 영역의 공간의 크기가 달라질 수 있다.
💨 margin / padding을 :left top right bottom; 으로 각각 기입하지 않고 적는 법
margin: 100px 0 0 100px;
[시계방향(left-top-right-bottom)으로 한줄로 정리] margin: 100px 0 0 100px - 한줄로 정리함으로써 웹사이트 로딩속도를 줄일 수 있다.
-html과 body에 기본적으로 margin padding 이 기입되어있으므로 0으로 적용시켜주어야 없어진다.
html, body {
margin: 0;
padding: 0;
}
형제지간 :
<div class="margin-one"></div>
<div class="margin-two"></div>
.margin-one {
width: 100%;
height: 100px;
background-color: yellow;
margin-bottom: 100px;
}
.margin-two {
width: 100%;
height: 100px;
background-color: blue;
margin-top: 150px;
}
인접하는 block 요소들끼리 margin의 더 큰 값을 먹어버리는 것.
부모지간 :
<div class="margin-parent">
<div class="margin-child"></div>
</div>
.margin-parent {
width: 300px;
height: 300px;
background-color:yellow;
}
.margin-child {
width: 150px;
height: 150px;
background-color: blue;
margin-top: 100px;
}
해결방법 : child만 공백을 주기 위해서는 position을 이용한다-.margin-child {position :absolute;
display 사용을 통해 선택한 태그의 진렬을 바꿀 수 있음.
display: inline / block / inline-block
💨 display: inline-block
: 한 줄에 여러 개를 넣을 수 있는데 상자로 변환되어 안의 컨텐츠의 사이즈와는 상관없이 내가 지정한 박스의 width나 height에 맞춰서 표기 되는 것.
(→ 상자. 한 줄에 여러 개 진열 가능 한 것 )
💨 display: block
: 상자이지만 한 줄에 하나만 들어갈 수 있음.
(→ 상자. 한 줄에 하나만 들어감 )
💨 display: inline
:
(→ 물건. )
-inline 에서만 사용가능
{vertical-align: bottom; }
형제 관계에 있는 inline 중에서 가장 크기가 큰 이미지를 기준으로 하단에 정렬
{ vertical-align: top; }
형제 관계에 있는 inline 중에서 가장 크기가 큰 이미지를 기준으로 상단으로 정렬
{ vertical-align: middle; }
형제 관계에 있는 inline 중에서 가장 크기가 큰 이미지를 기준으로 중간으로 정렬
-img 태그는 inline-block 요소를 가지고 있기 때문에 vertical-aligh 사용가능
선택한 영역을 몇 차원으로 만들 것인지 결정짓는 속성값
1.2.3차원
position 경우의 수
1. margin-top 사용시 부모 자식 지간에 발생하는 마진 병합 현상이 일어나는지
2. top. right. bottom. left 속성을 사용할 수 있는지
3. 자식의 높이 값이 부모에게 영향을 주는지
position 속성값
1. static(기본 값 / 2차원) 요소를 문서 흐름에 맞추어 배치.
모든 html 태그는 2차원에서 시작한다.
[정리]
오늘 학습내용이 이때까지 배운 것 중에서 제일 어려웠던 것 같다. 뭔가 나 자신도 오늘 집중이 잘 되지 않았고 이해하기도 힘들어서 많이 힘들었던 회차인 것 같다.
머리가 오히려 복잡할 때는 쉬는시간이 가지고 처음부터 다시 개념을 잡아야 할 것 같다. 나중에는 이보다 더 어려운 것들이 많을텐데 벌써부터 막히면 안된다고 생각한다. 인터넷 검색도 하면서 다양한 경우들을 봐야할 것 같다.
프론트엔트 학습 1주차가 끝났다. 주말엔 배웠던 내용을 복습하는 시간을 가져야겠다.
어려운 점이 생겨도 흥미를 가지고 접근하는 내가 되어야 겠다..!