Orientation
- 10시 수업시간 엄수(지각 및 결석 시 감점)
- 2/7 STOP-OUT 과제 제출
- 2/9 결과 발표
- 2/19 재도전 과제 제출
HTML과 CSS
CSS
- 색깔입히고 모양을 만드는 것
- 나중에 시간나면 부트스트랩도 할 것(부트스트랩 먼저 하면 css가 하기 싫어짐)
HTML
HTML은?
-
마크업을 이용해 월드와이드웹(WWW)의 페이지를 서로 오갈 수 있는 웹 문서를 만드는 언어
- 마크업 언어 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어
-
하이퍼 텍스트 링크를 이용해 웹 페이지를 서로 연결하는 것을 의미
- http://html5test.com/ 웹 표준 지원 정도를 테스트하는 사이트
- http://caniues.com 플랫폼마다 문법을 몇개 쓸 수 있는지 확인?
<!--01.first.html-->
<!DOCTYPE html>
<html> <!--여는 태그-->
<head> <!--문서의 제목-->
<title>Document</title>
</head>
<body> <!--본문 내용-->
</body>
</html> <!--닫는 태그-->
태그의 요소와 속성
- HTML 태그의 구성
- 담을 내용이 없다면 닫히는 태그를 쓰지 않아도 됨
<요소 속성 = "값"> 또는
<요소 속성 = "값">내용</요소>
- 예제
<a href=“http://naver.com”>네이버 홈으로 가기</a>
<img src=“https://www.google.co.kr/images/branding/googlelogo/1x/
googlelogo_color_272x92dp.png”>
- href는 Hyper Reference(참조), src는 Source(출처, 소스)의 줄임말
절대경로와 상대경로
절대경로
- http://로 시작하는 전체 주소
<img src=“https://www.google.co.kr/images/branding/googlelogo/1x/
googlelogo_color_272x92dp.png”>
상대경로
- 해당 HTML파일 기준으로 한 경로
<img src=“./images/sample.png”>
head 태그
- 문서의 메타데이터(데이터의 데이터) 집합
- 인코딩 방식, 렌더링방식, css파일 연결, JavaScript파일 연결, 문서의 제목 등
<head>
<meta charset="UTF-8"> //웹페이지의 인코딩 방식을 정의
<meta http-equiv="X-UA-Compatible" content="ie=edge"> //IE에서의 렌더링 방식을 최선으로 설정
<link rel="stylesheet" href="style.css"> //CSS파일을 연결
<script src="script.js" charset="utf-8"></script> //JavaScript파일 연결
<title>Document</title> //문서의 제목
</head>
body 태그
- 브라우저에 표시될 내용. 즉, 사용자에게 보여짐
Atom 편집기
- Emmet 설치
Emmet
- HTML/CSS 코딩 생산성을 향상시켜주는 도구
- html:5를 입력 한 후 TAP을 누르면 아래 템플렛이 바로 입력된다
<!--02.body.html-->
<!--html:5 + tap을 누르면 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
</html>
개발자 도구
- 브라우저에서 HTML/CSS요소를 디버깅하기
- Cmd + Alt + I
요소(Elements)
- 마우스로 요소 선택하기 cmd+shift+c
- 현재 렌더링 된 HTML요소들을 보여줌
- 선택한 요소에 대한 CSS값을 보여줌
콘솔(Console)
- 실시간으로 내부의 자바스크립트를 테스트하거나, 로그를 출력해줌
블록과 인라인
블록
- 줄 바꿈이 일어나는 형태
- 기본적으로 width가 전체 너비의 값을 가짐
- 블록 요소 색깔 바꾸기
<!--03.block-elements.html-->
<!DOCTYPE html>
<head>
<title>Document</title>
<style>
h1 {
background-color: #f00;
}
p {
background-color: #0f0;
}
div {
background-color: #00f;
}
</style>
</head>
<body>
<h1>블록 요소</h1>
<p>p요소는 블록 형태</p>
<div>div요소도 블록 형태</div>
</body>
</html>
인라인
- 줄 바꿈이 일어나지 않는 형태
- 기본적으로 자신의 내용만큼의 가로너비를 가진다.
- 블록 요소는 인라인 요소를 포함할 수 있지만, 인라인 요소는 블록 요소를 포함할 수 없다.
- 인라인 요소 색깔 바꾸기
<!--04.inline-elements.html-->
<!DOCTYPE html>
<head>
<title>Document</title>
<style>
strong {
background-color: #f00;
}
a {
background-color: #0f0;
}
span {
background-color: #00f;
}
</style>
</head>
<body>
<strong>strong 요소</strong>
<a href="">a요소</a>
<span>span요소</span>
</body>
</html>
레이아웃 요소
div, span
- div와 span은 오직 block과 inline방식의 레이앗을 구현하는데에 사용한다
<div>
<p>블럭요소 내부에 <span>인라인 요소를 사용합니다</span></p>
</div>
Heading(주제, 제목)
- 웹페이지의 개요를 나타냄 (h1 ~ h6)
- 중요도 순으로 개요를 나타낼 때 사용
줄 바꾸기
- p 태그(paragraph) : 각 p태그 아래에 공백이 생김
- br 태그(linebreak) : 줄바꿈 간에 여백이 없음
<p>Lorem ipsum dolor sit amet, consectetur
adipisicing elit. Repudiandae sequi ratione
tenetur reiciendis cum in totam atque ipsum
similique quae.</p>
<p>Lorem ipsum dolor sit amet.</p>
Lorem ipsum dolor sit amet.<br>
Lorem ipsum dolor sit amet, consectetur
adipisicing elit. Tenetur, ab.<br>
그 외
- hr 태그
- blockquote 태그
- pre 태그(Preformatted text, 이미 형식화 된 텍스트)
<!--07.others.html-->
<!DOCTYPE html>
<head>
<title>Document</title>
</head>
<body>
<h2>Horizontal Rule</h2>
<hr>
<h2>blockquote</h2>
<blockquote>인용문입니다.</blockquote>
<h2>Preformatted Text</h2>
<pre>
class Post(models.Model):
title = models.CharField(max_length=80)
content = models.TextField()
def __str__(self):
return self.title
</pre>
<p2>Nomral paragraph</p2>
<p>
class Post(models.Model):
title = models.CharField(max_length=80)
content = models.TextField()
def __str__(self):
return self.title
</p>
</body>
</html>
줄바꿈 없는 텍스트 태그
- strong, b태그(강조, 굵게 표시)
- em, i태그(문맥상 특정부분 강조, 이탤릭 표시)
- mark태그(형광펜 효과)
- strong과 bold, em과 i의 차이는 웹 접근성 차이. 예를 들어 시각장애인의 리더기는 strong을 강조하는 부분을 인식하고 읽는다.
<!DOCTYPE html>
<head>
<title>Document</title>
</head>
<body>
<h2>Strong, Bold</h2>
<p><b>단순히 텍스트를 굵게 표시</b></p>
<p>매우 강조되어야 할 <strong>부분</strong>에 strong사용</p>
<h2>Emphasis, Italic</h2>
<p><i>단순히 텍스트를 기울여 표시할 때</i></p>
<p>강조되어야 할 <em>부분</em>에 em사용</p>
<h2>Mark</h2>
<p>형광펜으로 <mark>칠한</mark>효과에 mark사용</p>
</body>
</html>
HTML의 Image, Hyperlink Tags
링크(Anchor)
- a
<a href="http://www.naver.com" target="_blank" title=“네이버 열기”>새 창으로 네이버 열기</a>
- href : 이동할 페이지 주소
- targe : 링크 걸린 페이지를 여는 방법(_self, _blank)
- title : 마우스를 올렸을 때 보여줄 제목
이미지
- img
<img src=“이미지 경로" width="100" height=“200" alt=“이미지 설명">
- src : 이미지의 경로
- width, height : 이미지의 가로/세로 크기(px단위)
- alt : 대체 택스트(arternative text)
HTML의 Data Tags
목록
- <ol></ol> : ordered list
- <ul></ul> : unordered list
- 목록 속성
값 | 설명 |
---|---|
1 | 숫자(기본값 |
a | 영문 소문자 |
A | 영문 대문자 |
i | 로마숫자 소문자 |
I | 로마숫자 대문자 |
- 여러개 목록 한번에 입력하기
ol>li{항목}*5 + tap
ul>li{항목$}*5 + tap
ol[type=i start=6 reversed] > li{항목$}*5 + tap
- 실습해보기
<!DOCTYPE html>
<head>
<title>Document</title>
</head>
<body>
<h2>Ordered List</h2>
<!--ol>li{항목}*5-->
<ol>
<li>항목</li>
<li>항목</li>
<li>항목</li>
<li>항목</li>
<li>항목</li>
</ol>
<h2>Unordered List</h2>
<!--ul>li{항목$}*5-->
<ul>
<li>항목1</li>
<li>항목2</li>
<li>항목3</li>
<li>항목4</li>
<li>항목5</li>
</ul>
<h2>List attributes</h2>
<ol type="i" start="6" reversed>
<li>항목</li>
<li>항목</li>
<li>항목</li>
<li>항목</li>
<li>항목</li>
</ol>
</body>
</html>
정의 목록
- 목록과 정의 목록은 서로 중첩
<dl>
<dt>HTML</dt>
<dd>Hyper Text Markup Language</dd>
<dd>웹 페이지를 구현하는 마크업 언어이다</dd>
<dt>CSS</dt>
<dd>Cascading Style Sheet</dd>
<dd>HTML의 형태를 지정하는 언어이다</dd>
</dl>
숙제
- Emmet.io Abbreviations Syntax 공부하기
Comments