Html
-
HyperTextMarkupLanguage : 웹에 표현되는 정보들을 태그라는 표시를 통해 구분해서 보여지도록 하는 언어문법이다. 왜? 구분이 안되면, 정렬이 안되고 제대로 보기가 어렵다. Html은 element로 구성되어 진다. 그리고 각각의 element 들은 아래 그림처럼 구성되어 있다.
- https://flukeout.github.io/ 에서 게임으로 배워볼수 있으며 아래에 정리해 놓았다.
- 셀렉터 : 구현된 element 들을 골라서 가지고 있는 정보의 수정,삭제등을 할 수 있다. 수많은 element들을 원하는대로 빨리 골라낼수 있도록 다양한 셀렉방식을 지원하다.
- element들의 상관관계, 최상위에는 Root element 가 있으며 (태그가 달린다.) 하위 element들을 child라고 한다. 같은 단계의 child 끼리는 sibling 이라고 불리며, 첫째부터 막내까지 작성한 순서대로 순서가 정해진다.
-
셀렉터 적용 방법들
- A B - A에 속한 B 엘리먼트
- A + B - A의 바로 다음 형제B
- *모든 엘리먼트
- A * - A 에 속한 모든 엘리먼트
- A ~B - A를 따르는 모든 B
- A > B - A의 직속자녀인 B
- A:first-child : 첫번째 A 엘리먼트
- A:only-child 혼자있는 A 엘리먼트 선택
- A :last-child 마지막 A 엘리먼트 선택
- A :nth-child(m) :m번째 , A 엘리먼트 선택
- A :nth-last-child(m) : 뒤에서 m 번째 A엘리먼트 선택
- A :first-of-type -첫번째 A 엘리먼트
- A: nth-of-type(odd / even) - 홀/짝 A 엘리먼트
- A: nth-of-type( Xn+B) - B순서부터 매 X번째 엘리먼트, B 포함됨
- A:only-of-type A 종류의 엘리먼트만 선택
- A:last-of-type : 마지막 A 엘리먼트
- A:empty 비어있는 모든 A 엘리먼트
- A:not(X) - X가 포함되어 있지 않은 모든 A , X는 id, class, tag 복수조건 가능하다.
- [attribute] attribute가진 엘리먼트
- A[attribute] attribute를 가진 A
- [attribute=“value”] - attribute===value
- [attribute^=“value”] - attibute가 value로 시작
- [attribute$=“value”] - attibute가 value로 종료
- [attribute*=“value”] -attibute가 value를 포함하고 있음
CSS
-
css 적용하기
-
상속과 그룹
-
묶어서 적용하기, 골라서 적용하기,
- p.pp - p태그 이면서 pp클래스 - p .pp - p태그 아래의 pp클래스 - p#pp - p태그 이면서 pp아이디 - p #pp- - p태그 이면서 pp아이디 - p p p .pp #pp- p태그의 p태그의 p태그의 pp클래스의 pp 아이디
- 태그 속성 셀렉팅’tag::attribute { }’
-
동작 셀렉팅
- 마우스 변경 button:hover {cursor : pointer }
- 선언 (declaration) - 속성과 속성값을 지정한다.
-
폰트 조절 속성들
- 폰트의 적용
- family -폰트 종류
- size -크기
- weight 굵기 일반 400, bold 700
-
문구 스타일
- 가, 왼, 오 정렬 => text-align : center, left, right
- 스페이스 삽입
- ”
” 인용문 삽입 태그
-
마진, 보더, 패딩
- 보더 : 선굵기, 스타일(solid, dot, dash…), 색상
- 보더의 길이가 각기 다르게 설정가능하다.
-
박스사이징
- element 영역을 보더로 통일
- {box-sizing: border-box;}
-
적용순서 - 위 오 아 왼 시계방향
-
margin, padding, border: 0px = 0px 0px 0px 0px
- margin, padding, border: 0px 5 px = 0px 5px 0px 5px
- margin: ???px auto ; 로 좌우 같게 자동으로 할 수있다.
-
-
웹페이지 이미지 삽입하기
- img 태그 사용
-
css로도 삽입이 가능하다.
- 가로 화면 크기
- 세로 div의 내용 만큼 사이즈
-
img 처럼 height,width 로 조정이 안될 수있다. 영역만 조정. 조정하려면 일치시켜야 한다.
- background-size : ~%
-
css- backgroundimage 와 img 의 차이
- backgroundimage는 % 사이즈 조절이 가능함, 100보다 작으면 다중이미지, 크면 부분적이미지
-
레이아웃
-
block vs inline
- p, div, li, table ==(display : inline-block)==>인라인
- span, img, a =(float: left || right , display: block )=> 블록
- 가운데 정렬 위아래패딩 auto
-
-
list
- 리스트 스타일 dot, number, none
-
table
-
테이블 구성요소
- table, th (tr, td )
-
셀병합 ( 태그에 속성 삽입)
-
가로 병합
- colspan
-
세로병합
- rowspan
-
-
-
Input
-
type
- text
- password
-
number
- ” - ” 삽입 불가
- value 미리 설정해놓은값
-
place holder
- 셀렉트 ‘input::placeholder { }’
- textarea input type=“text” 보다 긴 데이터 입력시 사용
-
-
Position
-
relative 부모
- absolute 자식 relative 부모가 없으면 작동이 안된다.
-
fixed
- 절대 고정, 위아래로 움직이거나 말거나 상관없음 (부모안에서)
-
-
레이아웃.
- semantic element - 담고있는 콘텐츠를 예상 할 수 있게 해주는 태그들
-
경험이 재산이다 .
- header, asider, nav, footer, section, article, figure
-
float
- 레이아웃 구조짤때 활용하기 좋음
-
mediaquery
- 사용자 환경변화에 따라 동적인 변화가능
- 추가 템플릿과 유사하게 작용하는 태그들은 기본 포맷이 적용되어 있다.
-
- FLEX - https://flexboxfroggy.com/#ko 플렉스 배우기 게임