Selector
선택자(selector) : 스타일 적용하려하는 html 요소를 선택하는 역할
- id 선택자 : #
- class 선택자 : .
- 전체 선택자 : *
Text property
속성(property) : 지정할 스타일의 속성
- font-family : 폰트 종류
- font-style : 폰트 스타일, normal(기본) / italic(이탤릭체) / oblique(기울임꼴)
- font-weight : 폰트 굵기
- text-align : 폰트 위치, left / center / right
- line-height : 문장 사이 간격
- letter-spacing : 글자 사이 간격
- text-indent : 들여쓰기 지정
Size
값(value) : 키워드나 특정 단위를 이용해 원하는 스타일 적용
- px : 절대 크기
- em : 상대 크기, 현재 스타일이 지정된 요소의 font-size 기준
- rem : 상대 크기, 최상위 요소의 font-size 기준
- % : 상대 크기 : 현재 창의 크기를 기준
- fr : 현재 요소를 일정 비율로 나누는 기준
화면의 배치 방법을 나타낸다. "block"과 "inline"을 필요에 따라 변경 할 수 있고, "flex", "grid"와 같은 레이아웃을 사용하는데에 정의 내릴 수 있다.
1. display : block
해당요소를 block으로 지정, 한 줄을 모두 차지하기 때문에 세로로 나열된다.
- 대표적인 block -level 요소 태그
<p>, <h1>~<h6>, <ul>, <ol>, <div>, <blockquote>, <form>, <hr>, <table>, <fieldset>, <address>
2. display : inline
해당요소를 inline으로 지정, 한줄을 차지하지 않기때문에 가로로 나열된다.
- 대표적인 inline-level 요소 태그
<img>, <object>, <br>, <sub>, <sup>, <span>, <input>, <textarea>, <label>, <button>
3. display : inline-block
해당요소를 inline으로 배치하면서 내용은 블록 레벨 속성을 지정하고 싶을때 사용한다.예) 한 줄에 여러 요소를 배치할 수 있지만, 너비나 높이, 마진 등의 값을 적용시킬때 사용
4. display : none
화면에 표시를 하지 않을때 사용visibility 속성의 hidden과 비슷한 역할을 하지만 visibility는 화면에서 보여지지만 않을 뿐 공간은 그대로 차지하지만 display : none은 공간조차 차지하지 않는다.
박스모델이란 웹 문서의 내용을 박스 형태로 정의하는 방법
box-sizing
박스의 너비 기준을 정한다.
웹 문서에 여러 요소를 배치할 때 각 요소이 너비를 계산해야 한다.
CSS의 컨텐츠 영역의 너비를 나타내는 width속성은 해당요소에 적용된 패딩이나 테두리 크기는 따로 계산해서 배치해야 했다.box-sizing속성을 사용하면 컨텐츠 영역의 너비에 패딩/테두리 크기까지 합쳐서 width속성을 지정할 수 있다.
ex)
▪️ box-sizing : content-box : width속성 값을 컨텐츠 영역 너비값으로 사용(기본값)
▪️ box-sizing : border-box : width속성 값을 컨텐츠 영역에 테두리까지 포함된 박스 모델 전체 너비 값으로 사용📍주의!
박스모델의 마진(margin
)속성은 포함되지 않는다.
layout을 잡는 방법은 여러가지가 될 수 있다고 생각한다. 그래서 나는 layout 잡는게 더 어렵다...
위에 box-model을 토대로 position을 적절하게 잡아가며 layout을 구성해도 되고, flex를 사용해도 되고, grid를 사용해도 되고...천차만별이다.
나는 개인적으로 flex와 grid가 편하지만, position도 잘 다루고 싶다. 각각의 기술들을 어떤 상황에서 사용해야하는지 알아보고, 사용법을 익히는 것이 가장 중요할 것 같다.
아무튼 layout은 다음 글에서 소개할거니깐, 이만 STOP!ㅎㅎ
👉 "CSS : Layout" 편으로 이동!
css에 대한 기본 내용을 정리해 봤는데, 이것 보다 더 디테일한 css의 속성들은 실습을 진행하며 알아가는 것이 좋을 것이라고 판단했다!
작업하다가 유용한 기능이 생기면 메모해두었다가 업로드하겠다!
참고
https://bit.ly/3thHW6N
https://bit.ly/3wT9ima