다시 시작하는 CSS😗
GitHub Desktop을 사용해 실습 내용 commit 해보면서 github 익히기💕
text를 어떤식으로 디자인하느냐에 따라 가독성이 좋아지고 사용자 경험도 좋아진다.
.text {
font-size: 24px;
line-height: 1.5; // em 단위는 생략 가능
letter-spacing: -0.03em;
font-family: "Poppins", "Roboto", sans-serif;
font-weight: 400;
/* 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 */
color: #0061ff;
}
1) font-size
글자 크기를 변경하는 속성
<글자 크기 단위>
절대 단위(Absolute unit)
px
(pixel)
상대 단위(Relative unit)
다른 글자와 상대하여 어떤값을 기준으로 하느냐에 따라서 값이 달라진다.
em
(equal to capital M)
특정 요소에 적용된 폰트 사이즈에 비례하여 크기가 지정된다. (불안정하기 때문에 사용할 때 주의)
1em = 실제로 적용된 폰트 사이즈
rem
(root em)
root는 가장 최상단 요소(뿌리)인 html을 의미함
html에 적용된 폰트 사이즈에 비례하여 크기가 지정된다.
1rem = html에 적용된 폰트 사이즈
2) line-height
줄 간격을 지정하는 속성
px, em, rem 단위 사용 가능하며, em
단위를 가장 많이 사용한다.
적용된 폰트 사이즈에 비례한 크기만큼 줄 간격을 둔다.
em을 사용할 때는 단위를 생략❗하는 것이 관례이지만, px 또는 rem을 사용할 때는 반드시 단위를 작성해야 한다.
중요✨ line-height가 어떤 값이든 글자는 줄 간격의(수직 기준) 중앙에 위치한다.
(요소를 수직으로 정렬할 때 'line-height' 속성을 자주 사용!)
3) letter-spacing
글자와 글자 사이 간격(자간)을 조정하는 속성
px, em 단위 사용 가능하며, em
단위를 많이 사용한다.
적용된 폰트 사이즈에 비례해서 몇 % 간격을 줄일 것인지 (- 부호를 사용)설정한다.
line-height와 달리, em 단위를 반드시 작성❗해야 한다. (단위 생략 불가)
4) font-family
폰트 서체를 변경하는 속성
폰트 서체가 없을 경우를 대비하여 여러 서체를 나열하기도 한다.
사용하고자 하는 폰트를 우선적으로 작성한다.
font-family: "Poppins", "Roboto", sans-serif;
(Poppins 서체 사용 -> 없다면 Roboto 서체 사용 -> 없다면 아무 sans-serif 계열 서체 사용)
※ 서체 비교
serif(글자 끝에 삐침이 있음/ 명조체 느낌)
sans-serif(글자 끝에 삐침이 없음/ 돋움, 고딕체 느낌)
5) font-weight
폰트 굵기를 변경하는 속성
속성값은 100에서 900까지 100 단위로 지정한다.
중요✨ font-wieght의 관례! 암기!!
regular size(일반적인 폰트) - 400 / bold size(굵은 폰트) - 700
6) color
글자 색상을 변경하는 속성
<글자 색상 사용 방식>
hex : 문자를 사용하여 색상 표현 (예. #0066ff)
rgb : 삼원색을 사용하여 색상 표현 (예. rgba(0, 102, 255))
rgba : rgb와 함께 투명도(alpha)를 사용하여 색상 표현 (예. rgba(0, 102, 255, 1)
다양한 font-size, font-weight, color 등을 정리해 사용할 폰트들로만 구성된 라이브러리
font-family를 import한 경우, [Inspect] 에서 정상적으로 import 되었는지 확인하는 방법
Font
를 눌러 잘 불러와졌는지 확인font-size의 경우, font-size에 어울리는 line-height, letter-spacing 세 가지를 같이 정의하는 경우가 많다.
폰트의 어떤 분류와 관련된 것인지를 명확하게 구분하기 위해 클래스명에 font-size(fs), font-weight(fw), color(text)를 함께 명시해준다.(개인적인 규칙)
1) text-align
텍스트 정렬하는 속성
속성값: left(왼쪽 정렬)-기본값 | right(오른쪽 정렬) | center(가운데 정렬)
2) text-indent
텍스트 들여쓰기 속성
문단에 첫번째 줄에 들여쓰기가 적용되며, 속성값에는 들여쓰고 싶은 크기만큼 작성한다.
(+ 부호는 들여쓰기, - 부호는 내어쓰기)
3) text-transform
알파벳 문자에 적용되는 텍스트 변형 속성
속성값: none-기본값 | capitalize(모든 단어의 앞글자를 대문자로) | uppercase(모든 글자를 대문자로) | lowercase(모든 글자를 소문자로)
4) text-decoration
텍스트(띄어쓰기 포함) 줄긋기 스타일로 꾸미는 속성
속성값: none-기본값 | underline(밑줄) | line-through(중간줄) | overline(윗줄)
anchor 태그는 기본적으로 생기는 파란색 밑줄(underline)을 해제하는 경우(none) 'text-decoration'이 많이 사용한다.
5) font-style
속성값: normal-기본값 | italic(기울기) | oblique
em 태그는 기본적으로 생기는 기울기(italic)를 해제하는 경우(normal) 'font-style'이 많이 사용된다.
웹사이트에서 사용하는 폰트가 사용자의 컴퓨터에 없다면 폰트를 제공해야 한다.
body 태그에 'font-family'를 적용하면 모든 요소에 해당 폰트가 적용되므로 요소마다 속성을 선언하지 않아도 된다.
1) 오픈 소스에서 갖다 쓰는 방법
html에 link 태그를 이용하여 css 연결
css에 font-family 속성 적용
2) 직접 제공하는 방법
브라우저마다 지원되는 형식이 다르기 때문에 형식에 맞는 파일 경로를 연결
font-face src format 참고 사이트
제공하는 폰트 종류만큼 'font-face'를 작성한다.
@font-face {
font-family: "NanumSquare"; // 사용할 폰트명 지정
font-style: normal;
font-weight: 400;
src: url('./assests/fonts/NanumSquareRoundR.eot'); /* IE9 Compat Modes */
src: url('./assests/fonts/NanumSquareRoundR.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('./assests/fonts/NanumSquareRoundR.woff2') format('woff2'), /* Super Modern Browsers */
url('./assests/fonts/NanumSquareRoundR.woff') format('woff'), /* Pretty Modern Browsers */
url('./assests/fonts/NanumSquareRoundR.ttf') format('truetype'); /* Safari, Android, iOS */
}
<제공하는 폰트를 연결하는 2가지 방법>
① html에서 link 태그를 이용해 연결
css에서 폰트 사용되는 요소에 font-family 속성 작성
<link rel="stylesheet" href="./fonts.css" />
.body {
font-family: "NanumSquare";
}
② css에 직접 import 하기
css에서 font-face 작성한 css파일을 연결
폰트 사용되는 요소에 font-family 속성 작성
@import url("./fonts.css"); // Embed font
.body {
font-family: "NanumSquare";
}