NOredstone 2021. 9. 29. 15:09

HTML(HyperText Markup Lauguage)

- 기본 기능 : 웹 브라우저에 보여 줄 내용에 마크업하고 문서끼리 링크하는 것

TIP) HTML 기본구조 자동으로 만들기 : ! 입력한 후 Tab 누르면 자동으로 기본구조 입력된다.

- 블록(Block) 요소 : y축 정렬 형태로 출력(줄바꿈 현상 나타남), 공간 만들 수 있고, 상하 배치 작업 가능, width와 height 사용 가능, margin과 padding 등 사용 가능

- 인라인(Inline) 요소 : x축 정렬 형태로 출력(한 줄에 출력), 공간 만들 수 없고, 상하 배치 작업 불가능, width와 height 사용 불가, margin과 padding 등 사용 불가

Block 요소를 갖는 대표적인 태그로는 <h><p>가 있고, inline 요소를 갖는 태그로는 <a>가 있다.

- 태그*숫자 -> 숫자 갯수 만큼 태그 생성됨 ex) li*3

 

 

<!DOCTYPE html>

- 현재 문서가 HTML5 언어로 작성한 웹 문서라는 의미

 

 

<html></html>

- 웹 문서의 시작과 끝을 나타내는 태그

<html lang="ko"> : lang 속성으로 문서에서 사용할 언어를 지정 가능, ko는 korea의 줄임말

 

 

<head></head>

- 웹 브라우저가 웹 문서를 해석하는데 필요한 정보를 입력하는 부분, 실제 화면에서는 거의 안보임

<meta charset="UTF-8"> : 한글 인코딩을 의미

<meta name="keyword" content="html의 구조"> : 웹 문서의 키워드

<meta name="description" content="html의 구조를 알아봅시다"> : 웹 문서의 설명

<meta name="author" content="RedStone"> : 웹 문서의 소유자나 제작자

<title>웹 문서 제목</title> : 웹 브라우저 제목 표시줄에 표시됨, 즐겨찾기 지정할 때의 이름

 

 

<body></body>

- 실제로 웹 브라우저 화면에 나타나는 내용

<hn>제목</hn> : 웹 문서의 제목을 나타냄, n은 1~6의 숫자가 들어갈 수 있으며 크기별로 표시 가능

<p>내용</p> : 텍스트 내용을 입력, </p>를 함으로써 단락이 끝남 (단락 바뀌므로 단락끼리 간격 차이 있음)

<br> : 줄 바꿈 태그 (단락이 바뀌지 않으므로 줄 간격 적음)

<blockquote>인용문</blockquote> : 다른 텍스트보다 약간 들여쓰기

<strong>굵게 강조할 텍스트</strong> : 중요한 내용을 강조

<b>굵게 표시할 텍스트</b> : 굵게 표시

<em>이탤릭체로 강조할 텍스트</em> : 특정 부분 강조

<i>이탤릭체로 표시할 텍스트</i> : 마음 속 생각이나 용어, 관용구 등에 사용

<sup>내용</sup> : 위 첨자 표시

<sub>내용</sub> : 아래 첨자 표시

<s>내용</s> : 취소선 표시

<u>내용</u> : 밑줄 표시

<small>내용</small> : 부가정보처럼 작게 표시

<hr> : 이야기 장면 전환, 구획 내 주제 변경 등, 문단 레벨 요소에서 주제의 분리 등을 표시

 

순서 있는 목록 만들기

<ol>

    <li>항목1</li>

    <li>항목2</li>

</ol>

목록은 숫자가 기본적으로 적용, <ol type="~"> 로 변경 가능

종류는 type="1", type="a", type="A", type="i", type="I" 가 있음

 

순서 없는 목록 만들기

<ul>

    <li>항목1</li>

</ul>

 

설명 목록 만들기

<dl>

    <dt>이름</dt>

    <dd>값</dd>

</dl>

 

표 만들기

<table>~</table> : 표 만들기 태그, 여기 안에 표 관련 태그 작성하기

<caption>표 제목</caption> : 표의 위쪽 중앙에 제목 표시

<tr> : 행 만들기

    <td>1행1열</td> : 행 안의 셀 만들기

    <td>1행2열</td>

    <th>1행3열</th> : 내용 진하게 표시

</tr>

<thead> 태그 : 표의 구조에서 제목 부분

<tbody> 태그 : 표의 구조에서 본문 부분

<tfoot> 태그 : 표의 구조에서 요약 부분 (표의 구조는 웹 브라우저 화면에서는 보이지 않음)

<td rowspan="합칠 셀의 갯수">내용</td> : 행 합치기 (th도 가능)

<td colspan="합칠 셀의 갯수">내용</td> : 열 합치기 (th도 가능)

특정 열에 스타일 속성 지정하기

<colgroup> : colgroup은 caption 태그 바로 다음에 사용해야 함, 즉 표의 내용이 시작 전에 알림

    <col style="background-color:#eee;"> : 첫번째 열 배경색 지정

    <col> : 스타일 없어도 열의 갯수는 맞춰야함

    <col style="width:150px;"> : 세번째 열 넓이 지정

</colgroup>

- 각 셀마다 너비나 높이 다르게 하고 싶으면 각자의 td, th에서 width나 height 설정하기

 

이미지 삽입하기

<img src="이미지 파일 경로" alt="대체용 텍스트">

- 경로는 웹 문서 파일의 위치를 기준으로 정해짐

- 따라서 웹 문서 파일과 같은 경로에 있으면 이미지 파일 이름만 적으면 됨

- 사이트에서 사용하는 이미지 파일 쉽게 관리하기 위해서는 이미지만 담은 폴더에 따로 저장하는 것이 좋음

- 이미지 파일 형식은 gif, jpg, jpeg, png 가능

width="숫자px" 또는 width="숫자%"로 이미지 크기 조절 가능

heigh도 설정 가능하나 둘 중 하나만 하면 나머지는 자동으로 비율 계산됨

ex <img src="images/top.jpg" width="100%">

 

오디오 및 비디오 삽입하기

<object data="파일" width="너비" height="높이"></object> : 오디오, 비디오, 자바, PDF 등 파일 삽입할 때 사용

<embed src="파일 경로" width="너비" height="높이"> : <audio><video><object>지원안하는 브라우저에서 사용

<audio src="오디오 파일 경로"></audio>

<video src="비디오 파일 경로"></video>

- <audio> 및 <video> 태그 속성

종류 설명
controls 화면에 컨트롤바 표시
autoplay 자동으로 실행
loop 반복 재생
muted 소리 제거
width, height 비디오의 경우, 너비 및 높이 지정

ex 오디오 파일을 배경음악처럼 사용하려면, autoplay에 loop 사용하고 controls 빼면 된다.

 

하이퍼링크 삽입하기

<a href="링크 주소">텍스트 또는 이미지</a>

- 텍스트 사용시 텍스트 링크가 되고, 이미지 사용시 이미지 링크가 됨

- 이미지 넣을때는 <img src="파일 경로"> 하면 됨

- 연결된 문서를 새 탭에서 열리게 하려면 target="_blank" 추가하면 됨

ex <a href="../09/order.html" target="_blank">주문서 작성하기</a>

 

폼 삽입하기

<form 속성="속성값">여러 폼 요소</form> : 기본 태그

- <form> 태그의 속성

종류 설명
method 사용자가 입력한 내용을 서버쪽 프로그램으로 어떻게 넘겨줄 것인지 지정
- get : 주소 표시줄에 입력한 내용이 그대로 드러남
- post : 길이 제한 없고 드러나지 않음
name 폼의 이름 지정
action 폼 태그 안의 내용을 처리해 줄 서버 프로그램 지정
target action 속성에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에서 열도록 지정
autocomplate 예전 입력 내용을 자동으로 표시, 기본 속성값은 "on"
input 사용자가 내용을 입력할 필드를 삽입

ex <form action="register.php">여러 폼 요소</form>

<fieldset><legend>그룹 이름</legend></fieldset> : 폼 요소를 그룹으로 묶기

<label>라벨명<input type="속성값"></label> : 폼 요소에 라벨명 붙이기

ex 

<li>

    <label>이 름</label>

    <input type="text">

</li>

/* label과 input을 분리시켜서 작성하면 라벨과 입력 폼 사이 거리가 떨어지게 만들 수 있다.

그래도 사이 공간이 적으면 <style>에서 라벨에 float: left; 주기 */

- <input> 태그의 type 속성값

종류 설명
text 한 줄짜리 텍스트 입력할 수 있는 텍스트 박스
- size : 필드 길이 지정(넘으면 화면에 안보임)
- maxlength : 최대 문자 수 지정
password 비밀번호 입력 필드
- size : 필드 길이 지정(넘으면 화면에 안보임)
- maxlength : 최대 문자 수 지정
search 검색할 때 입력하는 필드
화면에서 볼 때는 text와 동일하지만 웹 브라우저에서 검색을 위한 텍스트 필드로 인식
이 필드에 검색어 입력하면 오른쪽에 X가 표시되어 지우기 가능
url URL 주소 입력 필드
email 이메일 주소 입력 필드
tel 전화번호 입력 필드
checkbox 주어진 여러 항목에서 2개 이상 선택할 수 있는 체크 박스
- value : 서버에게 알려줄 때 넘겨줄 값 지정(필수 항목)
- checked : 기본으로 선택해놓고 싶은 항목에 사용
radio 주어진 여러 항목에서 1개만 선택할 수 있는 라디오 버튼
- value : 서버에게 알려줄 때 넘겨줄 값 지정(필수 항목)
- checked : 기본으로 선택해놓고 싶은 항목에 사용

ex
<input type="radio" name="체크박스" id="1">
<label id="1">메일 수신</label>
<input type="radio" name="체크박스" id="2">
<label id="2">메일 수신 안 함</label>
/* name은 체크박스 전체를 의미, 같은 값 써야 같은 체크박스 됨
id는 각 체크사항을 구분지어줌 */
number 숫자 조절 스핀 박스
- min : 최솟값 지정, 기본값은 0
- max : 최댓값 지정, 기본값은 100
- step : 숫자 간격 지정, 기본값은 1
- value : 필드에 표시할 초깃값
range 숫자 조절 슬라이드 막대
- min : 최솟값 지정, 기본값은 0
- max : 최댓값 지정, 기본값은 100
- step : 숫자 간격 지정, 기본값은 1
- value : 필드에 표시할 초깃값
date 사용자 지역 기준 날짜(연, 월, 일)
날짜와 시간 속성도 min, max, step, value 사용 가능
month 사용자 지역 기준 날짜(연, 월)
week 사용자 지역 기준 날짜(연, 주)
time 사용자 지역 기준 시간(시, 분, 초)
datetime 국제 표준시로 설정된 날짜와 시간
datetime-local 사용자 지역 기준 날짜와 시간
submit 전송 버튼
- value : 버튼에 표시할 내용
reset 리셋 버튼
- value : 버튼에 표시할 내용
image submit 버튼 대신 사용할 이미지 넣기
ex <input type="image" src="경로" alt="대체 텍스트">
button 일반 버튼
- value : 버튼에 표시할 내용
file 파일 첨부 버튼
hidden 사용자에게 보이지 않지만 서버로 넘겨주는 값이 있는 필드
ex <input type="hidden" name="이름" value="서버로 넘길 값">

- <input> 태그의 속성

종류 설명
autofocus 자동으로 입력커서 갖다 놓기
ex <input type="text" autofocus required>
placeholder 입력란에 힌트 표시
ex <input type="tel" placeholder="숫자만 입력해주세요">
readonly 읽기 전용 필드
required 필수 입력 필드를 지정

<textarea>내용</textarea> : 여러 줄을 입력하는 영역

- <textarea> 태그의 속성

종류 설명
cols 텍스트 영역의 가로 너비를 문자 단위로 지정

ex
<textarea cols="40" rows="4" placeholder="남길 말을 적어주세요"></textarea>
rows 텍스트 영역의 세로 길이를 줄 단위로 지정

<select> : 여러 옵션 중에서 선택하게 하는 드롭다운 목록(<datalist> 태그와 유사)

    <option value="값1">내용1</option>

    <option value="값2">내용2</option>

</select>

- <option> 태그 속성

종류 설명
value 해당 항목 선택 시 서버로 넘겨줄 값 지정
selected 기본적으로 선택해서 보여 줄 항목 지정

<button> : 버튼 생성

- <button> 태그 속성

종류 설명
submit 폼을 서버로 전송, <input type="submit">과 같은 기능
reset 폼에 입력한 내용 초기화, <input type="reset">과 같은 기능
button 자체 기능 없음, <input type="button">과 같은 기능

ex <button type="submit">주문하기</button>

 

 

시맨틱 태그

<header> 태그 : 헤더 영역을 의미, 웹사이트의 머리글을 담는 공간

<nav> 태그 : 메뉴 버튼을 담는 공간, <ul>, <li>, <a>와 함께 사용

<main> 태그 : 웹 문서에서 핵심이 되는 내용을 입력, 웹 문서에서 한 번만 사용 가능, <main role="main">을 꼭 써야 한다. <article> 태그를 가질 수도 있다.

<article> 태그 : 문서의 주요 이미지나 텍스트 등 정보를 담고 구역을 설정하는 태그, 태그 내에 구역을 대표하는 <hn>태그가 존재해야 한다. 

<section> 태그 : 웹 문서에서 콘텐츠 영역을 의미, 몇 개의 콘텐츠를 묶는 용도로 사용

<aside> 태그 : 본문 내용 외에 왼쪽이나 오른쪽, 아래에 사이드 바 생성

<footer> 태그 : 웹 문서에서 맨 아래쪽에 있는 푸터 영역 생성, 사이트 정보나 저작권 정보, 연락처 등 입력

<div> 태그 : 여러 소스를 묶음, <div id="header">나 <div class="detail">처럼 id나 class 속성을 사용해서 문서 구조 만들 때 사용, 임의의 공간을 만들 때 사용