04/19 html & css 온라인 수업 내용
css 개요
기본 문법 및 주석
1.선택자 {속성: 값;}
= 속성은 값이다. 라고 할 수 있음.
2.선택자: css를 적용할 대상(selector)
ex) div { color : blue;}
3.tab 들여쓰기 , 혹은 shift + tab 내어쓰기
4.주석
/ 설명 작성 /
ctrl +/ , cmd+
선언방식
-
내장방식: 에다가 내용으로 스타일을 작성하는 방식
-
링크방식: 로 외부 css 문서를 가져와서 연결하는 방식
-
인라인방식: 요소 style속성에 직접 스타일을 작성하는 방식 (선택자 없음)
-
병렬방식 (한번에 가지고 와서 연결, 빨리 끝남)
-
권장하는 방식
내장방식: 에다가 내용으로 스타일을 작성하는 방식
링크방식: 로 외부 css 문서를 가져와서 연결하는 방식
인라인방식: 요소 style속성에 직접 스타일을 작성하는 방식 (선택자 없음)
병렬방식 (한번에 가지고 와서 연결, 빨리 끝남)
권장하는 방식
ex) <div style= ‘color: red; margin: 20px;>
import방식: css의 @import 규칙으로 css문서 안에서 또 다른 css문서를 가져와 연결하는 방식
- 이미 연결되어있는 css 파일에 다른 css파일을 연결한다는 의미
- 직렬방식
선택자_기본
기본:
-
" * " 에스터리스크 = 모든요소를 선택하겠다는 뜻
ex) * {color: red;}
-
태그 선택자 : abc = 태그 이름이 abc인 요소 선택
ex) li { color: red;} 와 같은 li태그를 말함
-
클래스 선택자 : html 의 class 속성의 값이 abc인 요소를 선택
ex) .orange { color: red;}
-
id 선택자 : html의 id 속성의 값이 abc인 요소 선택
ex) #orange {color: red;}
복합:
- 일치 선택자 : 선택자 abc 와 xyz를 동시에 만족하는 요소 선택
" * " 에스터리스크 = 모든요소를 선택하겠다는 뜻
ex) * {color: red;}
태그 선택자 : abc = 태그 이름이 abc인 요소 선택
ex) li { color: red;} 와 같은 li태그를 말함
클래스 선택자 : html 의 class 속성의 값이 abc인 요소를 선택
ex) .orange { color: red;}
id 선택자 : html의 id 속성의 값이 abc인 요소 선택
ex) #orange {color: red;}
ex) span.orange { color: red;}
- 반드시 태그 선택자 앞에 , class,id 를 뒤에다 적어야함.
- 자식 선택자 : 선택자 abc의 자식요소 xyz선택
ex) ul >.orange { color: red;}
- 하위(후손)선택자: 선택자 abc 의 하위 xyz 선택, 띄어쓰기가 선택자의 기호 !
ex) div .orange { color: red;}
조상요소(태그) + 띄어쓰기 1번 + 자식요소
- 인접형제선택자 : 선택자 abc의 다음형제요소 xyz하나를 선택
ex) .orange + li {color: red;}
<ul>
<li>딸기 </li>
<li>수박 </li>
<li class=”orange”>포도 </li>
<li>오렌지 </li>
-이렇게 있을경우 , 뒤에서부터 해석하면 “li인 태그중에 orange 요소 다음 형제 요소를 선택하겠다라는 뜻” , 결국 오렌지를 가리킴.
- 일반형제선택자 :선택자 abc의 다음형제 요소 xyz모두를 선택
ex) .orange ~ li { color: red;}
<ul>
<li>딸기 </li>
<li>수박 </li>
<li class=”orange”>포도 </li>
<li>오렌지 </li>
<li>귤 </li>
이렇게 있을경우 , 오렌지와 귤 모두를 가리킴
가상클래스:
- :hover = 마우스커서가 올라가 있는 동안 선택
ex) a:hover { color : red;}
- active = 마우스 클릭을 하고 있는 동안 선택
ex)a:active { color : red;}
- focus = 포커스가되면 선택 (input, a, button,label, select등 여러요소가 있음)
ex) input:focus { background-color: orange;}
- 커서를 활동시키면 테두리창이 파란색으로 바뀌는데(이부분은 자유롭게 바꿀수 있음 css로) 그것이 focus된다고 보면 됨.
- tabindex속성을 통해 focus가 될 수 있는 요소를 만들 수 있습니다.
이름에도 알 수 있듯 이 tab키를 이용해 focus할 수 있는 순서를 지정하는 속성이다. 순서값으로 -1이 아닌 다른 값을 넣는 것은 흐름을 방해하기 때문에 권장하지 않음. ex)
- firstchild : 선택자 abc가 형제 요소 중 첫째라면 선택
ex) .fruits span:first-child {color: red;} 일경우, 여기서 span태그와 :first-child는 붙어있어서 일치선택자이다.
- 뒤에서부터 해석하면 첫번째 태그인데, span 태그여야한다는 뜻
- .fruits가 span 태그와 띄어쓰기 되어있기 때문에 하위 (자식)요소여야한다는 뜻.
<div class=”fruits”>
<span>딸기</span>
<span>사과</span>
<span>포도</span>
<h3> 망고</h3>
</div>
- 결국 여기서 딸기를 가리킴.
- last-child :
선택자 abc가 형제 요소 중 막내라면 선택
.fruits h3:last-child {color: red;}
- 위에서보면 망고를 가리킴
- nth-child
선택자 abc가 형제요소중 n째라면 선택
(1) .fruits *:nth-child(2) {color: red;}
- fruits에서, 전체에서, 2번째인경우를 찾는다는 뜻.
- 위에서 보면 사과를 가리킴
(2) .fruits *:nth-child(2n) {color: red;}
- n은 0부터 시작
- 2의배수(2,4,6,8)짝수번째의 요소를 가리킨다는 뜻
(3) .fruits *:nth-child(2n+1) {color: red;}
- 홀수번째의 요소를 가리킨다는 뜻
(4) .fruits *:nth-child(n+2) {color: red;}
- 0+2=2, 1+2=3, 2+2=4, 3+2=5 이런식으로 2부터 출력이 된다. 그래서
- 1번째것 제외하고 두번째것부터 전체다를 가리킨다는 뜻.
- 이런식으로 3으로 바뀌면 2번째부터 그 이후를 가리킨다.
(5) .fruits *:nth-child(-n+3) {color: red;}
- 0+3=3, -1+3=2, -2+3=1 까지 앞에서 3개의 요소를 나타낸다.
(6) .fruits *:nth-child(3n+4)
- 4 [=(3×0)+4], 7 [=(3×1)+4], 10 [=(3×2)+4], 13 [=(3×3)+4], ... 번째의 요소를 나타냅니다.
(7) .fruits p:nth-child(n) {color: red;}
- p전체를 다 가리킨다는 뜻 .
(8) .fruits p:nth-child(n+8):nth-child(-n+15) {color: red;}
- 자식 그룹 내에서 8번째부터 15번째 까지의
<p>
요소를 나타냅니다.
not 부정선택자 :
선택자 xyz가 아닌 abc 요소 선택
.fruits *:not(span) {color: red;}
- 뒤에서부터 보면 , span 태그 말고, 전체 다를 뜻하고, fruits 태그안에 있어야한다를 뜻함.
<div class=”fruits”>
<span>딸기</span>
<span>사과</span>
<span>포도</span>
<h3> 망고</h3>
</div>
- 여기서 망고를 뜻한다.
가상요소:
- before :
선택자 abc요소의 내부앞에 내용을 삽입
.box::before {content: “앞!”;}
- 가상의 인라인요소를 만들어서 내부 앞에 “앞!”을 넣는다는 뜻
- after :
선택자 abc요소의 내부 뒤에 내용을 삽입
.box::before {content: “뒤!”;}
<div class=”box”>
content
___←이자리에 “뒤!”가 들어감.
</div>
- before와 after는 무조건 사용하지 않더라도 content를 꼭 같이써야함.(content:””; ←이거라도 넣어야함)
인라인속성은 아무리 무엇을 지정을 해도 안되는 특성을 가짐. 그래서 display를 block으로 바꿔줘야함.
속성:
- ATTR:
- 속성 abc를 포함한 요소 선택
[disabled] { color: red;}
ex) <input type=”text” value=”ABCD” disabled>
<input type=”password” value=”1234”>
이렇게 있다고 가정하면, 첫째줄을 가리킨다는 뜻.
[type] { color: red;}
- 위에 중에서 둘 다를 가리킴.
-
ATTR = VALUE:
속성 abc을 포함하고 값이 xyz인 요소 선택
[type=”password”] {color: red;}
- 여기서 “type=”password”는 패스워드를 적을 때 안보이게 점점점으로 나오는게 “type=”password”의 역할
- 위에 중에서 2번째줄을 가리킴
스타일 상속
상속 = 부모님으로 부터 재산을 상속받는다와 비슷함.
적용된 스타일들이 자식이나 하위로 상속되어 적용되는 것
모두 글자/문자 관련 속성들!
font 관련된 속성 (font-style, font-weight,font-size등 )
color, text-align 등
강제상속
inherit = 부모로부터 상속받기
선택자 우선순위
같은 요소가 여러 선언의 대상이 된 경우, 어떤 선언의 css 속성을 우선 적용할지 결정하는 법
- 점수가 높은 선언이 우선함.
- 점수가 같으면, 가장 마지막에 해석된 선언이 우선함.
- !important : 그 속성의 값은 무한대점이라는 뜻 , 중요도라고 부름. 우선 피하는게 좋음(한번 사용하면 계속 사용해야함)
- style: 스타일에 html에 적으면 우선적으로 적용됨(1000점), 우선 피하는게 좋음. (인라인 방식)
- body 태그는 점수를 매기지 않음, 속성이 되기는 한다.지정이 되어있을 경우.
- 요소 = 태그
- 클래스(10점)보다 id(100점)가 먼저이다, 태그는 1점 그리고 동일한 요소가 있으면 나중에 적힌것이 적용된다.
개요
-
속성
-
박스모델
-
글꼴 문자
-
배경
-
배치
-
정렬
-
전환
-
변환
-
띄움 (공중에)
-
애니메이션
-
그리드
-
다단 (2단, 3단 등)
-
필터 (블러blur, grayscale흑백효과, reverse반전)
너비 (width, height)
1.width,height
auto : 기본값 , 브라우저가 너비를 계산
단위: px, em, vw 단위로 지정
역할: width는 요소의 가로너비 , height는 요소의 세로너비
- span 요소 : 대표적인 인라인 요소 ! 가로넓이가 줄어들려고 함.본질적인 아무것도 나타내지 않은, 콘텐츠 영역을 설정하는 용도.
- div 요소 : 대표적인 블록요소, 가로넓이가 늘어나려고 함. 본질적으로 아무것도 나타내지 않는, 콘텐츠 영역을 설정하는 용도.
- 인라인요소 : 무엇을 지정해도 적용이 안됨. 글자를 제어하기 위한 것임.
- max-width, max-height
- none: 최대 너비 제한 없음.
- auto: 브라우저가 너비를 계산.
- 단위 : px,em,vw등 단위로 지정.
- none: 최대 너비 제한 없음.
- min-width, min-height
- 0 : 최소 너비 제한 없음. 단위를 지정하지 않아도 됨.
- auto: 브라우저가 너비를 계산
- 단위 : px,em,vw등 단위로 지정.
- 0 : 최소 너비 제한 없음. 단위를 지정하지 않아도 됨.
css 단위
- px 픽셀, 하나의 점을 의미
- % 상대적 백분율
- em 요소의 글꼴 크기(예, 글꼴크기가 16이고, width를 10em으로주면 16 x 10=160이 된다.)
- rem 루트 요소의 글꼴 크기(html요소를 보고 나타냄)
- vw 뷰포트 가로 너비의 백분율, width
- vh 뷰포트 세로 너비의 백분율, height
- *모든 폰트 사이즈는 16이다.
외부여백
margin
- 요소의 외부여백(공간) 을 지정하는 단축 속성
- 음수를 사용할 수 있다.
- 가로(세로) 너비가 있는 요소의 가운데 정렬에 활용해요.
- 0 외부여백 없음.
- auto 브라우저가 여백을 계산
- 단위 px, em, vw 등 단위로 지정
- margin-bottom 아래쪽에만 여백을 줌.
- top, right, bottom, left
1개를 작성하면, 모두
두개를 작성하면 위아래, 좌우를 뜻함.
3개를 작성하면, top, 좌우, 아래
4개를 작성하면, top,right,bottom,left
margin-방향 = 개별속성
내부여백
= padding 요소의 내부여백(공간)을 지정하는 단축속성
- 0 : 내부여백 없음
- 단위 px,em,vw 등 단위로 지정
- % 부모 요소의 가로너비에 대한 비율로 지정
- top,right,bottom,left
1개를 작성하면, 모두
2개를 작성하면, 위아래, 좌우
3개를 작성하면, 상, 좌우, 하
4개를 작성하면 top,right,bottom,left
- 요소의 내부 여백을 지정하는 기타 개별 속성들.
- 요소의 크기가 늘어남.
테두리선과 색상 표현
1. border: 선-두께 선-종류 선-색상
- border-width, border-style, border-color
= 요소의 테두리 선을 지정하는 단축속성
- 요소의 크기가 커짐.
ex) border : 10px solid orange.
2. border-width 요소 테두리 선의 두께
- medium 중간 두께
- thin 얇은 두께
- thick 두꺼운 두께
- 단위 px, em,% 등
- 1개를 작성하면, 모두
- 2개를 작성하면, 위아래, 좌우
- 3개를 작성하면, 상, 좌우, 하
- 4개를 작성하면 top,right,bottom,left
3. border-style
- none 선 없음
- solid 실선
- dashed 파선
- detted 점선
- double 두줄 선
- groove 흠이 파여있는 모양
- ridge 솟은 모양
- inset 요소 전체가 들어간 모양
- outset 요소 전체가 나온 모양
- 1개를 작성하면, 모두
- 2개를 작성하면, 위아래, 좌우
- 3개를 작성하면, 상, 좌우, 하
- 4개를 작성하면 top,right,bottom,left
4. border-color
= 요소 테두리 선의 색상을 지정하는 단축 속성
- black 검정색
- 색상 선의 색상
- transparent 투명
- 1개를 작성하면, 모두
- 2개를 작성하면, 위아래, 좌우
- 3개를 작성하면, 상, 좌우, 하
- 4개를 작성하면 top,right,bottom,left
5. 색상표현
색을 사용하는 모든 속성에 적용 가능한 색상 표현
border-방향 -속성
border-top : 두께 종류 색상;
border-top-width: 두께
border-top-style: 종류
border-top-color: 색상
border-bottom: 두께 종류 색상;
border-bottom-width: 두께
border-bottom-style: 종류;
border-bottom-color: 색상;
border-right: 두께 종류 색상;
border-right-width: 두께;
border-right-style: 종류;
border-right-color: 색상;
6. border-radius
- 요소의 모서리를 둥글게 깎음.
- 0 둥글게 없음
- 단위 px, em, vw
- bordr-radius: 0 10px 0 0;
- 왼쪽부터 시계방향으로 원하는 모서리만 깎임.
크기 계산
1.box-sizing
= 요소의 크기 계산 기준을 지정
- contentbox 요소의 내용(content)으로 크기 계산, 수동으로 바꿔줘야함. 기본값
- border-box 요소의 내용+ padding+ border로 크기계산, 알아서 계산됨.
넘침 제어(overFlow)
- overflow 요소의 크기 이상으로 내용이 넘쳤을 때, 보여짐을 제어하는 단축속성.
- visible 넘친 내용을 그대로 보여줌. 기본값
- hidden 넘친 내용을 잘라냄
- scroll 넘친 내용을 잘라냄. 스크롤바 생성
- auto 넘친 내용이 있는 경우에만 잘라내고 스크롤바 생성
- 요소의 크기 이상으로 내용이 넘쳤을 때 , 보여짐을 제어하는 개별 속성들
- overflow-x
- overflow-y
출력 특성 (display)
- block 상자(레이아웃) 요소
- inline(글자요소)
- inline-block 글자 + 상자 요소
= 각요소에 이미 지정되어 있는 값
-----------------------------------------
flex 플렉스 박스(1차원 레이아웃)
grid 그리드 (2차원 레이아웃)
none 보여짐 특성없음. 화면에서 사라짐.
= 따로 지정해서 사용하는 값
----------------------------------------
기타 table, table-row, table-cell 등 ,,,
투명도
- opacity 요소의 투명도
- 1 불투명
- 0-1 0부터 1사이의 소수점 숫자
- 5 : 앞에 소수점 생략가능
글꼴
1. font-syle
= 글자의 기울기
- nomal 기울기 없음
- italic 이텔릭체
- oblique 기울어진 글자
2. font-weight
= 글자의 두께 (가중치)
- nomal400 기본 두께
- bold700 두껍게
- bolder 상위(부모) 요소보다 더 두껍게
- lighter 상위(부모)요소보다 더 얇게
- 100-900 100단위의 숫자 9개, nomal 과 bold이외 두께
3. font-size
- 글자의 크기
- 16px 기본크기
- 단위 px,em,rem 등 단위로 지정
- % 부모 요소의 폰트 크기에 대한 비율
- smaller 상위(부모)요소보다 작은 크기
- larger 상위(부모)요소 보다 큰 크기
- xx-small~xx-larger 가장작은크기 ~ 가장 큰 크기 까지 7단계의 크기를 지정
4. line-height
- 한줄의 높이, 행간과 유사
- normal 브라우저의 기본 정의를 사용
- 숫자 :요소의 글꼴 크기의 배수로 지정(16px (내가 지정한 숫자) x 1.4가 됨)
- 단위 : px,em,rem 등의 단위로 지정
- % 요소의 글꼴 크기의 비율로 지정
ex) font-size: 16px;
line-height: 32px;
line-height: 2; = 숫자만 지정하면 배수가 됨 (=2배) = 32px, 200%
배수의 개념을 이용하면 좋음, 안그럼 그때마다 바꿔줘야함.
line-height: 200%; =(100%= 1배, 200% =2배)=32px,2;
line-height = 100px = 수직정렬
5. font-family: “글꼴1”, “글꼴2”, 글꼴 계열(필수작성)
= 글꼴(서체) 지정
- 띄어쓰기 등 특수문자가 포함된 글꼴 이름은 큰 따옴표로 묶어야합니다.
- serif 바탕체 계열
- sans-selif 고딕체 계열
- monospace 고정너비(가로폭이 동등)글꼴 계열
- cursive 필기체 계열
- fantasy 장식 글꼴 계열
문자
1. color
= 글자의 색상
- rgb(0,0,0) 검정색
- 색상 기타 지정 가능한 색상
2. text-align
- 문자의 정렬방식
- left 왼쪽 정렬
- right 오른쪽 정렬
- center 가운데 정렬
- justify 양쪽 정렬
3. text-decoration
= 문자의 장식(선)
- none 장식 없음
- underline 밑줄
- overline 윗줄
- line-through 중앙선
4. text-indent
= 문자 첫줄의 들여쓰기
- 음수를 사용할 수 있음,반대는 내어쓰기 (outdent)입니다.
- 0 들여쓰기 없음
- 단위 px,em,rem 등 단위로 지정
- % 요소의 가로 너비에 대한 비율
배경
1. background-color
= 요소의 배경색상
- transparent 투명함
- 색상 지정가능한 색상
2. background-image
= 요소의 배경 이미지 삽입
- none 이미지 없음
- url(”경로") 이미지 경로
3. background-repaeat
= 요소의 배경 이미지 반복
- repeat 이미지를 수직, 수평 반복
- repeat-x 이미지를 수평 반복
- repeat -y 이미지를 수직 반복
- no-repeat 반복 없음
4. background-position
= 요소의 배경이미지 위치
- 0% 0% = 0% ~100% 사이값
1. 방향: top, bottom, left,right,center 의 방향 (방향 1, 방향 2 top, right)
2. 단위 px,em,rem,등 단위로 지정 (x축, y축 100px,30px)
5.background-size
= auto 이미지의 실제 크기
- 단위 px,em,rem 등 단위로 지정
- cover 비율을 유지, 요소의 더 넓은 너비에 맞춤
- contain 비율을 유지, 요소의 더 짧은 너비에 맞춤
6. background-attachment
- scroll 이미지가 요소를 따라서 같이 스크롤
- fixed 이미지가 뷰포트에 고정, 스크롤 x
- local 요소 내 스크롤시 이미지가 같이 스크롤 (사용 xxx)
Author And Source
이 문제에 관하여(04/19 html & css 온라인 수업 내용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lyl117/0419-온라인-수업-내용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)