
에릭 마이어(Eric Meyer) ← CSS 권위자(reset.css)
우선순위 확인 -https://specificity.keegan.st/
부모 요소의 적용된 css 요소는 자식 요소에게도 상속 된다.
상속 가능 여부 확인 - https://www.w3.org/TR/CSS22/propidx ← CSS22 기준
px(픽셀)%em(부모요소 상대적) rem(root 요소 상대적) ← html에 설정된 font-sizevw (viewport with)vh (viewport height)HEX 표기법(Hex = 16진수) #RRGGBB (0~F)rgb(255, 255, 255) 0~255rgba(RED, GREEN, BLUE, Alpha) Alpha = 0~1font-family: 폰트를 지정할 때 사용.
.font {
/* 고딕, 명조, 둥글, 화려한, 필기체 */
font-family: "font name", sans-serif; /* */
}
font-size: 폰트의 크기
color: text 색상
font-weuight: 폰트의 굵기
font-style: normal, intalic, oblique
font-variant: 영문을 크기가 작은 대문자
text-align: 정렬 → left, center, right, justify
text-decoration: 텍스트 스타일 수정
letter-spacing: 자간
line-height: 행간
모든 HTML 요소는 사각형 모양의 박스에 둘러 쌓여져 있다.
margin (-top, -right, -left, -bottom)⚠️ 마진 겹침 현상
CSS에서 두 개 이상의 블록 요소가 인접해 있을 때, 서로의 마진(margin)이 겹치면서 발생하는 현상입니다.
border(-top, -right, -left, -bottom)padding(-top, -right, -left, -bottom)width, heightbox-sizing: border-box;,box-sizing:content-box margin, padding 방향성
.box {
margin: 10px 10px 10px 10px; /* 위 오른쪽 아래쪽 왼쪽 */
margin: 10px 10px 10px; /* 위 오른쪽,왼쪽 아래쪽 */
margin: 10px 10px; /* 위,아래쪽 오른쪽,왼쪽 */
margin: 10px; /* 위,아래쪽,오른쪽,왼쪽 */
}
blockinlineinline-blocknoneflexgrid
flex,grid는 사용법 추가
background-imageurl(img.jpg)url('img.jpg'),url('img2.jpg')background-repeatrepeat: 이미지를 가로 및 세로로 반복 (기본값)repeat-x: 이미지를 가로로만 반복repeat-y: 이미지를 세로로만 반복no-repeat: 이미지를 반복하지 않음space: 이미지를 반복하고 남은 공간을 공백으로 나눔round: 이미지를 반복하고, 이미지 크기를 조정하여 남은 공간을 채움background-positionbackgroud-sizeauto: 기본 크기 유지 (기본값)cover: 요소의 배경을 완전히 덮도록 이미지 크기 조정contain: 이미지의 비율을 유지하며 요소 안에 맞게 조정px, % 단위 사용 가능 (예: 100px 100px, 50%)backgroud-attackmentscroll: 페이지 스크롤에 따라 배경 이미지가 움직임 (기본값)fixed: 스크롤 시 배경 이미지가 고정됨local: 요소의 스크롤에 따라 배경 이미지가 움직임backgrouddiv {
background: url('image.jpg') no-repeat center/cover fixed; /* 모든 속성 한 줄로 설정 */
}
.article{...style}
.article__alert{...style}
.article__alert--error{color: red;}
article은 Block, alert은 Element, error는 Modifier
Modifier 부분은 설명, 목적등을 입력하면 된다.
뎁스가 늘어나면 새로운 Block을 설정해준다.
같은 구성의 요소여도 스타일이 다르다면 새로운 Block을 사용한다.