▲ 제목을 나타내는 태그
▲ 글씨 크기를 위해 h태그 사용하지 말기
▲ 페이지당 h1태그는 하나만 사용하는 것이 좋다 -> 목차
<pre>
태그 내에서는 말고는 개행이 불가능하다.<br>
태그를 사용하여 줄바꿈 할 수 있다.
<p>
hello<br/>
world<br/>
2021<br/>
09<br/>
27<br/>
monday.
</p>
수평선(가로줄)태그/빈 요소
<h1>hr태그 - 수평선(가로줄)/빈요소</h1>
<hr/>
▲
<pre></pre>
안에서는 공백이 적용됨
▲ 블록요소
<pre>
/ ^__^
/(00)
</pre>
<pre>
< = <
> = >
" = "
' = '
& = &
= (스페이싱)
</pre>
html에서 <, >, ", ', &, 빈 문자(스페이스) 같은 특수문자를 그대로 쓰면 브라우저에 나타나지 않는다. HTML에서 준수하는 위와 같은 규칙으로 특수문자를 나타낼 수 있다.
▲
<b>
: 요악의 키워드, 리뷰의 제품명
▲<strong>
: 높은 중요도, 긴급상황
▲
<i>
: 구분해야하는 부분(앞뒤가 톤이 다르게 읽혀야하는 부분에 사용,등장인물)
▲<em>
: 강조해야하는 부분(단지 강조)
▲ 순수컨테이너로 아무것도 표현하지 않음(블록요소)
▲ 전역속성
▲ 의미가 있을때 사용하면 안돼, 의미가 없을때에만 사용
<h1>div태그 : container -> 순수컨테이너로 아무것도 표현하지 않음/블록</h1>
<!-- 전역속성 -->
<!-- 의미가 있을때 사용하면 안돼, 의미가 없을때에만 사용 -->
<span style="border: 1px solid black">Lorem ipsum</span>
<span style="border: 1px solid black">Lorem ipsum</span>
<div style="border: 1px solid black">Lorem ipsum</div>
<span style="border: 1px solid black">Lorem ipsum</span>
▲ 순수컨테이너로 아무것도 표현하지 않음(인라인요소)
<h1>span태그 : container -> 순수컨테이너로 인라인 요소</h1>
<span style="border: 1px solid black">Lorem ipsum</span>
<span style="border: 1px solid black">Lorem ipsum</span>
<span style="border: 1px solid black">Lorem ipsum</span>
▲ 하이퍼링크
▲<a>
안에는 텍스트뿐만 아니라, 문단/이미지도 넣을 수 있음
▲ 경로에는 절대/상대경로가 있음
▲ [절대경로] : 현재 위치와 상관 없음, 그 절대값 위치로 이동
<a href="https://developer.mozilla.org/ko/">Mozilla</a>
▲ [상대경로] : 현재 위치를 기준으로
<a href="another/index.html">상대경로</a>
▲ 의미가 있는 태그
▲ 요소의 의미를 고려하여 구조를 설계하고 코드 작성
▲<header>, <nav>, <aside>, <main>, <section>, <footer>
등이 있음
▲ header내에 또 다른 header, footer내에 또다른 footer 못 넣어
▲ 순서가 있는 리스트
▲ type속성을 통해 숫자,문자 등으로 순서를 표기할 것을 선택할 수 있음
<!-- ol에는 type 속성을 가지고 있음 -->
<!-- ol과 ul은 중첩해서 사용가능 -->
<h2>ol : ordered list</h2>
<ol type="A">
<li>1</li>
<li>2</li>
<li>3</li>
</ol>
▲ 순서가 없는 리스트
<h2>ul : unordered list</h2>
<ul>
<li>Milk</li>
<li>
Cheese
<ul>
<li>Blue cheese</li>
<li>Feta</li>
</ul>
</li>
</ul>
▲ li는
<ol>과 <ul>
내에서 사용됨
▲ li는<li>
에 value 속성을 사용하여 사용자 임의대로 순서를 바꿀 수 있음
<h2>li : list item</h2>
<ol>
<li>AAA</li>
<li value="5">BBB</li>
<li>CCC</li>
</ol>
<!-- li에는 value라는 속성을 가질 수 있어 -->
▲ 표를 작성하는 태그
▲ thead/tbody/tfoot을 사용하면 형제로 tr사용 못함
▲ thead안에 tr 선언하기
▲<th>
: 표의 제목
▲<tr>
: 표의 행
▲<td>
: 표의 셀
<h1>table태그</h1>
<table>
<tr>
<th scope="col">나라이름</th>
<th scope="col">수도</th>
<th scope="col">인구</th>
</tr>
<tr>
<th scope="row">한국</th>
<td>서울</td>
<td>5100만</td>
</tr>
<tr>
<th scope="row">미국</th>
<td>워싱턴</td>
<td>3억</td>
</tr>
<tr>
<th scope="row">태국</th>
<td>방콕</td>
<td>6900만</td>
</tr>
<tr>
<th colspan="2">합계</th>
<td>4억 2000만</td>
</tr>
</table>
<!-- colspan은 열을 합치는 것 -->
<h1>cation태그 : table태그에서 사용하기 위한</h1>
<!-- table태그 요소의 첫번째 자식으로 들어가야해. 즉 맨 앞에 써!-->
<table>
<caption>
이번달 지출내역
</caption>
<thead>
<tr>
<th scope="col">품목</th>
<th scope="col">지출</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="2">식재료</th>
</tr>
<tr>
<th scope="row">대파</th>
<td>3000</td>
</tr>
<tr>
<th scope="row">달걀</th>
<td>4000</td>
</tr>
</tbody>
<tbody>
<tr>
<th colspan="2">기타 품목</th>
</tr>
<tr>
<th scope="row">고양이간식</th>
<td>3000</td>
</tr>
<tr>
<th scope="row">종이봉투</th>
<td>4000</td>
</tr>
</tbody>
<tfoot>
<tr>
<th scope="row">Totals</th>
<td>30000</td>
</tr>
</tfoot>
</table>
▲ [jpeg] : 정적 이미지
▲ [png] : 투명도 적용 가능, jpeg보다 화질 좋음
▲ [svg] :벡터 이미지, 주로 아이콘이나 다이어그램에 사용
▲ srcset : 너비서술자(w),밀도서술자(x)
▲ sizes : min-width와 max-width를 통해
원래 이미지 사이즈에서 넘어가지 않게 함
[속성]
▲ controls : 재생버튼, 음량 버튼 패널 나타남
▲ autoplay : 자동재생/but 사운드있는 비디오는 멈춤
▲ muted : 음소거 속성
▲ poster : 비디오 썸네일
▲ width/height 가능
주로 웹페이지 내에 지도를 넣을 때 사용
<h1>form : 사용자가 입력할 수 있는 장치를 만들어주는/대화형 컨트롤</h1>
<form action="이 form을 보낼 주소" method="GET/POST">
<input type="text" name="test" />
<button type="submit">제출</button>
</form>
<!-- GET : 사용자가 입력한 데이터가 주소창에 보여짐, 주로 검색에 사용 -> 보안관련된거에는 사용하면 안됨 -->
<!-- POST : 데이터가 보이지 않음, 회원가입 로그인 등에 사용 -->
<h1>fieldset</h1>
<form action="이 form을 보낼 주소" method="GET">
<fieldset>
<legend>예시1</legend>
<div>
<label for="foodname">음식이름 :</label>
<input type="text" name="food" id="foodname" disabled />
</div>
</fieldset>
<!-- disabled붙이면 입력불가능 -->
<!-- disabled는 아예 input창을 비활성화 시키는거, 입력도 전송도 안됨-->
<!-- readonly는 읽기 전용, 입력만 안되고 전송은 됨 -->
<!-- disabled는 fieldset 속성으로도 사용가능 그러면 그 fieldset에 있는 모든 입력창 입력불가능 -->
<fieldset>
<legend>예시2</legend>
<div>
<label for="color">색깔 :</label>
<input
type="text"
name="color"
id="color"
placeholder="초록"
autocomplete="off"
required
/>
</div>
</fieldset>
<button type="submit">제출</button>
</form>
<!-- legend는 fieldset내에 첫번째 자식으로 와야함 -->
<!-- input type이 password라도 입력할땐 마스킹처리되지만, GET방식으로 넘기면 입력한 비밀번호 다 보임 -->
<!-- placeholder는 힌트라고 생각하면 됨 예시 -->
<!-- autocomplete는 자동완성기능임 on/off값으로 주면됨 -->
<!-- required는 boolean값으로 필수로 입력해야하는 의미 -->
<h1>자주 사용하는 form 요소들</h1>
<form action="" method="GET">
<div>
<label
>TIME :
<input type="time" name="time" />
</label>
</div>
<div>
<label
>MONTH :
<input type="month" name="month" />
</label>
</div>
<div>
<label
>DATE :
<input type="date" name="date" />
</label>
</div>
<div>
<label
>NUMBER :
<input type="number" name="number" />
</label>
</div>
<div>
<label
>RANGE :
<input type="range" name="range" />
</label>
</div>
<div>
<label
>CHECKBOX :
<input type="checkbox" name="check1" />
<input type="checkbox" name="check2" />
<input type="checkbox" name="check3" checked />
</label>
</div>
<div>
<label
>RADIO :
<input type="radio" name="radiobtn" value="r1" />
<input type="radio" name="radiobtn" value="r2" />
<input type="radio" name="radiobtn" value="r3" checked />
</label>
</div>
<!-- <button type="submit">제출</button> -->
<!-- 버튼 말고 input으로도 제출가능 -->
<input type="submit" value="제출하기" />
<!-- 문구 바꾸고싶으면 value를 통해 바꾸기 -->
<input type="reset" />
</form>
<!-- input마다 name을 지정해줘야지만 어떤 데이터인지 구분이 가능하다 name은 중요함 -->
▲ drop-down menu
▲<option>
: 후보
▲ option에 selected속성 넣으면 defalt값이 됨
▲ option에 value값이 없으면 안에 내부 내용을 value값으로 사용하니, value값에 빈 문자열 넣고 사용하기
▲ 서버로 보낼 땐 name값과 선택되 value값이 같이 넘어감
▲ 서버로 보낼 땐 name값과 선택되 value값이 같이 넘어감
<h1>select</h1>
<!-- select drop-down menu -->
<form action="" method="GET">
<label for="movie">좋아하는 영화: </label>
<select name="movie" id="movie" required>
<option value="">--please choose--</option>
<optgroup label="애니메이션">
<option value="토이">토이스토리</option>
<option value="주토피아" selected>주토피아</option>
<option value="인사이드아웃">인사이드아웃</option>
</optgroup>
<optgroup label="sf">
<option>인터스텔라</option>
<option>아이언맨</option>
</optgroup>
</select>
<input type="submit" />
</form>
<h1>datalist</h1>
<form action="" method="GET">
<label for="movie">좋아하는 영화: </label>
<input type="text" id="movie" name="movie" list="movie-list" />
<datalist id="movie-list">
<option>토이스토리</option>
<option>주토피아</option>
<option>인사이드아웃</option>
</datalist>
<input type="submit" />
</form>
▲
<select>
: 수정 불가능
▲<datalist>
: 수정 가능하며, 키워드만 입력해도 그에 맞는 목록을 보여줌 -> 추천목록
▲
<input>
은 한 줄만 입력받을 수 있지만, textarea는 여러줄을 입력받을 수 있음
▲ 빈 요소가 아닌 자식요소를 가질 수 있음
▲ cols와 rows 속성으로 크기를 조절할 수 있음
<form action="" method="GET">
<label for="comment">댓글 :</label>
<textarea name="comment" id="comment" cols="30" rows="10"> </textarea>
<input type="submit" />
</form>