프론트엔드 개발자(앞단) - 웹 사이트와 웹 서비스를 만듬. 예를 들어 서버 쪽과의 데이터 통신 연결 작업을 진행하거나, 버튼을 누르면 다양한 인터렉션 효과를 구현하는 개발자, 사용자가 보는 모든 화면의 페이지를 제작하는 사람.
백엔드 개발자(뒷단) - 사용자가 보지 못하는 뒤의 영역을 만듬. 예를 들어 로그인을 한다고 할 때, 등록된 아이디인지 비밀번호가 맞는지 확인 작업을 하거나, 고객 정보를 안전하게 보관하는 개발자.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> 제목 </title>
</head>
<body> 내용 </body>
</html>
meta
태그는 문서의 특성name
태그는 서버에서 참조 가능한 정보 이름content
태그는 정보의 값title
태그는 웹 제목link
태그를 이용, rel
, type
태그로 속성을 설정함.sizes
태그로 크기를 변경하고, href
태그를 이용 사진의 경로를 설정함<head>
<meta charset="utf-8">
<meta name="description" content="Web Tutorial">
<meta name="keywords" content="html, css, tutorial, web">
<meta name="author" content="Kangsan Park">
<title>HTML, CSS Tutorial</title>
<link rel="shortcut icon" type="image/icon" sizes="32x32" href="favicon.ico">
</head>
a
태그는 하이퍼링크, href
태그로 주소 설정함target
태그를 이용하여 _self
태그는 현재 창, _blank
태그는 새 창에서 염<a href="https://www.naver.com/" target="_blank">네이버</a>
src
태그로 경로를 설정하고, alt
태그를 이용하여 이미지의 설명을 추가함width
, height
태그로 크기를 설정함<img src="apple.png" alt="애플 이미지" width="150px" height="">
<img src="https://www.seekpng.com/png/detail/24-243121_apple-png-apple-clipart.png" alt="사과 이미지" width="150px" height="">
h1
태그로 갈수록 중요도가 높고 글자 크기가 큼,h1
태그는 기업명 또는 서비스명으로 거의 한번만 씀<h1>Title</h1>
<h2>Title</h2>
<h3>Title</h3>
<h4>Title</h4>
<h5>Title</h5>
<h6>Title</h6>
p
태그를 씀<p>Nice to meet you</p>
<p>Nice to meet you</p>
<p>Nice to meet you</p>
span
태그는 css 스타일 적용하기 위한 태그mark
태그는 글 배경색 적용. (기본 노란색 배경)<p><span>동해물</span>과 백두산이 마르고 닳도록</p>
<p><mark>사과</mark>는 사과 나무에서 나는 열매이다.</p>
ol
태그는 순서가 있고 ul
태그는 순서가 없음ol
, ul
태그 밑에는 li
태그만 들어갈 수 있음 <ol>
<li>메뉴1</li>
<li>메뉴2</li>
<li>메뉴3</li>
</ol>
<ul>
<li>메뉴1</li>
<li>메뉴2</li>
<li>메뉴3</li>
</ul>
<ul>
<li><a href="#">영화</a></li>
<li><a href="#">부동산</a></li>
<li><a href="#">음악</a></li>
</ul>
type
태그로 버튼의 속성을 설정함button
태그는 단순한 클릭의 버튼, submit
태그는 서버에 정보를 보내는 버튼<button type="button">닫기</button>
<button type="submit">확인</button>
src
태그로 영상의 경로를 설정controls
태그로 영상을 컨트롤하는 버튼 양식 추가autoplay
태그로 영상 자동 재생(크롬에서는 muted
태그를 이용해 음소거해야 자동 재생)loop
태그는 영상 자동 반복width
, height
태그로 크기 조절, 하나만 설정시 자동 설정<video src="sample.mp4" controls
autoplay muted
loop
width="400px"
height="#">
</video>
<iframe width="200" height="200"
src="https://www.youtube.com/embed/CqvfTItHF-s"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
</iframe>
<audio src="sample audio.mp3" controls
autoplay muted
loop>
</audio>
form
태그는 폼 양식을 설정하는 태그
label
태그는 각각의 폼 양식에 이름을 붙이는 태그
for
, id
태그를 동일하게 설정하면, 클릭시 이동
type
태그로 양식의 속성을 설정함(예시로 password
로 설정시 ●로 입력됨)
placeholder
태그 사용시 빈칸 폼 안에 설명을 위한 회색 글씨가 생성됨
minlength
, maxlength
태그로 길이 설정 가능
number
태그 때, min
, max
태그로 숫자의 최소값과 최대값 설정 가능
upload
태그 때, accept
태그로 첨부 가능한 파일의 양식을 설정 가능
required
태그로 폼 양식 때 반드시 입력 해야하는 필수값으로 선택 가능
<form method="post">
<label for="name">이름</label>
<input type="text" placeholder="이름을 입력하세요." id="name" minlength="2" maxlength="8" required>
<label for="mail">이메일</label>
<input type="email" placeholder="이메일을 입력하세요." id="mail" required>
<label for="pw">비밀번호</label>
<input type="password" placeholder="최소 6글자, 최대 12글자" id="pw" minlength="6" maxlength="12" required>
<label for="num">숫자</label>
<input type="number" placeholder="숫자만 입력" id="num" min="10" max="40" step="5">
<label for="upload">파일 업로드</label>
<input type="file" id="upload" accept="image/png, image/jpg, image/gif">
<button type="submit">제출</button>
</form>
checkbox
태그를 이용, 체크 양식을 추가함radio
태그를 이용, 단일 선택의 체크 양식을 추가함checked
태그를 이용 시 기본 체크됨<label for="n1">한국</label>
<input type="checkbox" id="n1" name="country" value="한국">
<label for="n2">일본</label>
<input type="checkbox" id="n2" name="country" value="일본">
<label for="n3">중국</label>
<input type="checkbox" id="n3" name="country" value="중국">
<label for="n1">한국</label>
<input type="radio" id="n1" name="country" value="한국" checked>
<label for="n2">일본</label>
<input type="radio" id="n2" name="country" value="일본">
<label for="n3">중국</label>
<input type="radio" id="n3" name="country" value="중국">
textarea
태그를 이용, 문의내용 등을 적는 폼 양식을 추가함cols
태그로 가로 크기를, row
태그로 세로 크기를 설정함<label for="content">문의내용</label>
<textarea id="content" cols="40" rows="8"></textarea>
select
태그를 이용, 선택 가능한 폼 양식을 추가함select
태그 밑에는 option
태그만 사용 가능, value
태그로 선택 칸의 내용을 설정selected
태그로 기본 선택이 되는 값을 선택 가능disabled
태그로 다시 선택할 수 없는 값 설정 가능<select name="job">
<option selected disabled>직업을 선택해 주세요.</option>
<option value="학생">학생</option>
<option value="회사원">회사원</option>
<option value="기타">기타</option>
</select>
table
태그를 이용, 표를 만듬 (css를 이용해서 표 테두리 설정 가능)
thead
, tbody
, tfoot
의 순서로 표가 이루어짐
caption
태그를 이용, 표 위 가운데 캡션을 추가함
tr(table row)
태그는 가로줄 설정
th(table head)
태그는 표의 제목 설정
td(table data)
태그는 셀 내용 설정
rowspan
태그를 이용해 세로셀 병합 가능
colspan
태그를 이용해 가로셀 병합 가능
<table>
<caption>상품 정보</caption>
<thead>
<tr>
<th>상품</th>
<th>색상</th>
<th>가격</th>
</tr>
</thead>
<tbody>
<tr>
<td>맥북 프로 16인치</td>
<td>그레이</td>
<td>3,000원</td>
</tr>
<tr>
<td rowspan="2">아이패드 프로 12인치</td>
<td>레드</td>
<td>1,000원</td>
</tr>
<tr>
<td>블루</td>
<td>1,000원</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">총 가격</td>
<td>5,000원</td>
</tr>
</tfoot>
</table>
주로,
header
태그는 최상단nav
태그는 상단 버튼main
태그는 주 내용(본문)section
태그는 관련있는 내용, article
태그는 독립적인 내용aside
태그는 본문 옆 내용, div
태그는 관련없는 부가적인 내용footer
태그는 최하단<header>
<nav>
<ul>
<li><a href="#">메뉴1</a></li>
<li><a href="#">메뉴2</a></li>
<li><a href="#">메뉴3</a></li>
</ul>
</nav>
</header>
<main role="main">
<section>
<h2>Service</h2>
</section>
<section>
<h2>Portfolio</h2>
</section>
<article>
<h2>Article title</h2>
<p>Nice to meet you</p>
</article>
</main>
<aside></aside>
<div></div>
<footer></footer>
Inline과 Block은 레이아웃의 개념으로 CSS로 설정함.
span
태그는 Inline으로, 가로로 나열 및 크기 설정이 안됨
h1
태그는 block으로, 세로로 나열 및 크기 설정이 됨
<span>Inline</span>
<span>Inline</span>
<span>Inline</span>
<h1>Block</h1>
<h1>Block</h1>
<h1>Block</h1>
section
태그, article
태그, aside
태그, div
태그의 구분이 아직 명확하지 않아, 조금 더 찾아봐서 이해해야 함.section
태그는 관련이 있는 내용들끼리,article
태그는 혼자서 독립될 수 있는 내용들끼리,aside
태그는 그냥 본문 옆에 있는 내용,div
태그는 위의 내용과 전혀 관련없는 별개의 내용으로 구분한다는 걸 깨달음.