웹브라우저:인터넷 통신을 위한프로그램
웹브라우저통해-->웹페이지접속-->서버는 접속자가 사용하는 웹브라우저로 웹페이지의 정보를 가져오고 동작하게하는 소스코드를 웹브라우저로 보냄!!-->웹브라우저가 이해할 수 있는 언어는 html, css, js(자바스크립트)
CSS(Cascading Style Sheet):웹페이지의 스타일과레이아웃을 담당하는 문서(꾸밈담당)
js:실제동작
CSS:
기본 문법-->
html 태그 입력--> 해당html 태그를 선택해 명령
CSS선언:
선택자 { 속성: 속성값 }
속성: 선택자로 지정한 대상의 스타일의 종류결정,
속성값: 구체적인 속성의 값.
속성+속성값==> 선언 이라고 함.
CSS 적용 방식
3가지
in-line 방식: 속성을 적용할 html태그에 직접 적는 방식
인라인요소: 여러개 요소 연속해 입력해도 다음줄로 넘어가지 않고 옆으로 쌓임.
태그에 할당된 공간만 차지.
span태그 등.
블록요소: div태그,p태그 등. 블록요소를 여러개 연속으로 쌓으면 옆으로 붙는 것이 아니라 다음줄로 자동으로 넘어감.
좌우값 인위적으로 정해주지 않으면 부모요소의 가로값을 가득 채움
css레이아웃
:html을 보기좋게 배치하고 재배열 하는 것.
css로 적절하게 배치하고 정렬하는것.
float:전통적 레이아웃 방식(현재 거의 사용하지 않음)
-->flex:float보다 편리-->Grid: flex와는 조금다르나 둘다 레이아웃을 목적으로 하는것은 같음
flex와 grid는 상황에따라 혼용
float사용안하는 이유: 반응형 웹에 적합하지 않기때문.
반응형웹?:접속하는 기기의 너비에 맞취 레이아웃이 변하는 웹페이지.
레이아웃이 어떻게 변해왔는지 알면 flex를 더 효과적으로 알 수 있으니 float도 알아보기.
float:띄운다. 기본값(none)
특정한 컨테이너 좌측이나 우측으로 강제배치하는 요소
float:left
float:right
clear:none(기본값)
float가 적용된 요소, 또는 그에 영향을 받고있는 요소들에적용됨.
float은 항상 after속성
clear:left ==>float:left가 적용된 태그를 해재한다고 보면됨
clear:right==>//
clear:both =>모든요소의 영향력 해재
????
flex 이용하려면
display를 flex로 변경
독자적인 속성으로 적용됨.
direction:방향
정렬의 방향.==>flex direction
종류:row(가로. 기본값),column(세로)
요소가 flex되면 중심축이 생김
그리고 방향(가로-->세로)바꿀수 있음
justify -content :중심축의 방향을 정한다.
flex-start: 얘가 기본값
flext-end끝쪽에 붙음
center:해당중심축을 기준으로 가운데정렬
space-arund :각각의 아이템에 균일한 여백 들어감. 처음과 끝부분에도.양끝여백과 나머지여백 크기가 차이남.
space-between:나머지지는 균일한 공백이 있으나양끝은 공백없이 붙어있음
space-evenly:양끝여백과 나머지 여백이 차이 없이 균일하게 들어있음.
align-items:중심축의 반대방향의 정렬
기본값 flex가 가로방향이니 기본값으로 사용한다면 세로 방향정렬.
주의: align-items는 flex-item이 한줄일때 우선 적용됨
두줄이상일경우는 align-content사용
박스모델:
모든 html요소는 박스형태!! 이러한 모델자체를 css박스 모델이라고 한다.
내용이 들어가는 content
content를 감싸는 padding
padding을 감싸는 border(외곽선===태두리)
border바깥의 외부여백이 바로 margin.
box-sizing
:두가지의 속성값존재
content-box: content영역 기준으로 박스 사이즈 적용==>기본값
2)border-box: border(외곽선)영역 기준으로 박스 사이즈 적용
10강
다양한 선택자
1.전체선택자: 모든요소 선택하는 선택자
{
속성: 속성값
}
그룹선택자: 여러 선택자를 동시 선택한 뒤 동일한 css를 적용하고 싶을 경우
원하는 선택자들을 콤마(,)를 이용해서 연결해주면 됨
가상클래스 선택자:
css만으로 가상클래스요소를 추가
선택자:가상클래스 { 속성: 속성값 }.class:first-child { 속성:속성값 }
==>특정클래스의 어떤태그의 첫번째
: .box1 p:first-child { background:red }
첫번째 p태그를 선택
.class:last-child { 속성:속성값 }
마지막요소 선택
몇번째 요소 선택:
.class:nth-child(n) { 속성:속성값 }
뒷부분 소괄호에 정확한 숫자 넣음
연산자도 가능
=>.box1 p:nth-child(3) { 속성:속성값 }
box1 클래스의 p태그 세번째요소
.box1 p:nth-child(2n) { 속성:속성값 }
p태그의 2의 배수들 선택
기본연산지들도 모두 사용가능.
홀수(2n-1)
:hover
요소위에 마우스 올라갔을때 일어나는 것.
요소(.class등):hover {
속성:속성값
}