Python이나 JavaScript와 같은 컴퓨터 언어는 변수를 지정하고 함수를 만들어 어떤 동작들을 처리할 수 있다.
하지만 HTML은 정해진 형식에 따라 원하는 자리에 컨텐츠를 입력하는...따지고 보면 HTML은 조금 불편한 워드/한글을 작성하는 것과 같다.
지금 쓰고 있는 티스토리 블로그 편집기도 결과물은 HTML로 작성되니까 따지고 보면 인터넷에서 글을 쓰는 모든 사람은 직간접적으로 HTML을 작성하고 사용해봤을 것이다.
그러니 복잡하게 생각하지말고 일단 한번 만들어보자!
Chat-GPT를 사용해 블로그 글을 HTML로 작성해달라고 부탁했다.
<!DOCTYPE html>
<html>
<head>
<title>My Blog Post</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<header>
<h1>My Blog Post</h1>
</header>
<main>
<article>
<header>
<h2>Post Title</h2>
<p>Posted on March 11, 2023</p>
</header>
<section>
<p>Here is the content of my blog post. It can be as long or as short as I want it to be.</p>
</section>
</article>
</main>
<footer>
<p>© 2023 My Blog</p>
</footer>
</body>
</html>
작성된 HTML 문서를 웹뷰어를 통해 웹상으로 어떻게 보여지는지 확인해보자.
프로그램을 설치할 필요없이 웹상에 구현되어있는 HTML뷰어로 어떻게 작성되었는지 확인할 수 있다.
https://codebeautify.org/htmlviewer
이제 HTML이 어떤 역할을 하는지 어느정도 감이 왔을 것이다!
웹페이지가 정보를 담고 있는 잡지라고 하면 글박스가 어디에 있고 어떤 배치로 구성할 지를 정하는게 HTML의 역할이다.
HTML이 잡지의 레이아웃을 잡아준다고 생각하면 이해하기 쉬울 것이다.
<열린태그 속성 = "속성값"> 컨텐츠 </닫힌 태그>
자주사용되는 태그를 아래 코드로 정리했다.
<!DOCTYPE html>
<!-- HTML5라는 신조어로 문서를 선언하는 태그 -->
<html>
<head>
<!-- 웹사이트의 요약정보를 담는 영역, 웹사이트에서 노출되지 않음 -->
<meta charset = "UTF-8">
<!-- 한글이 웹에서 깨지지않게 해주는 용도 -->
<title> 김민준의 블로그 입니다 </title>
<!-- 브라우저 탭 메뉴에 나타나는 제목 -->
</head>
<body> <!-- 웹사이트 내용 -->
<h1> 제목1 </h1>
<!-- h1 태그는 가장 중요한 정보를 담으므로 하나의 html문서에서 한번만 사용됨 -->
<p> 본문내용 </p>
<img src = "이미지파일경로" alt="웹사이트에서 이미지가 깨질때 텍스트 정보로 대체/시각장애인이 웹에서 이미지를 볼때 이 내용이 나타남">
<ul>
<!-- 각각의 정보의 우선순위가 없을때 순서가 없는 리스트 생성 -->
<li>메뉴1</li>
<li>메뉴2</li>
</ul>
<a href="https://_____" target = "_blank"> 하이퍼링크를 무슨 이름으로 할 것인지 여기에 적으면 됨 </a>
<!-- a는 anker에서 따온 말로 링크를 걸때 사용, href : url주소 target : 웹페이지 연결방식 -->
</body>
</html>
웹사이트를 들어가보면 홈페이지에 상단바가 있고 아래쪽에는 사업자등록 번호등이 있는 경우가 있다.
홈페이지의 요소를 간단하게 그려보면 다음과 같다.
<header> <!-- 상단 영역 -->
<nav> <!-- 메뉴 영역 -->
<ul>
<li><a>상단탭(링크)홈</a></li>
<li><a>상단탭(링크)목록</a></li>
</ul>
</nav>
</header>
<main role="main"> <!-- 본문 영역 -->
<article> <!-- 정보 영역 : 태그 내에 구역을 대표하는 h태그가 하나는 있어야한다 -->
<h1> 대표제목 1 </h1>
<h2> 소제목 </h2>
<p> 본문내용 </p>
</article>
</main>
<footer> <!-- 하단 부록 영역 -->
<div> <!-- 임의의 공간을 만들때 사용하는 div 태그 -->
<p>주소 : 어쩌고 저쩌고 </p>
<p>이메일 : 어쩌고@gmail.com </p>
</div>
<div> <!-- 전자상거래소비자보호법 필수정보 -->
<p>사업자등록번호 : 000000 </p>
<p>통신판매업신고번호 : 0000 </p>
</div>
</footer>
크롬에서 F12를 누르면 개발자도구가 나오게 되는데 여기서 맨 위의 메뉴중 가장 왼쪽의 "검사할 페이지 요소 선택(Ctrl+Shift+C)" 을 누르면 마우스로 선택한 구조가 어떤 HTML태그와 요소를 가지는 지 알 수 있다.
기본옵션으로 만들어져 아주 간단한 내 블로그를 통해 실제 웹사이트는 어떻게 구성되어 있는지 알아보자.
상단메뉴 구성 : id = header, class = header 라고 되어있다
내용이 들어가는 본문영역1 : class = wrap-content로 되어있다
내용이 들어가는 본문영역2 : class = wrap_content_wrap_detail_content 라고 되어있다
하단부록영역 : id = footer, class = footer 라고 되어있다.
웹개발자가 아니라서 왜 body안에 모든 내용이 들어가는지는 모르지만 (아마 이렇게 하는 편이 유지보수가 편해서..?)
실제 웹사이트는 아래처럼 좀더 간단하게 짜여 있었다.
네이버, 구글, 다음 등등 다른 홈페이지를 가봐도 동일하게 구성되어 있었음.
<HTML>
<head>
웹페이지 기본정보 및 스타일 정보
</head>
<body>
웹페이지 전체 구성요소
</body>
</HTML>
HTML을 알면 웹상에서 동적으로 작동하는 글을 어떤 플랫폼이든 쓸 수 있다.
엥간한 뷰어는 HTML을 지원하기 때문이다.
전자책을 만들기 위해 epub을 만져봤는데 껍데기는 epub이지만 속은 HTML로 되어있었다.
1. HTML은 복잡해보이는 워드/한글 일뿐이다.
2. 기본구성 <태그 속성 = "속성값"> 컨텐츠 </태그>
3. 웹페이지 기본구성 <HTML> <head>웹페이지 기본정보</head> <body>내가 쓰려는 내용</body> </HTML>
JavaScript 기본문법 : 변수/함수/조건문/반복문 (0) | 2023.03.05 |
---|