CSS에 대해 알아보자 - 2
HTML 요소들은 박스의 형태로 이루어져 웹에 보여진다
이를 Box Model(박스모델)이라고 하며 콘텐츠 박스, 패딩 박스, 테두리 박스, 여백 박스로 공간이 나뉘어 있다
width, height
와 같은 속성을 통해 크기를 조절한다padding
속성으로 크기를 조절한다border
속성으로 크기, 형태, 색 등을 변경 할 수 있다margin
속성을 통해 크기를 조절한다margin과 padding속성은 값의 갯수에 따라 적용되는 위치가 다른 특징이 있다(둘은 같음)
margin: auto;
- 값이 한 개 일때는 4방향 모두 적용된다margin: 10px 20px;
- 값이 두 개 일때는 세로 / 가로에 적용된다 (상하 10px, 좌우 20px)margin: 10px 20px 30px;
값이 세 개 일때는 처음 값은 위, 중간 값은 가로, 끝 값은 아래에 적용된다 (위 10px, 가로 20px, 아래 30px)margin: 10px 20px 30px 40px;
값이 네 개 일때는 위부터 시계방향으로 위 오른쪽 아래 왼쪽 순이다 (위 10px, 오른쪽 20px, 아래 30px, 왼쪽 40px)주의할 점 ❗️
HTML의 block요소와 inline요소 둘 다 margin, padding이 적용 되지만 inline요소는 독특하게도 margin의 위아래만 적용이 되지 않는다
이렇듯 inline요소는 특정 속성의 일정부분이 적용 안될 수 있으니 주의해야한다
border속성을 통해 테두리를 꾸밀 수 있다
/* 스타일 */
border: solid;
/* 너비 | 스타일 */
border: 2px dotted;
/* 스타일 | 색 */
border: outset #f33;
/* 너비 | 스타일 | 색 */
border: medium dashed green;
/* 전역 값 */
border: inherit;
border: initial;
border: unset;
참고: MDN
https://developer.mozilla.org/ko/docs/Web/CSS/border
border 스타일은 기본값인 none, 실선 solid, 점선 dashed를 제외하고는 짱 구려서 잘 사용하지 않으니 이 세 가지만 알아두자
text-decoration: underline;
은 마음대로 커스터마이징하기 어렵기 때문에border-bottom
을 통해 밑줄을 구현하기도 한다. (개발자들이 이 방법을 더 선호한다고 한다)
box-sizing
은 박스의 크기를 계산하는 방식을 설정한다
box-sizing: content-box;
는 default 설정으로, content만을 크기로 포함하기 때문에 테두리, 패딩등을 포함 하지 않는다
box-sizing: border-box;
는 테두리 및 패딩을 포함하기 때문에 일반적으로 크기를 설정하기 쉽다
box-sizing: border-box;
는 기본적으로 설정하는 프로퍼티 중 하나임으로 전체를 선택하는 *
에 넣는 경우가 많다
* {
box-sizing: border-box;
}
끝! ⭐️