Ⅰ. 웹
1-1. 네트워크
통신 기술로 논리적이나 물리적으로 그물망처럼 연결된 구조.
1-2. 인터네트워크
네트워크를 통해 연결된 컴퓨터들.
컴퓨터에는 가정용 컴퓨터 뿐만아니라 여러 정보 통신 매개체들도 포함.
웹, FTP, SMTP 등의 서비스가 포함된다.
1-3. 웹
웹 월드 와이드 웹 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간.
1-3-1. 웹 표준
HTML, CSS 등 규격을 W3C에서 정한다.
Ⅱ. HTML
2-1. HTML?
2-1-1 마크업 언어: 웹을 기술하듯 제작하는 언어.
2-1-2. HTML : 마크업 언어 중에서 웹의 구조를 짜는 언어.
CSS : 웹의 디자인 요소를 적용하는 언어
JavaScript : 웹의 이벤트를 처리하는 언어
id / class / name / value
2-2. HTML 사용하기, 활용
- hr / br /  
- 제목 태그
- h1~h6
- 문단 태그
- p
- pre
- 글자 관련 태그
- 강조 : b / strong
- 기울임 : i / em
- 취소선 : s / strike
- 첨자 : sup / sub
- 큰, 작은 글씨 : big / small
- 형광펜 : mark
- List 아래 태그 안에 항목을 li태그로 넣는다.
- 순번이 없는 태그 : ul
- 순번이 있는 태그 : ol
- 테이블
태그 의미 table 테이블을 구현 caption 테이블 이름 tr 테이블의 행 th 테이블의 제목 행 td 테이블의 열 thead 테이블 구조를 3등분, 테이블 당 각 한개씩만 존재 가능 tbody tfoot - colspan / rowspan ; 열 들/행 들 합치기
- 구조 구획
- div : 한줄 단위로 구조 구획하는 태그. 블락형식
- span : 문장 단위로 구조를 구획하는 태그. 인라인 형식
- fieldset : 여러 태그를 하나의 테두리 안에 넣어주는 태그.
- legend : fieldset의 캡션
- iframe : 문서 안에 인라인으로 다른 html문서를 삽입.
- 미디어, 하이퍼링크
- img : 이미지 삽입
- alt="이미지 로딩이 안될 경우or보이스리더로 페이지를 읽을 경우 대체하여 출력할 글
- audio / video : 오디오/비디오 삽입
- autoplay : 자동재생
- controls : 컨트롤러
- loop : 반복
- poster : 섬네일
- a href= : 하이퍼링크 삽입
- target="_self"
- target="_blank" : 기본값
- rel="" : 관계 설명
- img : 이미지 삽입
- <form action="서버이름.do" method = "get / post">
- input(type별 분류) : 제출 시 key=value의 형태로 넘어간다.
속성 의미 name key value value required 필수입력 size input 입력 창의 길이 maxlength 최대 입력 길이 placeholder 입력 내용 안내 type 입력 형식 지정. 표 아래는 type 속성에 따른 분류 - text : 텍스트 입력
- password : 비밀번호 입력 : ●으로 masking 되어있음
- search : 텍스트 입력은 똑같지만, input 창의 오른쪽에 위치한 x로 한번에 지울 수 있음.
- 선택하기 : <label for="input의 id값">content</label> 해둘 경우 라벨을 체크해도 버튼에 불 들어옴
- radio : 하나만 선택
- checkbox : checked 속성을 넣어두면 무조건 체크된 상태로 시작.
- 버튼 : value="버튼에 출력할 글"
- button : 기본 버튼
- reset : 초기화 버튼
- submit : 제출 버튼 : form의 내용을 key=value의 형태로 서버에 전달함
- image : 이미지 삽입
- file : 파일 업로드
- 숫자 형식 : min / max / step(공차) / value(기본값)
- number : 숫자만 입력 가능한 창. 위아래 버튼으로도 조절 가능.
- range : 막대 형식
- hidden : 사용자에게는 보이지 않지만 전달되는 값을 기록하기 위해 사용하는 input type.
- 형식 지정
- tel
- url
- email : @의 형태로 나눠져있지 않으면 입력하라고 뜸
- phone
- 시간
- date
- month
- week
- time
- 목록
- select : name 속성 지정해줄 것.
- option 태그로 각 값을 지정하고, value 속성을 주지 않는 경우 content가 value로 넘어간다. selected가 있는 경우 기본값.
- datalist : 데이터 입력이 가능하고, 지정되어있는 값과 이전에 입력한 값의 목록을 띄워 선택할 수도 있다.
- select : name 속성 지정해줄 것.
- textarea
- cols / rows : 한번에 들어갈 수 있는 글자 수
- style="resize=none;" : 사이즈 조절 못하게 막는 스타일
- button
- button
- submit
- reset
- input(type별 분류) : 제출 시 key=value의 형태로 넘어간다.
Ⅲ. CSS
@ : at 규칙. 해당 CSS문서의 기본 정보를 저장할 수 있다.
규칙명 | 의미 |
@charset "UTF-8" | 문서의 형식을 UTF-8로 지정 |
@import url("...") | 외부 스타일 시트 |
- 선택자
- 모든요소 : *
- 태그 : 태그명
- class : .
- id : #
- 속성 선택자 [ ]
= 해당 속성값을 가질 때 ~= 특정 단어를 속성값으로 가질 때(띄어쓰기로 구분) |= 특정 단어를 속성값으로 가질 때("" 로 구분) ^= 속성값이 특정 단어로 시작할 때 $= 속성값이 특정 단어로 끝날 때 *= 속성값이 특정 단어를 포함할 때 - 관계/반응/상태 선택자 : ':' 뒤에 선택자를 기술
- 구조 선택자
- 자손 a>b
- 후손 a b
- 동위 a+b : 바로 뒤에 오는 태그 1개 선택
- 반응 선택자
- active
- hover
- 상태 선택자
- checked
- focus
- enabled
- disabled
- 구조 선택자
- 앞/뒤에 동일한 값 넣기 : ::before / ::after {content:"넣을 값";}
- { } : vscode emmet 플러그인 시 content를 작성
- $ : vscode emmet 플러그인 시 연속된 숫자를 지정
- 선택자 우선순위 : !important > 인라인 > 아이디 > 클래스> 태그
- 텍스트
- font-family : 폰트를 나열. 사용자의 환경에 있는 폰트를 적용. 없으면 다음 폰트로 넘어간다.
- font-size : px / % / em
- font-weigth : bold / bolder / lighter
- font-style : normal / italic / oblique
- color
- 색상명
- rgb / rgba : rgb 0~255 / alpha 0~1
- hsl / hsla : hsl 0~360 / alpha 0~1
- 16진수 #000000~#ffffff
- text-decoration : none / underline / overline / line-through
- text-align : left / center / right / justify
- text-shadow
- text-overflow : ellipsis / clip : content가 크기를 벗어나면 벗어난 내용을 어떻게 표시하나? '...'로 줄임/자름
- overflow : hidden / scroll : 크기를 벗어나면 스크롤을 표시할 것인가?
- direction : ltr /rtl : 글자 출력 방향.
- 리스트 관련 : 블릿 기호 스타일
- list-style-type : none / disc / circle / square // decimal / lower(upper)-alpha / lower(upper)-roman
- list-style-position : inside / outside :
- list-style-image : url(...) 불릿 기호 대신 이미지 적용
- 블릿 기호에만 색 넣기
#test-ul{ list-style:none; } #test-ul>li::before{ content:"o "; color : red; }
- background
- color : 색 지정. 지정하지 않으면 투명.
- image : url("...");
- repeat : repeat / repeat-x / repeat-y / no-repeate
- position : top center / center / px 배경 이미지의 위치를 지정.
- attachment : fix / scroll : 고정방식 // fix : 스크롤의 움직임에도 반응하지 않고 화면에 붙어있음.
- clip : border-box(기본값) / padding-box / content-box
- 레이아웃
- display : none(완전히 사라짐) / block / inline / inline-box / flex / grid
- visibility: hidden; : 존재하는 상태로 보이지만 않게 숨기기.
- block/inline은 각 속성에 맞게 작동.
- inline-block은 inline인데 width/height/margin/padding/line-height 가능.
- flex(container) : 1차원으로 구역을 지정
- grid : 2차원으로 구역을 지정
- position : relative / absolute (해당 요소의 top-left가 영점. relative가 있다면 absolute는 relative를 따름)
- top / right / bottom / left 로 위치 지정 가능.
- z-index : 값이 클 수록 위에 위치하는 것
- float : none / left / right : 띄워서 정렬
- display : none(완전히 사라짐) / block / inline / inline-box / flex / grid
- 영역 : 속성-위치-하위속성 형식으로 특정 방향만 조절 가능. 4개 나열 : 위부터 시계방향 / 2개 나열 : 상하, 좌우
- width
- height
- border : 1px solid/dashed/double... red;
- width : 두께
- style
- color
- radius
- box
- sizing : border-box / content-box(기본값)
- shadow
- padding
- margin
- transform
- transform-origin : 기준점 설정. 없다면 정가운데
- 2차원 : 각 태그는 뒤에 X, Y를 붙여 축을 지정 가능
속성 의미 scale(1.5) 배율 translate(50px, 100px) 이동 rotate(15deg) 회전 skew(50deg, -10deg) 비틀기 - 3차원
#test:hover{ transform: perspective(500px) translate3d(10px, 20px, 30px); }
- 반응형 웹 : 미디어 쿼리
-
@media screen and (max-width:768px){ #res{ width:300px; height:500px; background:blue; padding:10px; } #ch1{ width:300px; height:150px; display:block; } #ch2{ width:300px; height:300px; display:block; } }
-
- transition : 변형되는값 시간 linear / ease / ease-in / ease-out / ease-in-out
- animation :
@keyframes media-test{ from{ 초기값; } to{ 변경할 값; }/*from-to 대신 0%, 50%, 100% 등으로 세분화하여 나눌 수 있음*/ } #ani-test{ 값; animation-name:keyframes의 name; animation-duration: 지속시간 animation-iteration-count: 반복 횟수 animation-direction: 애니메이션이 어떤 방향으로 재생될것인가; }
Ⅳ. HTML Layout
3-1. HTML
3-1-1. div로 구역 분할
wrap | header | 헤더 |
container | 내용물 | |
footer | 푸터 |
각 양식에 맞는 form, input들 적용
3-2. CSS 스타일 적용
길어지면 되도록 외부 스타일시트를 불러오는 방향으로 작성한다.
확인해볼것
3-5-1-3. inline-block에서 font-size : 0; vertical-align : middle; 해주면 여백 사라지는지.
'FRONT-END' 카테고리의 다른 글
[JSP] EL, 액션 태그, JSTL (1) | 2022.02.16 |
---|---|
[JQuery] 기초 (3) | 2021.12.28 |
[JavaScript] 기초 (4) | 2021.12.22 |