프론트엔드

HTML 요약

한 면만 쓴 종이 2022. 7. 24. 19:25

<!DOCTYPE html> 웹 브라우저에 어떤 표준에 따르는 html인지 알려주는 용도

 

 

<html> 은 문서의 head와 body를 감싸야 함
<head> 는 html의 첫 소개를 감싸야 함
<body> 는 html의 본문을 감싸야 함
<title> html의 인터넷 창 위 제목 
한글 요류 발생 -> <meta charset="utf-8"> 추가

<strong> 해당 구역 문자 굵게
<a href="링크" html 실습>  해당 문자(html 실습) 클릭 시 해당 링크로 이동
<a href="링크" target="_blank" html 실습>  해당 문자(html 실습) 클릭 시 새로운 창 열고 링크된 링크로 이동
<a href="링크" title="링크로 이동합니다"  html 실습>  해당 문자(html 실습)위에 커서 올리면 title 문장 보여줌

<ol> 은 html의 각 문단.주제를 나눠줄 때 씀
<li> 는 숫자 리스트로 표현

 

 

<!DOCTYPE html>
<html>
<head>
	<title>수업 소개</title>
	<meta charset="utf-8">
</head>

<body>
<h1>HTML</h1>
	<ol> 
		<li>기술소개</li>
		<li>숫자 리스트</li>
		<li>EX 1. 2. 3. ~</li>
		
	</ol>
</body>
</html>

 

 

• <p>

    ↪ 단락을 나눠줌

 

• <br>

    ↪ 줄바꿈

    ↪ </br> 을 하지 않음 (닫지 않아도 됨)

 

• <img>

    ↪ <img src="img.jpg" width="100" height="50" alt="산 이미지">

    ↪ </img> 를 하지 않아도 됨

    ↪ 만약 이미지 경로가 잘못 되면 alt의 "산 이미지" 텍스트를 보여줌 (alternative text)

    ↪ <img src="img.jpg" width="100" alt="산 이미지" title="산 이미지">

        title 태그로 인해 이미지에 커서를 붙이면 "산 이미지" 텍스트를 보여줌

 

• <table>

    ↪ 표

    ↪ <table border="2">: table의 테두리 정하기

    ↪ <tr> : table row (행)

    ↪ <td> : table의 한 칸

    ↪ <thead> : 표의 카테고리 -> 진하게 바꿔줌

    ↪ <tbody> : 표의 정보

    ↪ <tfoot> : 표의 가장 아래에 위치하게 됨

<html>
<body>
	<table border="2">
		<thead>
		<tr>
			<td>이름</td> <td>성별</td> <td>주소</td>
		</tr>
		</thead>

		<tbody>
		<tr>
			<td>최진혁</td> <td></td> <td>청주</td>
		</tr>
		<tr>
			<td>최유빈</td> <td></td> <td>서울</td>
		</tr>
		</tbody>
	</table>
</body>
</html>

 

    ↪ 표 병합

        ↪ <td rowspan="2">청주</td>: 두 개의 행이 병합됨 (해당 칸과 바로 밑의 칸 병합)

        ↪ <td colspan="3">합계</td>: 세 개의 열이 병합됨 (오른쪽 두 칸과 병합)

 

• <span>

    ↪ 특별한 기능을 가지고있지는 않음

    ↪ CSS와 쓰임

    ↪ display속성이 inline (= 줄바꿈이 안 됨)

 

 

• <form>

    ↪ 사용자가 입력한 정보를 서버로 전달하는 역할

    ↪ <input type="password"> : 몇 글자를 입력했는지만 알 수 있음 ( • 으로만 출력됨 )

    ↪ <input type="submit"> : 서버에 제출할 수 있는 버튼 생성

    ↪ <form action="보낼 곳"> : form data를 서버로 보낼 때 해당 데이터가 도착할 URL 명시

    ↪ 아이디 : <input type="text" name="id"> : 서버에 전달 될 때, name의 값으로 전달 됨

    ↪ <input type="text" name="id" value="default value"> : 입력할 칸에 기본적으로 써져있는 문자

    ↪ <textarea> : 여러 줄을 입력 가능한 공간

<html>
<body>
<form action="">
	<p>아이디 : <input type="text" value="default value" name="id"></p>
	<p>비밀번호 : <input type="password" value="default value" name="pwd"></p>
	<p>주소 : <input type="text" name="address"></p>

	<p>textarea:
		<textarea cols="50" rows="10">default value</textarea>
	<input type="submit" name="">
</form>
</body>
</html>

 

    ↪ Dropdown List

        : 제한된 공간 안에서 여러가지 선택지를 선택 가능하게 하는 것

        ↪ <option value="red">붉은색</option> : value로 설정한 red가 전송됨

        ↪ <select name="color2" multiple> : 다중 선택 가능 (multiple)

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<form action="http://localhost/color.php">
		<h1>색상1</h1>
		<select name="color">
			<option value="red">붉은색</option>
			<option value="black">검은색</option>
			<option value="blue">파란색</option>
		</select>

		<h1>색상2 (다중선택)</h1>
		<select name="color2" multiple>
			<option value="red">붉은색</option>
			<option value="black">검은색</option>
			<option value="blue">파란색</option>
		</select>

		<input type="submit" name="">
	</form>
</body>
</html>

    ↪ radio

    <input type="radio" name="color">
    <input type="radio" name="color">

            ↪ 둘 중 하나만 선택 가능 ( 둘 다 color 라는 이름을 가졌기 때문)

 

아래 코드는 단일 색상만 선택 가능한 코드

붉은색: <input type="radio" name="color" value="red">
검은색: <input type="radio" name="color" value="black">

 

    ↪ checkbox

            ↪ 다중 선택 가능

            ↪ 기본적으로 선택되어져 있는 상태 => <input type="checkbox" name="size" checked>

                        ↪ radio도 마찬가지

<h1>사이즈(다중 선택)</h1>
	95: <input type="checkbox" name="color2">
	100: <input type="checkbox" name="color2">
	105: <input type="checkbox" name="color2">
<html>
	<head>
		<meta charset="utf-8">
	</head>
	<body>
		<form action="https://localhost/order.php">
		<p>
			<h1>색상(단일 선택)</h1>
			붉은색: <input type="radio" name="color" value="red">
			검은색: <input type="radio" name="color" value="black">
		</p>
		<p>
		<h1>사이즈(다중 선택)</h1>
			95: <input type="checkbox" name="size" value="95">
			100: <input type="checkbox" name="size" value="100">
			105: <input type="checkbox" name="size" value="105" checked>
		</p>
		<input type="submit">
		</form>
	</body>
</html>

    ↪ 버튼

            ↪ <input type="reset"> : 입력칸에 채워져있던 내용이 빈칸이 됨 (재설정)

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
</head>
<body>
	<form action="http://localhost/form.php">
		<input type="text">
		<input type="submit" value="전송">
		<input type="button" value="버튼" value="버튼" onclick="alert('hello world')">
		<input type="reset">
	</form>
</body>
</html>

 

    ↪ hidden field

            ↪ <input type="hidden" name="hide" value="egoing"> : UI가 없지만 서버로 전송해야 하는 경우

 

    ↪ label

            ↪ <label>text</label> : text는 무언가의 이름표라는 것을 표시

            ↪ for=" ... " : ...의 이름표라는 의미

<label for="id_txt">text :</label>
<input id="id_txt" type="text" name="id">

위와 동일함
<label text:
    <input type="text" name="id">
</label>

 

    ↪ method

<form action="http://localhost/method.php" method="post">

            ↪ post 방식으로 데이터를 전송 => url에 뜨지 않음

            ↪ *get 방식은 url을 통해서 데이터를 전송하는 것

 

    ↪ 파일 업로드

            ↪ type="file"

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<form action="http://localhost/upload.php" method="post" enctype="multipart/form-data">
	<!-- type="file" : 사용자가 파일을 전송할 수 있는 UI를 만듦 -->
	<input type="file" name="profile">
	<input type="submit">
</form>
</body>
</html>

 

• <meta>

    ↪ 어떠한 데이터가 있으면 그 데이터를 설명하는 데이터를 메타데이터라고 함

 <meta name="description" content="생활코딩의 소개자료">

    ↪ 검색 시, 검색 결과의 요약에 meta 태그의 description이 요약자료로 나올 확률이 높음

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="description" content="생활코딩의 소개자료">
	<meta name="keywords" content="코딩, coding">
	<meta name="author" content="egoing">
</head>
</html>

 

• <의미론적 태그 semantic>

    ↪ <header> : 사용해도 아무런 변화도 없음

    ↪ <footer> : header가 있을 경우 footer도 있는 경우가 많음

    ↪ <nav> : 네비게이션 역할을 하는 정보라는 표시

    ↪ <article> : 해당 영역이 본문이라는 표시

    ↪ <section> : article을 포함한 문서의 구획들을 정의

 

• <검색엔진 최적화 (SEO)>

    ↪ 의미론적으로 작성하는 것이 최선

    ↪ rel="canonical" : 같은 문서가 여러개라면 한 가지 형태의 URL을 제공

 

• <모바일 지원>

<meta name="viewport" content="width=device-width", initial-scale=1.0">

    ↪ name="viewport"

    ↪ content="width=device-width" : 내용을 화면 폭에 맞춤

    ↪ initial-scale=1.0" : 화면을 확대•축소하지 않은 상태에서 시작함

 

• <HTML5의 새로운 제출양식>

    ↪ <input type="number"> : 사용자가 number만 입력 가능

 

 

  • <input type="hidden">

사용자에게 보이지 않는 숨겨진 입력 필드를 정의

숨겨진 입력 필드는 렌더링이 끝난 웹 페이지에서는 전혀 보이지 않으며, 페이지 콘텐츠 내에서 볼 수 있게 만드는 방법도 없음

=> 숨겨진 입력 필드는 폼 제출 시 사용자가 변경해서는 안 되는 데이터를 함께 보낼 때 유용하게 사용됨

 

• <div>

특별한 기능을 가지고있지는 않음

스타일을 지정해주는 태그

display속성이 block (=줄바꿈이 됨)

<div style="background-color:red">예시1</div>
<div style="width:100px; height:100px; border:3px solid black; float:right>예시2</div>
width 가로 크기
height 세로 크기
border 테두리 크기
background-color 배경 색상
float 정렬
margin 여백