본문 바로가기

[인프런] 기초 HTML

728x90

 

음... 강의를 들어보니까 예전에 배운거라 그냥 실습을 하면서 공부하는 것이 낫겠다는 생각이 들었다...

그래도 정리한건 아까우니까... (기록...)


섹션1. 기초 HTML

 

[1-1] HTML 개념 알기

하이퍼텍스트 -> 다른 정보로 접근할 수 있게 도와주는 링크

 

HTML(HyperText Markup Language)

웹을 이루는 가장 기초적인 구성 요소로, HTML은 웹 페이지의 내용을 서술하고 정의하는 데 사용한다. (태그라는 개념으로 구분)

  • html 언어에서는 태그라는 문법적 특성으로 웹 화면의 요소(element)를 표현

요소 = 태그로 이루어짐

 

HTML의 문법

  • 마크업 언어: 언어체계가 모든 것이 태그로 이루어져있음, 태그의 집합으로 어떠한 내용을 표현하는 것
  • 여는 태그와 닫는 태그의 한 쌍
  • 태그는 중첩될 수 있음

 

HTML의 기본 구조

  • html, head, body 태그
  • html 태그는 문서의 시작과 끝
  • head 태그는 문서의 메타 정보(문서의 정보)를 정의(사용자에게 보이는 부분이 아님)
  • body 태그 안에는 실제 사용자에게 보여질 화면을 구현

 

크롬 개발자 도구

  • 단축키: Ctrl+Shift+I

[1-2] 서식 관련 태그 알아보기

 

글의 내용을 정의하는 태그들

글의 성격이나 구성을 위해 사용되는 태그로 내용을 강조하거나 문단을 구분, 제목을 지정할 때 사용

 

=> 글의 내용이나 종류를 나타내는 태그들

  • heading(주제) 태그: h1, h2, h3
  • paragraph(문단) 태그: p
  • break(줄바꿈) 태그: br
  • italic(기울임) 태그: i
  • strong(강조), bold(굵게 하는 강조) 태그: strong, b

 

  • horizontal rule 태그: hr

 

 

heading 태그(크기와 굵기가 달라짐)

제목을 구성할 때 사용되는 태그로 제목의 단계에 따라 h1(대주제)부터 h6(소주제)태그로 나눠진다.

<h1>내용</h1>

 

paragraph 태그

하나의 문단을 지정할 때 사용되는 태그로 하나의 문단으로 묶여서 화면에 보여진다. (우리가 문서 안에서 작성할 때 엔터키를 이용하여 줄바꿈을 하더라도 무시를 함-> 명시적으로 줄바꿈을 하거나 문단으로 그루핑)

<p>내용</p>

 

Break 태그

HTML에서는 코드 상에서 줄바꿈을 해도 웹 페이지 상에서는 줄바꿈이 되지 않는다. 줄바꿈을 하려면 break 태그를 사용해서 줄바꿈을 지정해야 한다. br 태그는 닫는 태그 없이 사용 가능한데 이런 태그들을 홀태그라고 한다.

<br> 또는 <br/>

 

Italic 태그

특정 글자들에 기울임체(이탤릭체)를 적용하고 싶을 때 사용한다.

<i>글자</i>

 

Strong, bold 태그(굵게 표현됨)

특정 글자들을 강조하고 싶을 때 사용한다.

<b>글자</b>

<strong>글자</strong>

 

Horizontal rule 태그(내용을 구분할 때 사용 가능)

문서 내에 가로 선을 넣고 싶을 때 사용한다. 홀태그 형태로 하나의 태그만을 사용한다.

<hr>


[1-3] 리스트 태그 알아보기

리스트를 나열하는 태그들

어떠한 항목들을 구분해서 나열하고 싶을 때 사용하는 태그들이다. 여러 개의 li태그를 ol또는 ul 태그로 묶어서 사용한다.

  • Ordered list 태그: ol
  • Unordered list 태그: ul
  • List item 태그: li

 

Ordered list 태그

순서가 있는 항목들을 나열할 때 사용

<ol> -> 순서가 있는 리스트인지 먼저 명시

<li>사과</li>             ->      1. 사과

<li>메론</li>                      2. 메론

</ol>

 

Unordered list 태그

순서가 정해지지 않은 항목들을 나열할 때 사용

<ul>

<li>사과</li>

<li>메론</li>

</ul>

 

  • 사과
  • 메론

분리 기호를 바꿀 수도 css에서 없앨 수도 있음

 


[1-4] 실습: 자기소개 페이지 만들기(Sublime Text 툴 사용)

실습은 간단하다. 예전에 학교 다닐 때 해봐서 쉽게 했다. 복습한다 생각하고 얼른 끝내버려야겠다.

<html>
	<head>
	</head>
	<body>
		<h1>자기소개서</h1>
		<hr/>
		<h3>좋아하는 음식</h3>
		<ul>
			<li>초밥</li>
			<li>갈비</li>
			<li>라면</li>
		</ul>
		<h3>가고싶은 여행지 순위</h3>
		<ol>
			<li>일본</li>
			<li>유럽</li>
			<li>대만</li>
		</ol>
		<h3>나를 소개한다면?</h3>
		<p>저는 <i>사람</i>입니다. 저는 <strong>낭만</strong>있습니다. <br/>저는 사람입니다. 저는 낭만있습니다.저는 사람입니다. 저는 낭만있습니다.</p>
		<p>저는 10살 때 처음으로 피아노를 배웠습니다. 저는 10살 때 처음으로 피아노를 배웠습니다.저는 10살 때 처음으로 피아노를 배웠습니다.저는 10살 때 처음으로 피아노를 배웠습니다.</p>
	</body>
</html>

html 파일 작성

 

 

웹에 출력된 모습


[1-5] 블록/인라인 요소 알아보기

HTML 요소의 두 형태

화면 영역을 차지하는 형태에 따라 Block과 Inline 형태로 나뉨

  • Block: 태그의 내용과 관계 없이 상위 요소의 너비에 맞게 너비를 차지함. 레이아웃 영역을 지정할 때 주로 사용됨
  • Inline: 태그의 내용에 맞춰서 너비가 결정됨. 레이아웃에 영향을 주지 않고 일부 내용에만 스타일이나 내용의 구분을 주고 싶을 때 사용

태그(Tag)와 요소(Element)

태그는 HTML의 문법적 규칙이자 코드를 의미, 요소는 실제 웹 페이지 화면에 그려지는 구성 요소들을 의미

보통은 하나의 HTML 태그가 웹 페이지의 요소에 일대일로 연결됨

 

<h1> 제목입니다.</h1> -> 제목입니다.

            (태그)                          ( 요소)

 

 

 

 

레이아웃을 정의할 때 그룹 단위로 생각을 많이 함

Block 요소

화면의 레이아웃, 얼개를 짜거나 구성을 나눌 때 자주 사용(그룹핑). 이 요소에 CSS 스타일을 적용해서(크기, 위치 등) 화면의 레이아웃을 완성함

  • div: block 요소의 대표적인 태그로 아무 의미를 담지 않는 블록 요소로 아래의 블록 요소들의 상위 개념

(이후 html5가 나오면서 시멘틱 웹이라는 개념 등장)

(어떤 의미가 있는지 유추할 수 있도록 시멘틱한 요소를 넣자해서 나온 태그들)

  • section: 서로 다른 내용 구성이 들어갈 영역을 구분하는 블록 요소
  • article: 동일한 내용 구성이 반복될 때 구분하기 위한 블록 요소
  • header: 본문 내용의 머리말의 영역을 구성하기 위한 블록 요소
  • footer: 본문 내용의 바닥글의 영역을 구성하기 위한 블록 요소

 

Section: 같은 종류의 데이터를 다루고 있지는 않은데 본문에서의 각 레벨이나 중요도가 다 똑같음

Article: 다루는 데이터는 동일한데 병렬적으로 리스트처럼 보여질 때 사용

 

Inline 요소

화면의 레이아웃에 영향을 미치지 않고 특정 내용을 강조하거나 구분하고 싶을 때 사용. b, i등의 요소가 이에 속하고 대표적인 태그로 span이 있음

  • span: (div와 반대되는 개념)아무 의미도 내포하지 않은 대표적인 inline요소. CSS 스타일과 함께 특정 내용을 강조하거나 구분하고 싶을 때 사용.

 

왜 의미가 부여된 태그를 써야하나?-> Accessibility(접근성, 그거에 맞게 스크린 리더가 읽어주도록...) 그리고 더 나아가서는 검색 엔진 최적화를 위해

 

블록/인라인 요소의 사용

  • section, header 등의 레이아웃 구성을 위한 태그들은 전부 div로 대체해서 사용은 가능하지만 스크린리더 등의 Accessibility를 고려해서 가능하면 의미를 내포하고 있는 태그를 사용할 것을 권장함
  • CSS의 스타일 중 display속성을 이용하면 div 등의 기존 block 요소를 위한 태그도 inline 요소로 바꿔서 보여지게 할 수 있고 span 등의 inline 요소도 block 요소로 표현하는 것도 가능함. 하지만 가능하면 기본 형태에 맞게 사용하는 걸 권장함.

[1-6] 하이퍼미디어 태그 알아보기

하이퍼미디어

웹 페이지 내의 미디어를 통해 다른 연관 정보로 넘어갈 수 있게 하는 연결고리. 즉, 링크를 의미

 

a(anchor) 태그

특정 내용에 링크를 생성할 때 사용한다. href(hyper reference) 속성으로 이동할 리소스를 지정한다. 이동할 리소스는 URL과 같은 웹 페이지 주소나 미디어의 주소가 된다.

 

(여는 태그에 속성 추가(사용자한테 보여지지 않는 부분에))

<a href = "이동할 url"> 페이지 이동</a> -> 페이지이동

 

img(image) 태그

이미지를 삽입할 때 사용한다. src(source) 속성으로 이미지의 주소를 지정하면 해당 이미지가 표시된다. 홀태그 형식으로 사용된다.<img src = "표시될 이미지 주소"/> -> 이미지

 

(만약 이미지를 링크로 만들고 싶다면)

<a href = "주소"><img src = "이미지 주소"/></a>

 

embed 태그

외부 콘텐츠(mp3, wav 같은 음성파일, mov같은 영상파일, swf 플래시파일)를 삽입할 때 사용된다. 보통 유튜브, 플래시와 같은 외부 미디어 객체를 웹 사이트에 포함시키고 싶을 때 사용한다.

<embed src = "객체의 주소"/>

 

 


[1-7] 표 관련 태그 알아보기

표 작성하기

표를 그리기 위해서는 여러 태그를 조합해서 코드를 작성해야 한다.

  • table: 표의 시작과 끝
  • tr: 표의 하나의 행(row, 테이블 하나에 tr이 4개면 4줄짜리 표)
  • th, td: 표의 열

만약 4X3 표가 있을 때,

tr: 4

td: 3x4 =12(tr 태그로 감싸져서 td가 각각 들어가야 하기 때문에)

 

 

표 태그의 전체 구조

(2열에 3번 반복되는 표라면)

<table>

   <tr>

     <td></td>

     <td></td>

   </tr>

   <tr>

     <td></td>

     <td></td>

   </tr>

   <tr>

     <td></td>

     <td></td>

   </tr>

</table>

 

 

th(table heading)로도 열을 지정하는데 제목칸임

td 대신 th로 바꿔주기만 하면 그 칸은 제목처럼 표시(선이 굵어지고 그 안에 글자를 쓰면 그 글이 자동으로 볼드(굵어짐)가 먹음)

 

-> 그냥 td하고 css를 사용해도 되기는 한데 th로 지정하게 되면 스크린 리더 같은 애들이 표의 제목이라는 것을 빨리 파악함

 

 

 

 

 

 

(rowspan과 colspan은 td, th에서만 쓸 수 있음)

행 합치기

rowspan: 합칠 행의 수(쓴 만큼 td를 덜 써야함)

<table>

<tr>

<td rowspan="2"></td>

<td></td>

<td></td>

</tr>

<tr>

//이미 위에서 합쳐졌기 때문에 여기는 작성할 필요가 없음

<td></td>

<td></td>

</tr>

</table>

 

 

열 합치기

colspan: 합칠 열의 수

<table>

<tr>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td colspan="2"></td>

</tr>

</table>

 


 

728x90

'' 카테고리의 다른 글

[강의] 학습중...  (0) 2024.04.24
[React] 정리  (0) 2024.04.18
[인프런] 웹 개발 시작해봐요  (0) 2024.03.18