🙋🏻♀️ HTML의 구조와 태그(tag)에 대해 설명해보겠다.
HTML : 집의 구조, 태그를 이용해서 구조화하는 언어
CSS : 인테리어
JavaScript : 집의 기능
-> 처음에 '!' 느낌표 하고 enter하면 기본 구조가 세팅된다.
<!DOCTYPE html>
<html lang="en"> <!-- lang : 언어 선택, 영어로 웹사이트 만들거 아니면 "ko"로 설정하자-->
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>HELLO</h1>
</body>
</html>
➡️ <body> 가 <h1>을 포함
➡️ 부모자식 관계로 웹페이지의 구조를 표현한다.
➡️ 속성만 가지고 있음
➡️ 종료태그가 없다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
➡️ <meta />
도 빈요소이다.
➡️ <br />,<hr />,<img />,<input />,<link /> 등 의 종류가 있다.
➡️ 요소에 추가적인 정보를 제공한다.
➡️ 모든 tag 안에 들어갈 수 있다.
➡️ 속성하고 태그는 다르니 헷갈리지 말 것!
<!--난 주석입니다!-->
➡️ 주석은 위의 표시처럼 쓴다.
<body>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
</body>
➡️ 폰트 크기가 모두 상이하다.
➡️ 자동으로 줄바꿈이 된다. 즉, 한 줄의 영역을 차지하고 있다. -> block 태그
<body>
<!--p 태그 : 문장을 쓰는 공간-->
<p>안녕하세요.<br /> 저는 샬라입니다.</p>
<!-- br : 줄바꿈 태그, /앞에 꼭 한칸 띄어줘야함-->
</body>
➡️ 본문을 적기위한 태그이다.
<!--목록을 보는 태그
ul : 순서 없는 목록을 나타냄
li : ul이나 ol태그 안에 list 작성-->
<ul>
<li>사과</li>
<li>바나나</li>
<li>파인애플</li>
</ul>
<!-- 속성 추가
ul태그 마커 모양 : disc(기본모양),circle, square, none-->
<ul type = "circle">
<li>사과</li>
<li>바나나</li>
<li>파인애플</li>
</ul>
➡️ <ul> 안에는 꼭 <li> 인 list 태그를 써야하고, ul과 ol은 서로 중첩해서도 가능하다.
➡️ ul은 순서 없는 목록을 나타낸다.(unordered list)
<!-- ol : 순서 있는 목록을 나타냄-->
<ol>
<li>하나</li>
<li>둘</li>
<li>셋</li>
</ol>
<!-- ol 태그 마커 모양(속성) : 1, A, I, a, i
start : 시작번호
reversed : 역순 -->
<ol type = "1", start="10" reversed>
<li>하나</li>
<li>둘</li>
<li>셋</li>
</ol>
<ul type = "square">
<li>
<ol>
<li><b>맥북</b></li>
<li><strong>마우스</strong></li>
<li><i>핸드폰</i></li>
</ol>
</li>
<br />
<li>
<ol>
<li><em>맥북</em></li>
<li><del>마우스</del></li>
<li><u>핸드폰</u></li>
</ol>
</li>
</ul>
➡️ 이러한 결과가 나온다!
<!--글씨 두껍게-->
<b></b>
<strong></strong>
<!--이탤릭-->
<i></i>
<!--기울여서 강조하기-->
<em></em>
<!--중간줄-->
<del></del>
<!--밑줄-->
<u></u>
<img src ="https://ssl.pstatic.net/melona/libs/1474/1474337/d42382ea6db8cad04329_20231226162939187.jpg" alt = "광고 이미지" />
➡️ 항상 속성이 있어야하고, 빈 요소이다.
➡️ alt 속성은 이미지 로드가 안될때 작성되는 메시지이다.
➡️ 파일을 직접 가져오거나, 인터넷 주소에서 가져오기 등에서 사용가능하다.
<div>
<a href="/HTML/cafe.html" target="_blank">이동</a>
<a href="/HTML/cafe.html" target="_blank">이동</a>
<a href="/HTML/cafe.html" target="_blank">이동</a>
</div>
➡️ 인라인 태그로서, 페이지를 이동하는 하이퍼링크다.
➡️ 속성 값
❗️ inline tag : block과 반대로 영역이 없다.
<a>가 inline 태그이고, 한줄로 작성되는 것을 확인 가능하다.
<!--span 태그 : inline태그로, div안에 들어가는 경우가 많고 한줄에 들어감-->
<div>
<span>Hi.</span><span>nice</span>
<span style="color: aquamarine;">Hi.</span><span>nice</span>
</div>
자세한 예시는 밑에 <input> 와 함께 보이겠다.
<form>
<input type="button" value="전송" />
<button>버튼</button> <!--기본값이 서버로 제출임-->
<button type="button">버튼1</button><br /> <!--이건 type을 바꿨기 때문에 서버로 전송이 아닌 그냥 버튼이 됌, 기능역할을 하게 됌
저기다가 type = "submit"을 하게 되면 기본값이 되는 것-->
<!--placeholder 속성 : 사용자에게 어떠한 값을 입력하라고 안내해주는 역할-->
<!-- value 속성 : 기본값으로 들어가있음. 그러나 지울 수는 있음-->
<input type="text" placeholder="이름" value="wow"/><br />
<input type="text" placeholder="이름" value="Good" readonly/><br /> <!--readonly : 읽을 수만 있음-->
<input type="password" placeholder="비밀번호" /><br />
<!--체크박스 속성 : 여러개 체크 가능, value는 서버로 보내주는 값이고, >옆에 값은 사용자에게 보여지는 값
여기선 food라는 체크박스 하나에 들어가있는 박스들임, on/off 이기 때문에 하나를 선택할수도 , 안할수도, 여러개 할수도 있는 경우엔 체크박스
checked : 기본값으로 체크가 되어있는 것, 해제가능-->
<input type="checkbox" name = "food" value="pizza" />피자<br />
<input type="checkbox" name = "food" value="chicken" checked/>치킨<br />
<!--radio : 여러 선택지 중 하나만 선택 가능, 무조건 하나는 선택해야할때 사용함! , name이 같은 것 중에 하나를 선택하게끔 함!-->
<input type="radio" name = "hobby" value = "camping" />캠핑<br />
<input type="radio" name = "hobby" value = "hiking" />등산<br />
<input type="radio" name = "hobby" value = "swimming" />수영<br />
<!--이렇게 이름이 다르면 여러개 선택 가능함!-->
<input type="radio" name = "hobby_1" value = "camping" />캠핑<br />
<!-- date : 날짜가 생성됌-->
<input type="date" /><br />
<input type="time" /><br />
<input type="datetime-local" /><br /> <!--년월일, 시간까지 전부다 선택가능-->
<!--select : 선택 메뉴를 만드는 tag임. value를 꼭 해줘야한다. 이유는 그래야 서버에 들어가기 떄문.-->
<select>
<optgroup label="아시아">
<option value = "korea">대한민국</option>
<option value = "japan">일본</option>
<option value = "china" disabled>중국</option> <!--disabled : 아예 선택이 안되게 만드는 것. Input에다가도 넣을 수 있음, 서버에도 안보내짐-->
</optgroup>
<optgroup label="북아메리카">
<option value = "u.s.a">미국</option>
<option value = "canada">캐나다</option>
</optgroup>
</select>
</form>
➡️ 이런식으로 가능하다.
처음으로 HTML에 대해 알게되고, 간단한 웹사이트도 만들어보면서 더 흥미가 생겨버렸다! 설문조사 폼도 만들어서 github에 올렸는데 별거 아닐 수 있지만 그래도 뿌듯하댜 👍🏻