두번째 수업 날 배운 내용은 HTML!
순식간에 나간 진도덕분에 정신없기는 했지만 그래도 알차게 배웠다.
집에서 복습을 하니 어느정도 정리가 되는 느낌..?
오랜만에 긴 시간 공부를 하려니 집중력이 조금 딸리긴 했다.
고등학교 졸업한건 언제인지 기억도 안나고, 대학 졸업 기억도 가물가물하다.
책상 앞에 오래 앉아있는게 낯설만도 한 것 같다. 💀
오늘 정리한 내용은 많다! 그래도 정리한김에 쭉 올려보자.
🗒
우선 기본적으로 알아야 할 내용이 있다.
<태그 속성=”속성 값” 속성=”속성 값” …> 의 형태로 사용된다.<!—-주석-—>ctrl + /1️⃣ 기본적인 html 문서 구조
<!doctype html><html> ~ </html><head> ~ </head><title> </title> 사이에 작성된 텍스트만 브라우저 창에 표시된다. <body> ~ </body>2️⃣ html의 구성 요소
우선 태그는 블록(block)태그와 인라인(inline)태그가 있다. 블록태그는 하나의 블록을 차지하고, 인라인태그는 가지고 있는 내용만큼의 자리를 차지한다.
택배 트럭과 박스로 예를 들어보자. 블록(block)태그는 연필 하나를 주문하더라도 트럭의 가로사이즈에 맞는 큰 박스에 포장을 해주는 것이다. 인라인(inline)태그 는 연필사이즈에 맞는 박스에 포장을 해주는 것이다.
<div>가 대표적<span> 이 대표적<br> , <hr> 이 대표적이다. 하지만 시작과 종료가 한 번에 된다는 걸 보여주기 위해 <**br/> , <hr/> 이렇게 작성하기를 권장한다.**<태그 속성=”속성 값” 속성=”속성 값” …> 의 형태로 사용된다.3️⃣ 텍스트와 관련된 태그 (블록)
<hn>태그<h1>이 제일 크고 <h6>까지 있다. <h1>이 제일 큰 글자!<h1>태그를 가장 먼저 찾는다. 하나의 html문서에 1개만 존재하는게 좋다.<p>태그</p>태그를 만날 때 까지 줄바꿈 없이 텍스트를 한 줄로 표시한다.<div>의 경우 줄 간격에 붙어나온다. <br/>태그<br/>태그를 사용하면 된다.<hr/>태그<div>3️⃣ 텍스트와 관련된 태그 (인라인)
<b>태그<strong>태그<i>태그<em>태그<del> :<u> :<span><p>그냥 글자단락이지만 <span><b>이렇게 특정 부분을 묶어서 굵은 글자를 표시할 수 있다. 텍스트 크기만큼만 차지한다.</b></span>그리고 여기는 일반 글자굵기</p><div>태그 사용<mark>3️⃣ 텍스트와 관련된 태그 (목록)
1) 순서가 없는 목록 <ul>태그
<li>와 함께 쓰인다.<ul>
<li>내용</li>
<li>내용</li>
</ul>
2) 순서가 있는 목록 <ol>태그
<li>와 함께 쓰인다.<ol type=“1”> 숫자(기본값) <ol type=“a”> 영문 소문자 <ol type=“A”> 영문 대문자 <ol type=“i”> 로마숫자 소문자 <ol type=“I”> 로마숫자 대문자<ol type="1">
<li>내용</li>
<li>내용</li>
</ol>
<ol type=“a” start=“3”> 소문자 알파벳의 3번째부터 목록이 시작된다. 즉 c부터 목록이 시작된다.3️⃣ 이미지와 관련된 태그
<img>태그<img src=”경로” [속성=”값”]> 의 형태이며 이미지를 삽입해준다.
이미지의 정확한 경로를 지정해야 한다. 작성중인 웹문서 파일과 같은 위치에 있어야 한다.
[경로를 지정할 때]
*이미지파일의 경로를 작성해도 되고, 이미지 소스 링크를 복붙해도 가능하다!
-웹문서 파일과 이미지 파일이 같은 경로에 있다면? (. 은 현재위치 의미)
<img src=”./cat.jpg”>
-웹문서가 있는 폴더의 하위폴더에 이미지가 있다면?
<img src=”images/cat.jpg”>
-상위 폴더를 거쳐야 한다면?
<img src=”../images/cat.jpg”>
<img>태그 - alt 속성<img>태그 - title 속성<img>태그 - width, height 속성3️⃣ 텍스트와 관련된 태그 (하이퍼링크)
<a>태그<a>태그 - href 속성<a href="이동하고자 하는 링크">화면에 표시 될 텍스트</a> 의 형태이다. 화면에 표시되는 텍스트를 누르면 원하는 링크로 이동된다.<a>태그 - target속성링크가 열릴 때 어떻게 열리는지 설정해준다.
사용할 수 있는 속성 값
_blank : 새 창이나 새 탭에서 열린다.
_self : 기본 값으로 링크가 있는 화면에서 열린다.
_parent : 프레임을 사용했을 때 링크 내용을 부모 프레임에 표시한다.
_top : 프레임을 사용했을 때 프레임에서 벗어나 링크 내용을 전체 화면에 표시한다.
<label>태그를 이용해 캡션을 붙일 수도 있고, 나중에 css로 꾸밀 수도 있다.4️⃣ 폼 관련 태그, input태그
<form>태그
<input>태그
<input>태그이다. <input type="text" name="name"/>type=”button”
type=”text” 속성
type=”password” 속성
type=”checkbox” 속성
여러 선택지 중 여러 개를 선택 가능한 체크 박스를 생성
[필요한 속성]
name : 체크 박스의 이름, 같은 분류의 체크 박스는 같은 이름으로 지정
value : 체크 박스가 실제로 전달하는 값을 지정
checked : 처음부터 선택 된 상태로 로딩
백엔드쪽으로 데이터가 넘어갔을 때 설명이 필요하기 때문에 해당 속성들을 입력해주어야 한다.

예를 들어 ‘취미선택’으로 묶여있는 체크박스라면 name속성을 같은 값으로 묶어줘야 데이터 확인이 편하다.
type=”radio” 속성
[필요한 속성]
name : 라디오버튼의 이름, 같은 name을 가지는 것들 중 하나만 선택이 가능하다. 중복 선택 불가!
value : 라디오버튼이 실제로 전달하는 값을 지정
checked : 처음부터 선택 된 상태로 로딩type=”date” 속성
type=”range” 속성
type=”color” 속성
type=”file” 속성
placeholder속성
<textarea>
<textarea cols="40" rows="3"></textarea><select>태그
체크박스와는 다르게 선택메뉴(드롭다운)이 만들어진다. name속성으로 selcet 박스의 이름을 지정할 수 있다.

<option>태그로 select폼의 옵션 값을 생성 할 수 있다.
[속성]
value : 실제적으로 전달 되는 값
selected : 최초에 선택 된 값으로 설정
<opt group> 태그로 그룹화 할 수 있다.
label 속성 : optgroup의 이름을 설정할 수 있다.
disabled 속성 : 옵션은 보이지만 선택이 불가하다.
<select name="select option">
<optgroup label="옵션1~3">
<option value="옵션1">옵션1</option>
<option value="옵션2">옵션2</option>
<option value="옵션3">옵션3</option>
</optgroup>
<optgroup label="옵션4~6">
<option value="옵션1">옵션4</option>
<option value="옵션2">옵션5</option>
<option value="옵션3">옵션6</option>
</optgroup>

5️⃣ 표를 만드는 태그
표는 행(row)과 열(column)로 이루어져있다.
<table> 태그
<tr> 태그 - 행(table row)
<td> 태그 - 셀(table data)
<th> 태그 - 제목 셀(table head)
표에 제목 셀 만들기. 기본적으로 가운데 정렬이다.
셀에 들어가는 내용을 셀의 중앙에 배치하고 굵게 표시해준다.
<thead>, <tbody>, <tfoot>로 표의 구조를 잡아준다. 아래 형식처럼!
<table border="1" cellspacing="0" width="100%">
<thead>
<tr>
<th>이름</th>
<th>성별</th>
<th>전화번호</th>
</tr>
</thead>
<tbody>
<tr align="center">
<td>홍길동</td>
<td>남</td>
<td>010-0000-0000</td>
</tr>
<tr>
<td>양길동</td>
<td>남</td>
<td>010-0000-0000</td>
</tr>
</tbody>
</table>
그리고 아래처럼 작성하면 하단 이미지처럼 보여진다.
```html
<table>
<tr>
<th> 제목 셀 </th>
<td> 1행 2열 </td>
<td> 1행 3열 </td>
</tr>
<tr>
<th> 제목 셀 </th>
<td> 2행 2열 </td>
<td> 2행 3열 </td>
</tr>
</table>
```

<colspan><rowspan>border : 테두리 두께
cellspacing : 테두리 간격 사이의 너비 (값을 ”0”으로 두면 테두리가 한 줄로 된다.)
cellpadding : 셀 내부의 간격
align : 테이블 정렬 속성
width 와 height : 테이블의 너비와 높이
bgcolor 와 bordercolor : 테이블 배경색과, 테두리 색웹페이지를 이루는 요소에 의미에 맞는 태그를 사용하자. 깔끔하게! 구조화해서!

출처: 코딩온 교육자료
<header> : 헤더 (로고, 메뉴 아이템 등)
<nav> : 네비게이션 (다른 곳으로 이동 가능한 링크들)
<main> : 콘텐츠 영역임을 표시. 한 html 페이지당 한 번 사용하는 것이 바람직하다.
<section> : article을 포함 (그룹화 목적)
<article> : 하나의 의미있는 요소 (ex. 기사 리스트 중에서 기사 하나)
<aside> : 콘텐츠와 직접적인 연관이 없는 옆에 있는 부분 (ex. 광고 등)
<footer> : 푸터 (하단 영역)
<div> 태그만 가득하다면 구분하기도 힘들고, 원하는 내용을 찾기 힘들다. 다른 사람이 보더라도 한 눈에 들어오게 깔끔하게 해주어야 한다.💬
✏️
제대로된 수업을 들으면서 실습을 해보았다. 실습을 하면서 느낀 점이 있다.
실습이 시작되면 여기저기서 타자소리가 타닥타닥 들려온다. 그리고 쓰레드에 하나둘 댓글이 올라온다.
마음이 굉장히 조급해진다!
나만 못하나 싶고 나도 빨리 하고픈 마음에 더 호다닥 한 것 같다.
그래서 뭐지 뭐지! 하면서 복붙을 하고 헐레벌떡 한 느낌이 없지않아있다.
그리고 나중에 다시 보니 빼먹은 내용도 있었다.ㅎ
내가 정말 이해를 해서 내 머릿속에서 나와서 하는게 맞나? 하는 생각이 들었다.
어쨌든 내가 이해가 되는게 제일 중요하기 때문! 그러니 흔들리지 말고 ㅠ 여유로움을 가지고 침착하게 이해하면서 차근차근해야겠다는 생각이 들었다.