study
[Html&CSS] HTML 기초

html

 

hypertext : 하이퍼링크를 통해 어떤문서에서 다른문서로 접근할 수 있는 텍스트
markup : (콘텐츠를)표시하다 
ex) 여기부터 여기까지는 이미지, 여기부터 여기까지는 텍스트라는 것을 표시해주는의미
launguage : 언어(사람과 웹브라우저 사이를 표시해주는 언어)
하이퍼텍스트와 콘텐츠를 표시해주는 언어 (HTML)

웹브라우저를 통해 표시되는 웹페이지의 콘텐츠를 정의하기 위해 사용하는 언어

→ 곧 html코드로 웹페이지에 어떤 내용이 표시될지를 정의하는 html문서
html코드가 웹브라우저를 통해 해석되고 표현되는 과정을 '렌더링'이라고 함

개발자 도구란?
웹사이트 개발용 도구. html&css코드 확인, 모바일 모니터링, 네트워크 상태 점검,
스크립트 명령어 확인 등 다양한 기능을 통해 개발자에게 편의 제공
(최신 브라우저에 대부분 탑재되어 있음)


🖥️ html 코드 기초 문법

 

태그(tag) : html코드에서 정보(콘텐츠)를 정의하는 형식
<>와 </>기호를 사용해 콘텐츠의 시작과 끝을 표시
(경우에 따라 시작과 끝을 구분할 필요가 없는 단일 태그 사용)
속성 : 태그의 부가적인 기능을 정의

<font family(속성명)="dotum">내용</font>
주석 : 코드에 대한 메모를 남기기 위한 용도

<!DOCTYPE html> : 문서의 첫 부분에서 문서 유형을 지정하는 단일 태그
문서유형 : 웹브라우저에게 '이 문서는 ~니까 잘 처리해줘'라는 의미
현재 표준으로 사용되는 html 버전을 사용하기 위해 적어줌

<html></html> : 문서유형을 지정한 후 실제 문서가 시작되고 끝나는 것을 나타내는 태그
이 태그 내부에 다양한 태그들이 포함되어 문서의 내용을 구성

<head></head> : 브라우저 화면에는 보이지 않지만 브라우저가 알아야 할 정보는 모두 포함됨
1. <meta charset="utf-8">
문자 인코딩 및 문서 키워드 등에 대한 요약 정보를 기입하는 단일 태그
한글을 표시하기 위해 문자 세트를 지정하는 작업
(영문/한글을 모두 사용하기 위해 utf-8 방식을 사용

2. <title></title> : 문서의 제목

3. <body></body>
실제 브라우저 화면에 표시될 내용을 입력
ex) 텍스트, 이미지, 각종 사용자 인터페이스(버튼, 입력란, 드롭다운 메뉴 등)

들여쓰기? - 태그간의 포함 관계를 나타냄 (가독성에 도움)


<p></p>태그 : 문단 요소를 나타내는 태그. 문단과 문단 사이에는 공백이 있음
<h1>~<h6>태그 : 제목 요소를 나타내는 태그이며 숫자 1일 때 가장 크고, 6일 때 가장 작음.
<hr> : 수평선 태그(단일태그)

* 일반적으로 html 코드에서는 엔터를 무시하고, 스페이스바도 1번밖에 인정되지 않음.

블록(block) 태그 요소 : 자기가 속한 영역의 너비를 모두 차지하여 블록을 형성
<h></h> <p></p> 태그 등
-개발자도구에서 브라우저를 전체적으로 차지한다면 블록 태그 요소

인라인(inline) 태그 요소 : 자기에게 필요한 공간만큼만 차지
<strong><em><mark> 태그 등

<img 'src'>속성은 이미지의 url을 입력받는 속성
alt 속성은 대체 텍스트를 입력 (이미지 유실 상황에 대응할 수 있음)


컨테이너 태그

 

콘텐츠 내용을 구분하거나 공통스타일을 적용하고자할때 사용
컨텐츠나 레이아웃에 아무런 영항도 주지 않고, 레이아웃의 요소를 묶어 관리하기 편하게 만드는 역할을 하는 태그
<div></div> : 블록요소
<span></span> : 인라인 요소
css나 javascript 사용 시 관리를 더 편하게 하기 위함


전역속성(Global Attributes)

 

모든 html태그에서 공통으로 사용할 수 있는 속성
속성 : 태그의부가적인 기능을 정의하는 것(선택사항), 시작 태그 내부에 정의하며 숫자에 제한이 없음

id : 요소에 고유한 이름을 부여하는 식별자 역할 속성 (태그당 하나씩만 지정)
class : 요소를 그룹별로 묶을 수 있는 식별자 역할 속성 (다중 지적 및 중복이 가능)
id, class 값 모두 사용자 지정
식별자 : 한사람 한사람에게 주민번호나 이름을 정해주는 것과 같음
style : 요소에 적용할 css 스타일을 선언하는 속성
title : 요소의 추가 정보를 제공하는 텍스트 속성 (사용자에게 툴팁(요소에 마우스커서를 올렸을때 나타나는 작은 말풍선 등) 제공)
ex) <img src="images/img.png" title="타이틀">

<a>태그의 href에는 웹문서의 주소 뿐 아니라 전화번호, 메일주소등을 지정할 수 있음
ex) <a href="tel:010-1234-5678"></a>
ex) <a re="mailto:mail@naver.com"></a>


목록

 

html에서 목록은 순서가 없는(Unordered list)/있는(Ordered list) 목록으로 구분됨
순서 없는 목록 : <ul></ul>
순서 있는 목록 : <ol></ol>
<li>태그는 목록에 들어가는 항목 하나하나를 표현할 때 사용하는 태그
해당 태그는 모두 블록 레벨 요소


입력요소

 

input : 사용자로부터 값을 입력받을 수 있는 대화영 컨트롤(또는 필트)
1. 기본적으로 인라인 요소이며, 단일 태그임
2. type 값에 따라 입력 요소 형태나 데이터 유형이 달라짐
사용 가능한 모든 속성 정보 : https://developer.mozilla.org/ko/docs/Web/HTML/Element/Input
3. name 식별자 추가할 수 있음 
<input type="text" name="nickname">
<input type="text" name="job">

4. 필드값에 한줄밖에 쓸 수 없음

 

See the Pen Untitled by cheonseonhae (@youtopia-code) on CodePen.

 

select : 다수의 옵션을 포함할 수 있는 선택 메뉴
메뉴 안에 포함되는 옵션은 option태그를 사용
input과 마찬가지로 name을 지정할 수 있으며 각각의 option에는 value 속성을 지정할 수 있음
value는 실제로 처리될 값을 나타냄

<select name="cafe">
<option value="starbucks">스타벅스</option>
</select>
/*cafe의 입력 값은 starbucks다 라는 결론*/


textarea는 여러 줄의 일반 텍스트를 입력할 수 있는 입력 요소(역시 name추가하여 구별)
1. select와 textarea모두 인라인 요소
2. select는 multiple이라는 속성을 추가할 수 있음
- mutiple을 넣을 경우 사용자는 ctrl을 누르면 여러개 선택할 수 있음

3. option에는 selected를 추가할 수 있음
- 추가하면 기본적으로 적용된 옵션이 selected되어잇음

(두개 모두 값을 따로 요구하지 않으며 써있으면 적용, 안써있으면 적용X)

 

See the Pen html_기초_02 by cheonseonhae (@youtopia-code) on CodePen.

 

 

 

 

폼(form) : 사용자가 입력한 데이터(입력값)를 서버로 보내기 위해 사용하는 태그
입력요소(input, select, textarea)를 감싸며, 입력 값을 서버로 제출(submit)할 수 있음.

서버란? : 정보(데이터)를 제공하는 호스트(host)
클라이언트(사용자)가 요청을 하면 서버는 그에 대한 응답으로 정보를 제공한다.

form의 내용(입력값)을 제출하기 위해 input태그의 submit타입 사용 가능

 

'로그인'버튼을 누르면 입력된 아이디/비밀번호가 서버로 전송(요청)
 서버측에서 데이터 처리 결과를 클라이언트에게 전달(응답)
ex)

클라이언트 - 아이디/비밀번호 입력했어요. 로그인 시켜주세요.
서버 - 네 알겠습니다. or 비밀번호가 틀립니다.
 클라이언트가 어떠한 요청을 보내는 가에 따라 응답은 달라질 수 있음.
로그인양식은 3개의 입력 요소로 구성됨
(아이디 입력창 / 비밀번호 입력창 / 버튼)

 

action : 입력값을 전송할 서버의 url
method : 클라이언트가 입력한 데이터를 어떤식으로 전송할 지 (get / post)

<form action="example.php" method="post"></form>

example.php라는 서버 프로그램으로 입력값을 post 방식으로 전송하여 요청

 

get 방식 : 서버에 요청을 보내어 응답을 받아냄
서버로부터 정보를 '가져오겠다'라는 성격의 요청
ex) 서버에서 이미지 파일 받아오기


post 방식 : 서버에 요청을 보내어 작업을 수행
서버에 있는 데이터를 추가/수정/삭제한 후 응답을 받아냄
서버의 정보를 '조작하겠다'라는 성격의 요청


메타데이터

 

메타데이터란? : 데이터에 대한 데이터 = 정보 (html문서에 대한 메타데이터를 정의)
head 태그 안에 들어가며, 일반적으로 문자 세트, 페이지 설명, 키워드, 문서의 작성자 및
뷰포트 설정을 지정하는데 사용

사용하는 이유?

웹페이지에 대한 정보를 제공하므로 검색엔진이 페이지 검색 시 참고할 수 있고, 검색 결과에도 반영

메타데이터의 유형&속성
- charset : 문자세트
- http-equiv : 콘텐츠 속성/정보에 대한 http 헤더 제공
- name : 문서정보
- content : 메타데이터 내용

charset : <meta charset="utf-8">
문자 인코딩에 대한 요약 정보를 기입하는 속성
인코딩을 명확하게 기입하지 않으면 웹 브라우저 설정 상황에 따라

자동으로 인코딩을 추정하여 처리하나 문자가 깨질 가능성이 생김

http : 인터넷에서 데이터를 주고받을 수 있는 프로토콜

<!-- IE 브라우저의 최신 버전의 엔진(엣지)을 사용. 호환성 관련 설정시 사용-->
<meta http-equiv="x-ua-compatible" content="IE=edge">
<!--10초마다 페이지 새로고침-->
<meta http-equiv="refresh" content="10">


name : 문서의 다양한 정보를 제공할 수 있는 메타데이터의 이름
content : 메타데이터의 구체적인 내용을 기입하는 속성

<!--문서 제작자-->
<meta name="author" content="제작자이름">
<!--페이지에 대한 요약. 브라우저 즐겨찾기 페이지의 기본 설명 값-->
<meta name="descriptsion" content="페이지에 대한 짧은 요약">
<!--페이지의 콘텐츠와 관련된 쉼표로 구분한 키워드 목록-->
<meta name="keywords" content="키워드1, 키워드2">

뷰포트(viewport)

 

뷰포트 : 현재 화면에 보여지고 있는 영역
기기별로 뷰포트가 다르기 때문에, 동일한 웹페이지여도

기기에 따른 배율 조정 발생하여 화면의 크기가 다르게 보이는 현상이 발생함
 모바일 기기에서는 고정된 사이즈(스크린 크기)로 조회해야 하므로
웹의 모든 콘텐츠를 표시하기 위해 배율조정을 해야만 함

meta태그를 통해 뷰포트 관련 설정을 추가할 수 있음

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--뷰포트의 너비를 단말기 너비에 맞추고, 초기 배율을 1로 해서 확대&축소가 일어나지 않게 함-->





'study' 카테고리의 다른 글

온라인 마케팅 종류 5가지  (0) 2022.04.12
[Html&CSS] CSS 기초  (0) 2022.02.26
yunicorn