반응형
CSS란?
CSS: Cascading Style Sheets
- Cascading : 계단식
- Style : 멋을 내다
- Sheets : (종이) 한 장
⇒ 계단식으로 스타일을 정의하는 문서
- HTML + CSS ⇒ 문서 열기 ⇒ 코드 해석 ⇒ 웹 페이지
- HTML이 없는 CSS는 사실상 의미가 없다
문법 학습 및 속성의 종류
기본 문법 및 사용 방법
**CSS 기본 문법**
선택자{
속성명: 속성값;
}
선택자: 어떤 요소에 스타일을 적용할지에 대한 정보
{중괄호}: 선택한 요소에 적용할 스타일을 정의하는 영역
속성명: 어떤 스타일을 정의하고 싶은지에 대한 정보(색상, 크기 등)
속상값 : 어떻게 정의하고 싶은가에 대한 정보
- HTML에 CSS를 더하려면
- 인라인 스타일: 태그에 직접 기술하기
- 스타일 태그: 스타일시트를 위한 태그를 추가하여 작성하기
- 문서 간의 연결: 스타일시트 문서를 따로 작성하여 HTML 문서와 연결하기
선택자 - 1
선택자의 종류
- 기본 선택자
- 그룹 선택자
- 특성 선택자
- 결합 선택자
- 의사 클래스
- 의사 요소
기본 선택자
- 전체 선택자
- 모든 요소를 선택한다
-
- 기호는 문서 내의 모든 요소를 의미한다
- 태그 선택자
- 주어진 이름을 가진 요소를 선택한다
- 주어진 이름을 가진 요소가 다수일 경우, 해당 요소들을 모두 선택함
- 클래스 선택자
- 주어진 class 속성값을 가진 요소를 선택한다
- 주어진 class를 가진 요소가 다수일 경우, 해당 요소들을 모두 선택함
- 아이디 선택자
- 주어진 id 속성값을 가진 요소를 선택한다
- id는 고유한(하나임) 식별자 역할을 하는 전역 속성임
그룹 선택자
- 다양한 유형의 요소를 한꺼번에 선택하고자 할 때 사용
- 쉼표를 이용해 선택자를 그룹화한다
선택자가 겹치는 경우
- 나중에 작성된 스타일이 적용된다
- 선택자가 다르지만 요소가 겹치는 경우, 선택자 우선순위에 의해 적용된다
- 아이디 선택자 > 클래스 선택자 > 태그 선택자
텍스트 관련 속성
- font-family
- 요소를 구성하는 텍스트의 글꼴을 정의한다
- font-size
- 수치와 단위를 지정해 글자 크기를 정의한다
- px: 픽셀
- rem: HTML 태그에 대응하는 상대적인 크기
- em: 부모태그(상위태그)에 대응하는 상대적인 크기
- 수치와 단위를 지정해 글자 크기를 정의한다
- text-align
- 블록 내에서 텍스트의 정렬 방식을 정의한다
- left / right
- center
- justify
- 블록 내에서 텍스트의 정렬 방식을 정의한다
- color
- 텍스트의 색상을 정의한다
- 키워드 (ex. red)
- RGB 색상 코드 (#FF0000)
- RGB 함수 (rgb(100%, 0%, 0%))
- 텍스트의 색상을 정의한다
블록 레벨 vs 인라인
- 블록 레벨: 자기가 속한 영역의 너비를 모두 차지
- 인라인: 자기에게 필요한 만큼의 공간만
- display
- 요소를 블록과 인라인 요소 중 어느 쪽으로 처리할지 정의한다
- border
- 요소가 차지하고 있는 영역에 테두리를 그릴 수 있다.
박스모델
<aside> 💡
박스모델
브라우저가 요소를 렌더링 할 때, 각각의 요소는 기본적으로 사각형의 형태로 영역을 차지한다
이 영역이 박스이며, CSS는 박스의 크기, 위치, 속성을 결정할 수 있다
박스의 구성
- 콘텐츠 영역: width, height
- 안쪽 여백: padding
- 경계선 (테두리): margin
- 바깥쪽 여백: border-width </aside>
- padding과 margin은 콘텐츠 주변에 여백을 주는 요소
- 각 면에 개별적으로 두께 정의 가능
- 하위 속성 정의하기
- padding에 접미사 붙여 정의 (ex. padding-left)
- margin 또한 같음
- 여러 값을 한 번에 정의하기
- ex. margin: 10px 20px 30px 40px
- 하위 속성 정의하기
- box-sizing
- 요소의 너비와 높이를 계산하는 방법 지정
- content-box: 너비와 높이가 콘텐츠 영역만을 포함
- border-box: 너비와 높이가 안쪽 여백과 테두리까지 포함
- 요소의 너비와 높이를 계산하는 방법 지정
- background
- 콘텐츠의 배경을 정의한다.
- 단축 속성으로 색상, 이미지, 반복 등 다양한 하위 속성을 정의할 수 있다.
float & clear
- float 속성은 요소가 문서의 일반적인 흐름에서 제외되어 자신을 포함하고 있는 컨테이너 왼쪽이나 오른쪽에 배치되게 한다
- clear 속성은 float 요소 이후에 표시괴는 요소가 float을 해제(clear)하여 float 요소의 아래로 내려가게 할 수 있다.
Position
- position은 문서 상에 요소를 배치하는 방법을 정의한다
- position : 이렇게 배치할거야
- top: 위면에서부터 얼만큼 떨어트릴거야
- right
- bottom
- left
- 속성값
- static
- relative: 요소를 일반적인 문서 흐름에 따라 배치하되, 상하좌우 위치 값에 따라 오프셋 적용
- absolute: 요소를 일반적인 문서 흐름에서 제거하고, 상위 요소 중 가장 가까운 position 지정 요소에 상대적으로 오프셋 적용
- fixed: 요소를 일반적인 문서 흐름에서 제거하고, 지정된 위치에 고정시킨다
- sticky: 요소를 일반적인 문서 흐름에 따라 배치하되, 스크롤 되는 가장 가까운 상위 요소에 대해 오프셋 적용
flexbox
- 박스 내 요소 간의 공간 배분과 정렬 기능을 제공하기 위한 1차원 레이아웃
- 레이아웃을 다룰 때 한 번에 하나의 차원만을 다룬단 특성 때문에
- 주축(main-axix)과 교차축(cross-axis)
- 속성
- justify-content: 주축 배치 방법
- align-items: 교차축 배치 방법
- align-self: 교차축 개별요소 배치 방법
- flex-wrap: 줄 바꿈 여부
선택자 - 2
특성 선택자
- 컨셉
- 주어진 속성의 존재 여부나 그 값에 따라 요소를 선택한다
- 값 확인
- 기호를 추가하여 요소를 선택하는 방식을 다양화할 수 있음
결합 선택자
- 컨셉
- 두 개 이상의 선택자를 결합시켜 결합된 조건을 만족하는 요소를 선택
- 자손 결합자: 두 개의 선택자 중 첫 번째 선택자 요소의 자손을 선택할 수 있다
- 형제 결합자: 두 개의 선택자 중 첫번째 선택자 요소의 형제를 선택할 수 있다
- 두 개 이상의 선택자를 결합시켜 결합된 조건을 만족하는 요소를 선택
의사클래스
- 선택자에 추가하는 키워드로, 요소가 어떤 특정한 상태가 되었을 때 요소를 선택하겠다는 의미
- 예시
- hover
- active
- focus
- disabled
- nth-child()
의사요소
- 선택자에 추가하는 키워드로, 이를 이용하면 선택한 요소의 특정부분에 대한 스타일을 정의할 수 있다
- 예시
- after
- before
- first-line
- marker
- placeholder
상속 및 공용 키워드
- 상속: 하위 요소가 상위 요소의 스타일 속성값을 물려받는 것
- 상속이 이뤄지는 속성이 있고 안되는 속성들이 있다
- 공용 키워드: 모든 CSS 속성에 사용 가능한 키워드가 있다
- 예시
- inherit
- initial
- unset
- 예시
z-index
- 요소의 쌓임 순서를 정의할 수 있다.
- 정수 값을 지정하여 쌓임 맥락에서의 레벨을 정의하는 방식으로 적용되며, 위치 지정 요소에 대해 적용 가능
반응형
'WINK-(Web & App) > HTML & CSS & JS 스터디' 카테고리의 다른 글
[2024 - 2 웹기초 스터디] 김재승 #2주차 (0) | 2024.11.11 |
---|---|
[2024-2 웹기초 스터디] 이민형 #2주차 (3) | 2024.11.07 |
[2024-2 웹기초 스터디] 김지수 #2주차 (1) | 2024.11.06 |
[2024-2 웹기초 스터디] 이민형 #1주차 (0) | 2024.11.01 |
[2024-2 웹기초 스터디] 김재승 #1주차 (1) | 2024.10.31 |