HTML, CSS의 전반적인 개념
→ HTML : 웹페이지의 구조를 담당하는 마크업 언어 [구조]
→ CSS : 디자인 요소를 시각화 하는 스타일 시트 언어 [스타일]
*** Javascript : 단순한 웹페이지를 프로그래밍하여 유저와 상호작용 할 수 있게 해주는 프로그래밍 언어 [상호작용]
-----------------------------------------------------------------------------------------------------------------
→ ex) 강아지 집 건설
1) 강아지집 구조 설계 -> HTML 2) 강아지집 벽면 색상,재질 -> CSS 3) 낮이면 꺼지고 밤이면 켜지는 전구 알고리즘 설정 -> Javascript
1)HTML로 작성(구조)
<html>
<body>
<h1> title </h1> → 제목
<div> logo </div> → 로고
<div> → 집 영역
<h2> house </h2>
<div class=roof></div> → 지붕
<div class=wall></div> → 벽
<div class=door></div> → 문
<div class=light></div> → 전구
</div>
</body>
</html>
2) CSS로 작성(스타일)
.wall {
background-image = url(twinkle.gif);
}
3) Javascript로 작성 (상호작용,프로그램 작성)
if(isNight === true) {
light.isOn();
}
else {
light.isOff();
}
-----------------------------------------------------------------------------------------------------------------
→ 실제 웹페이지 구현
1) 기획자가 HTML을 통해 웹페이지 구조를 작성(와이어프레임을 이용)
2) 디자이너가 CSS를 이용하여 웹 페이지 스타일 작성
3) 개발자가 Javascript를 이용하여 프로그램을 작성하여 기능 구현
- HTML
→ HTML은 HyperText Markup Language의 약자로 웹 페이지를 구성하는 마크업 언어입니다.
→ HTML은 웹 페이지를 구성하는 뼈대가 되는 언어
→ HTML을 CSS를 적용하고, JavaScript로 개발할 수 있게(Programmable) 작성할 수 있다.
- HTML의 구조와 문법에 대해서 이해하고 적용할 수 있다.
- Opening tag, closing tag, self-closing tag에 대해서 이해하고 있다.
- 자주 사용되는 HTML 요소(Element)가 무엇인지 알고 차이를 설명할 수 있다.
- 동적인 웹 어플리케이션 개발을 위한 HTML 구조를 짤 수 있다.
- 간단한 웹 페이지 기획안을 HTML 문서로 표현할 수 있다.
- HTML5 semantic tag를 적재적소에 사용하여 사람과 컴퓨터가 읽기 쉬운 시멘틱한 HTML 문서를 작성할 수 있다
→ HTML : 문서의 구조, 내용을 다루고 있는 마크업 언어 / 웹페이지의 틀을 만드는 언어
→ HTML은 tag들의 집합
→ Tag : 부등호(<>)로 묶인 HTML의 기본 구성 요소 / tag가 열리고 닫임 < , />
/ 열리고 닫히는 순서가 있다.(가장 내부 요소의 태그부터 닫힘)
→ tag는 tree structure의 특성을 가진다. / 상위 요소가 있고 하위요소가 있어서 서로 부모,자식의 관계로 형성된다.
ex) HTML 문서시작
html
head(title의 부모)
title(head의 자식)
body(h1, div의 부모)
h1(body의 자식)
div(body의 자식)
→ 대표적인 태그
- <!DOCTYPE html> : html문서 최상단에 작성, 이 문서가 html 문서임을 명시
- <html> : html 시작 태그로 문서 전체의 틀의 구성
- <head> : head태그는 문서의 메타데이터(데이터를 설명하는 데이터)를 선언
- <title> : 문서의 제목, 브라우저 탭에 보여짐
- <body> : body태그는 문서의 내용을 담는 곳
- <h1> : heading을 의미하며 크기에 따라 h1~6까지 존재
- <div> : content division을 의미하며, 줄바꿈됨
- <span> : 줄바꿈없는 content 컨테이너
→ self colosing tag : 태그 내부에 내용이 없다면 <tag /> 형태로 표현이 가능
/ ex) <img src = “test-picture.jpg” />
→ 태그에는 속성에 따라 태그에 값을 적용할 수 있다.
→ 빠르게 작성하기 : ‘html:5’ 작성 후 enter
→ 자주사용하는 태그
- <div> vs <span>
-> div 태그는 1줄을 차지합니다 / span태그는 컨텐츠 크기만큼 공간을 차지합니다.
- <img> : 이미지를 삽입하는 태그
-> 닫는 태그가 없음 / src속성을 이용하여 삽입할 이미지의 경로 지정
- <a> : 링크 삽입
-> href 속성을 이용하여 링크할 사이트 주소를 작성한다.
-> target 속성의 “_blank” 속성값을 이용하여 새탭에서 링크사이트가 나타나도록 설정 가능
- <ul>,<li> : 리스트 태그
-> ul태그는 기호를 이용하여 리스트를 표시하며 ol태그는 숫자를 이용하여 리스트 표시
- <input> : 값을 입력하거나 출력하는 태그
-> type속성을 이용하여 input에 어떠한 것을 입력하고 출력할지 결정한다.
-> type속성값 : text , radio(그룹설정 가능) , checkbox, password등
-> radio input태그에서 name속성의 속성값을 같게 입력하면 서로 그룹이 된다.
(중복 입력 불가)
- <textarea> : 여러줄이 입력 가능한 텍스트 상자
- <button> : 버튼 생성
→ attribute name : 속성 이름 / attribute value : 속성 값
----------------------------------------------------------------------------------------------------
-HTML은 웹 문서를 구조적으로 표현하기 위한 언어입니다.
- CSS는 구조적인 문서를 어떻게 시각적으로 표현하는지에 대한 언어입니다.
- JavaScript는 본래 브라우저에 웹 문서를 표현하기 위한 스크립팅 언어였으나, 이제는 node.js를 활용하여 서버 제작은 물론이고, PC를 위한 앱 / 프로그램을 만들 수 있는 범용적인 프로그래밍 언어가 되었습니다.
- 웹 문서 표준을 서술하는 언어는 없고, HTML Living Standard 에서 상세한 웹 표준을 제시하고 있습니다. 여러 표준 중 가장 바람직한 표준이라고 볼 수 있습니다. 다만, 개발을 위하여 모든 내용을 숙지할 필요는 없고 MDN이 가장 신뢰성 있는 공식 문서로 참고하기 좋습니다.
----------------------------------------------------------------------------------------------------
<script> 엘리먼트가 자바스크립트 실행을 위해 사용됩니다. 아래와 같은 방식으로 주로 실행됩니다.
<script src="my-java-script.js"></script>
----------------------------------------------------------------------------------------------------
HTML <p> 엘리먼트는 paragraph(문단)의 약자로, 하나의 문단을 표현하기 위하여 사용됩니다. HTML 문서 작성 시, 가능하면 이 엘리먼트의 본래 목적에 맞게 사용하는 것이 권장됩니다. / <p>도 줄바꿈이 된다.
HTML <section> 엘리먼트는 웹 페이지의 큰 의미 단위가 될 수 있는 어떤 것이든 묶어서 하나의 구역을 구분하는데 사용됩니다. 이 엘리먼트는 HTML5 표준의 탄생과 함께 생겨난 시맨틱 엘리먼트의 일부입니다. 엘리먼트의 이름에 의미를 충분히 담고 있기 때문입니다.
<div> 엘리먼트는 HTML5 이전에는 하나의 구역(division)을 나타내기 위해 사용할 수 있었지만, 지금은 어떤 큰 구역을 구분하기 위하여 사용되는 것은 지양되고 있습니다. 다만, 작은 구역에서 불가피하게 div를 사용해야 하는 "최악(as a last resort)"로는 사용해도 괜찮습니다.
----------------------------------------------------------------------------------------------------
HTML <ul> 엘리먼트는 unordered list(목록)의 약자로, 순서가 없는 데이터를 표현하는 경우에 적절합니다. 다음과 같이 사용될 수 있습니다.
<ul>
<li>커피 마시기</li>
<li>CSS 공부하기</li>
<li>스쿼트 100개</li>
</ul>