250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- jQuery
- html5
- react
- iPhone
- iOS 개발자
- 백엔드
- 프론트엔드
- SWIFT
- keyframes
- 비전공자
- javascript
- 풀스택
- ipad
- php
- Animation
- hover
- effect
- HTML
- button
- css3
- front-end
- 비전공 개발자
- image
- CSS
- 개발자
- 자바스크립트
- MAC
- 애니메이션
- xcode
- IOS
Archives
- Today
- Total
비전공자 개발일기
CSS 본문
728x90
SMALL
CSS 속성(Properties)
- 박스 모델
- 글꼴 & 문자
- 배경
- 배치
- 플렉스(정렬)
- 전환
- 변환
- 띄움
- 애니메이션
- 그리드
- 다단
- 필터
1. 박스 모델( 내부 & 외부 여백, 가로 & 세로 등)
- width / height : 요소의 가로 / 세로 너비
- 기본값(요소에 이미 들어있는 속성의 값): auto(브라우저가 너비를 계산)
- 단위: px, em, vw 등
- span(인라인 요소) vs div(블록 요소)
span(인라인 요소) | div(블록 요소) | |
가로 | 콘텐츠의 크기만큼 자동으로 줄어듬 | 부모 요소의 크기만큼 자동으로 늘어남 |
세로 | 콘텐츠의 크기만큼 자동으로 줄어듬 | 콘텐츠의 크기만큼 자동으로 줄어듬 |
- max-width / max-height: 요소가 커질 수 있는 최대 가로 / 세로 너비
- 기본값: none(최대 너비 제한 없음)
- 단위: px, em, vw 등
- min-width / min-height: 요소가 작아질 수 있는 최소 가로 / 세로 너비
- 기본값: 0(최소 너비 제한 없음)
- 단위: px, em, vw 등
- margin: 요소의 외부 여백(공간)을 지정하는 단축 속성
- 기본값: 0
- margin = auto; (브라우저가 여백을 계산, 가로<세로> 너비가 있는 요소의 가운데 정렬에 활용)
- 단위: px, em, vw 등
- 음수 가능
- padding: 요소의 내부 여백(공간)을 지정하는 단축 속성
- 기본값: 0
- 단위: px, em, vw 등
- padding = n%(부모 요소의 가로 너비에 대한 비율로 지정)
- 요소의 크기가 커짐
- border: 요소의 테두리 선을 지정하는 단축 속성
- 요소의 크기가 커짐
- border = border-width border-style border-color; :띄어쓰기1) border-width: 요소 테두리 선의 두께, px, em, vw 등의 단위, 개별 속성 & 단축속성2) border-style: 요소 테두리 선의 종류, px, em, vw 등의 단위, 개별 속성 & 단축속성 3) border-color: 요소 테두리 선의 색상, 검정색(기본값), 색상(입력값), transparent(투명), 단축속성 4) 기타 속성: border-방향 / border-방향-속성
- border-radius: 요소의 모서리를 둥글게 깎음
- 기본값: 0(둥글기 없음)
- 단위: px, em, vw 등
- 좌상, 우상, 우하, 좌하
- box-sizing: 요소의 크기 계산 기준을 지정
- 기본값: content-box(요소의 내용으로 크기 계산)
- 입력값: border-box(요소의 내용 + padding + border로 크기 계산)
- overflow: 요소의 크기 이상으로 내용이 넘첬을 때, 보여짐을 제어하는 단축속성
- 기본값: visible(넘친 내용을 그대로 보여줌)
- 입력값: hidden(넘친 내용을 잘라냄)
- 입력값: auto(넘친 내용이 있는 경우에만 잘라내고 스크롤바 생성)
- 입력값: scroll(넘친 내용과 관계없이 x축, y축 스크롤바 생성)
- overflow-x, overflow-y
- display: 요소의 화면 출력(보여짐) 특성
- 기본값: block(상자<레이아웃>요소)
- 기본값: inline(글자 요소)
- 입력값: flex(플렉스 박스<1차원 레이아웃; 수평 또는 수직>)
- 입력값: gird(그리드<2차원 레이아웃>)
- 입력값: none(보여짐 특성 없음, 화면에서 사라짐)
- 기타(table, table-row, table-cell ... )
- opacity: 요소 투명도
- 기본값: 1(불투명)
- 입력값: 0 ~ 1 사이의 소수점 숫자
※ 단축 속성
- 속성: top, right, bottom, left
- 속성: top, bottom left, right
- 속성: top left, right bottom
- 속성: top right bottom left
※ 개별 속성
- 속성-top
- 속성-right
- 속성-bottom
- 속성-left
※ 표현단위
px | 픽셀 |
% | 상대적 백분율 |
em | 요소의 글꼴 크기 |
rem | 루트 요소(HTML)의 글꼴 크기 |
vw | 뷰포트 가로 너비의 백분율 |
vh | 뷰포트 세로 너비의 백분율 |
※ 색상 표현
색상 이름 | 브라우저에서 제공하는 색상 이름 | red, tomato, blue ... |
Hex 색상코드 | 16진수 색상 | #000, #FFF |
RGB | 빛의 삼원색 | rgb(255,255,255) |
RGBA | 빛의 삼원색 + 투명도 | rgba(0,0,0,0.5) |
2. 글꼴
- font- style: 글자의 기울기
- 기본값: none(기울기 없음)
- 입력값: italic(이텔릭체)
- font-weight: 글자의 두께
- 기본값: normal or 400 (기본 두께)
- 입력값: bold or 700 (두껍게)
- 100 ~ 900 -> 100단위 숫자 9개, normal(400)과 bold(700) 이외 두께
- font-size: 글자의 크기
- 기본값: 16px
- px, em, rem 등 단위로 지정
- line-height: 한 줄의 높이(행간과 유사)
- 기본값: normal(브라우저의 기본 정의를 사용)
- 입력값: 숫자(요소의 글꼴 크기의 배수로 지정)
- px, em, rem 등 단위로 지정
- font-family: 글꼴(서체) 지정
- 글꼴1, "글꼴2"(띄어쓰기 등 특수문자가 포함된 글꼴 이름은 큰따옴표로 묶어야함), ... 글꼴계열;
- 글꼴계열: serif(바탕체 계열), sans-serif(고딕체 계열), manospace(고정너비<가로폭이 동등> 글꼴 계열), cursive(필기체), fantasy(장식 글꼴 계열) 등
3. 문자
- color: 글자의 색상
- 기본값: rgb(0,0,0)<검정색>
- 입력값: 색상(기타 지정 가능한 색상)
- text-align: 문자의 정렬방식
- 기본값: left
- 입력값: right, center, justify(양쪽 정렬)
- text-decoration: 문자의 장식(선)
- 기본값: none(장식 없음)
- 입력값: underline(밑줄)
- 입력값: overline(윗줄)
- 입력값: line-through(중앙선)
- text-indent: 문자 첫 줄의 들여쓰기
- 기본값: 0(들여쓰기 없음)
- px, em, rem 등의 단위로 지정
- 음수 가능(내어쓰기)
4. 배경
- background-color: 요소의 배경 색상
- 기본값: transparent(투명함)
- 입력값: 색상(지정 가능한 색상)
- background-image: 요소의 배경 이미지 삽입
- 기본값: none(이미지 없음)
- 입력값: url("경로")
- background-repeat: 요소의 배경 이미지 반복
- 기본값: repeat(이미지를 수직, 수평 반복)
- 입력값: repeat-x(이미지를 수평 반복)
- 입력값: repeat-y(이미지를 수직 반복)
- 입력값: no-repeat(이미지 반복 없음)
- background-position: 요소의 배경 이미지 위치
- 입력값: 방향(top, bottom, left, right, center)
- px, em, rem 등의 단위로 지정
- background-size: 요소의 배경 이미지 크기
- 기본값: auto(이미지의 실제 크기)
- px, em, rem 등의 단위로 지정
- 입력값: cover(비율을 유지, 요소의 더 넓은 너비에 맞춤)
- 입력값: contain(비율을 유지, 요소의 더 짧은 너비에 맞춤)
- background-attachment: 요소의 배경 이미지 스크롤
- 기본값: scroll(이미지가 요소를 따라서 같이 스크롤)
- 입력값: fixed(이미지가 뷰포트에 고정, 스크롤 NO)
5. 배치
- position: 요소의 위치 지정 기준
- 기본값: static(기준 없음)
- 입력값: relative(요소 자신<처음 위치>을 기준, 배치 전 자리는 비어 있음)
- 입력값: absolute(위치 상 부모 요소를 기준)
- 입력값: fixed(뷰포트<브라우저>를 기준>
- 속성: top, bottom, left, right, z-index
- 음수 사용 가능※ relative의 경우, 배치를 위한 용도가 아님(위치 상 부모 요소의 역할을 위한 선언)
- 요소의 각 방향별 거리 지정(top, bottom, left, right)
- 기본값: auto(브라우저가 계산)
- px, em, rem 등의 단위로 지정
※ 요소 쌓임 순서(Stack order)
어떤 요소가 사용자와 더 가깝게 있는지(위에 쌓이는지) 결정
- 요소에 position 속성의 값이 있는 경우 위에 쌓임(static 제외)
- 1의 조건이 같은 경우, z-index 속성의 수ㅅ자 값이 높을 수록 위에 쌓임
- 1과 2의 조건까지 같은 경우, HTML의 다음 구조일수록 위에 쌓임
- z-index: 요소의 쌓임 정도를 지정
- 기본값: auto(부모 요소와 동일한 쌓임 정도)
- 입력값: 숫자(숫자가 높을수록 위에 쌓임)
- 요소의 display가 변경됨 = position 속성의 값으로 absolute, fixed가 지정된 요소는, display 속성이 블록으로 변경됨
6. 플렉스(정렬): 1차원 레이아웃(수직 & 수평 정렬)
- display: Flex container의 화면 출력(보여짐)
- 입력값: flex(블록 요소와 같이 flex container 정의)
- 입력값: inline-flex(인라인 요소와 같이 flex container 정의)
- display: flex or inline-flex; -> flex container로 만들 수 있음
- flex-direction: 주 축을 설정 => 수평
- 기본값: row(행축/ 좌 -> 우)
- 입력값: row-reverse(행축 / 우 -> 좌)
- flex-wrap: flex items 묶음(줄 바꿈) 여부
- 기본값: nowrap(묶음<줄바꿈> 없음)
- 입력값: wrap(여러 줄로 묶음)
- justify-content: 주 축의 정렬 방법 => 수평 정렬
- 기본값: flex-start(flex items를 시작점으로 정렬)
- 입력값: flex-end(flex items를 끝점으로 정렬)
- 입력값: center(flex items를 가운데 정렬)
- align-content: 교차 축의 여러 줄 정렬 방법 => 수직 정렬
- 기본값: stretch(flex items를 시작점으로 정렬)
- 입력값: flex-start(flex items를 시작점으로 정렬)
- 입력값: flex-end(flex items를 끝점으로 정렬)
- 입력값: center(flex items를 가운데 정렬)
- align-items: 교차 축의 한 줄 정렬 방법 => 수직 정렬
- 기본값: stretch(flex items를 시작점으로 정렬)
- 입력값: flex-start(flex items를 시작점으로 정렬)
- 입력값: flex-end(flex items를 끝점으로 정렬)
- 입력값: center(flex items를 가운데 정렬)
- order: flex items의 순서
- 기본값: 0(순서 없음)
- 입력값: 숫자(숫자가 작을수록 먼저)
- flex-grow: flex items의 증가 너비 비율
- 기본값: 0(증가 비율 없음)
- 입력값: 숫자(증가 비율)
- flex-shrink: flex items의 감소 너비 비율
- 기본값: 1(flex container 너비에 따라 감소 비율 적용)
- 입력값: 숫자(감소 비율)
- felx-basis: flex items의 공간 배분 전 기본 너비
- 기본값: auto(요소의 content 너비)
- px, em, rem 등의 단위로 지정
7. 전환
- transition: 요소의 전환(시작과 끝)효과를 지정하는 단축 속성
- (방법) transition: transition-property transition-duraition(필수) transition-timing-function transition-delay;
- transition-property: 전환 효과를 사용할 속성 이름을 지정
- 기본값: all(모든 속성에 적용)
- 입력값: 속성이름(전환 효과를 사용할 속성 이름)
- transition-duraition: 전환 효과의 지속시간을 지정
- 기본값: 0s(전환 효과 없음)
- 입력값: 시간(지속시간 <단위: s>을 지정)
- transition-timing-function: 전환 효과의 타이밍(Easing)함수를 지정
- 기본값: ease(느리게 -> 빠르게 -> 느리게)
- 입력값: linear(일정하게)
- 입력값: ease-in(느리게 -> 빠르게)
- 입력값: ease-out(빠르게 -> 느리게)
- 입력값: ease-in-out(느리게 -> 빠르게 -> 느리게)
- 참고 사이트
- transition-property: 전환 효과를 사용할 속성 이름을 지정
- (방법) transition: transition-property transition-duraition(필수) transition-timing-function transition-delay;
https://developer.mozilla.org/en-US/docs/Web/CSS/easing-function
https://greensock.com/docs/v2/Easing
- transition-delay: 전환 효과가 몇 초 뒤에 시작할 지 대기 시간을 지정
- 기본값: 0s(대기 시간 없음)
- 입력값: 시간(대기시간<단위: s>을 지정)
8. 변환
- transform: 요소의 변환 효과
- transform: 변환함수1 변환함수2 변환함수3 ...
- (방법) transform: 원근법 이동 크기 회전 기울임;
- perspective(속성): 하위 요소를 관찰하는 원근 거리를 지정
적용대상 | 기준점 설정 | |
perspective: 600px(속성) | 관찰 대상의 부모 | perspective-origin |
transform: perspective(600px) ... (함수) | 관찰 대상 | trasnform-origin |
- backface-visibility: 3D 변환으로 회전된 요소의 뒷면 숨김 여부
- 기본값: visible(뒷면 보임)
- 입력값: hidden(뒷면 숨김)
728x90
LIST
'HTML _CSS' 카테고리의 다른 글
CSS - SCSS (0) | 2021.08.01 |
---|---|
CSS - BootStrap (0) | 2021.07.31 |
CSS (0) | 2021.07.26 |
HTML (0) | 2021.07.25 |
HTML_CSS_BASIC (0) | 2021.07.19 |