CSS 기초
인프런 HTML5 & CSS3 기초 문법 올인원 / 개발자 이도해
인라인, 인터널, 익스터널 방식
인라인 : 태그에 직접 스타일 작성
인터널 : style태그 내부에 스타일 작성
익스터널 : 별도에 파일에 스타일 작성
<link rel="stylesheet" href="./style.css" />
선택자
전체 선택자 :
*
html 모든 요소태그 요소 선택자 :
tag name
해당 모든 태그에 적용아이디 선택자 :
#id
클래스 선택자 :
.class
결합 선택자 :
부모(띄어쓰기) 자손
자손 요소 모두 선택부모 > 자식
자식 요소만 선택
텍스트와 폰트 스타일
텍스트 : 컬러
color
정렬text-align
줄간격line-height
데코text-decoration
폰트 :
font-size
font-weight
font-family
링크와 리스트 스타일
a(선택자):hover(상태)
list-style
가상 선택자
실제로 존재하진 않지만 필요에 의해 임의로 지정해서 사용하는 선택자
ex)
hover
focus
active
등구조적인 가상 선택자
ex)
first-child
last-child
nth-child(3,even,odd)
여백과 테두리 스타일
내부 여백 :
padding: 상하px 좌우px
외부 여백 :
margin
테두리 :
border
padding과 margin사이
박스 모델, 박스 모델 사이징
박스 모델의 width와 height는 내용만을 기준으로 함(테두리나 여백 포함x)
box-sizing: border-box
: 테두리를 기준으로 박스 모델 크기를 정함
디스플레이와 포지션
디스플레이display : HTML의 인라인, 블록 요소와 같음. 요소가 화면에서 어떻게 표현되는가 어떻게 위치하는가를 지정하는 속성(지정하지 않을 경우 HTML의 기본값을 따라감)
none
: 표시Xblock
inline
:block
속성을 잃음 따라서 사이즈나 여백 지정 불가inline-block
: 블록 특성유지 인라인 처럼 동작
포지션position
static
: 기본값. HTML태그가 가지는 기본값fixed
: 뷰포트를 기준으로 위치를 지정. 웹 페이지 사이즈가 변하거나 스크롤이 생겨도 고정absolute
: 조상요소들 중 포지션이relative
로 지정된 가장 가까운 조상요소를 기준으로 위치를 정함(없을 경우body
기준)relative
: 요소의 현재 위치를 기준으로 지정된 오프셋만큼 떨어져서 위치
플렉스 레이아웃 Flexbox
모던 CSS. 플렉스를 적용할 컨테이너와 플렉스 관련 속성이 적용되어 배치될 실제 아이템들로 구성 가로 또는 세로 단일 방향 레이아웃 배치에 적합
축(Axis) : 메인 축(아이템이 배치된 방향의 축)과 교차 축(메인 축과 수직을 이루는 축)을 기준으로 아이템을 정렬
컨테이너 속성
flex-direction: row(defalt) column
flex-wrap
: 아이템 크기에 따른 줄바꿈 설정flex-flow
: direction과 wrap의 축약형justify-content: center
space-between
space-around
: 메인 축의 정렬을 지정align-items
(높이 지정 필수)stretch
(컨테이너 높이에 따라 늘어남) : 교차 축의 정렬을 지정align-content
: 줄바꿈이 활성화 되어있을때의 정렬
아이템 속성
flex-basis
: 아이템의 기본크기를 지정하는데 메인 축 방향에 따라 결정됨flex-grow
(기본값 0, 비율설정가능) : 아이템들이 flex-basis이상으로 늘어나는 값flex-shrink
(기본값 1=줄어듬 0=줄어들지않음) : grow와 반대로 기본 값 이하로 줄어드는 값flex
: 축약형align-self
: 단일 아이템 자기 자신의 교차축 방향 정렬을 지정하는 속성order
: 배치 우선 순위
그리드 Grid
모던 CSS. 행과 열로 구성된 레이아웃을 배치하는데 적합한 기능
컨테이너 속성
grid-template-rows(columns) : repeat(auto-fill, minmax(200px, 1fr))
: 행과 열을 설정 (fr단위로 설정하면 비율, auto-fit은 남은 공간을 셀을 늘려서 채움)rows(columns)-gap
: 행열 여백grid-auto-rows(columns)
: 템플릿에서 벗어나는 컬럼에 적용justify-items
: 가로방향 정렬align-items
: 세로방향 정렬place-items
: 축약형'' -content
: 아이템들의 크기가 컨테이너 크기보다 작을때 정렬 방향 지정
아이템 속성
grid-row(column)[-start(end)] : 셀 번호[1/3]
: 셀 병합처럼 아이템의 크기를 지정justify(align)-self
: 아이템 본인의 정렬order
: 배치 우선순위
Last updated