달력

82025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

1강 HTML5의 개요 및 개발환경 구축

 

1. 웹이란?

-Web(웹)이란, 사전적인 의미로 거미줄이란 뜻으로 IT에서는 WWW(world wide web) 말의 줄임말로써 사용된다. 세계의 컴퓨터들을 연결하여 정보 공유를 하는데 주 목적이 있다. 이렇게 연결되어 있는 상태를 네트워크에 연결되어 있다고 한다.

 

2. HTML5란?(HTML5의 개발 배경)

- 수많은 플러그인들로 인한 부작용을 막기 위해 개발되었다.

HTML5 개발 단계

- 익스플로러 독점

- 익스플로러에 맞는 많은 플러그인 양산

- 거대해져가는 브라우저 및 보안 취약점 발생

- MS를 제외한 회사들이 HTML표준안을 W3C에 제시

- HTML 표준안 무시

- 무시당한 회사들이 Web Application 1.0 개발

- W3C는 XHTML2.0 개발

- XHTML2.0의 쇠퇴

- W3C에서 Web Application 1.0을 웹표준안으로 수용

- Web Application 1.0을 HTML5로 개명

- 2014년 HTML5 정식 배포

 

3. 웹 표준이란?

- 모든 브라우저에서 웹서비스가 정상적으로 보여질 수 있도록 하는 것

- W3C에서 HTML5를 웹 표준으로 권고하고 이를 따름

- W3C[World Wide Web Consortium] - http://www.w3.org 월드와이드웹(WWW)의 창시자인 팀 버너스 리를 중심으로 창립된 월드와이드웹 컨소시엄

 

4. HTML5과 XHTML의 차이

- HTML5는 내용과 디자인을 분리하여 유지보수에 장점이 있다.

- XHTML은 내용과 디자인이 한 페이지에 있고

- HTML5는 분리되어 있다.

 

5. HTML5의 특징

- HTML5는 지금도 개발 중에 있고, 다양한 기능이 추가되었다.

- 멀티미디어를 직접 재생할 수 있다.

- 서버와 통신할 수 있다.

- 시멘틱 태그가 추가되어, 검색엔진의 검색능력을 극대화할 수 있다.

 

6. CSS3란?

- 웹 문서를 꾸며주는 언어이다.

- Cascading Style Sheets의 약자

- 웹 문서의 레이아웃을 설정한다.

- 하나의 웹 문서를 다양한 디바이스에 최적화해서 출력한다.

 

7. HTML5와 CSS3

- HTML5와 CSS3는 실과 바늘처럼 거의 항상 같이 한다.

- 내용 : HTML

- 디자인 : CSS

 

8. 개발 도구 익히기

- HTML5와 CSS3을 편집(코딩) 하기 위한 도구를 알아본다.

Notepad++

- 무료 버전으로 검색사이트에서 쉽게 다운받을 수 있다.

Visual Studio 2013 Express for Web

- 무료 버전으로 MS사이트에서 쉽게 다운받을 수 있다.

(Visual Studio 2013 Express for Web 검색 > 다운로드 > 설치)

 

9. HTML문서 무작정 만들어 보기

- 처음으로 HTML문서(웹 문서)를 제작해 본다.

 

10. 무료 웹 호스팅 신청하기

- zpat.info 무료 웹 호스팅 계정을 신청한다.

- (지금은 없어서 새로 찾아봐야 할듯...)

 

11. FTP란?

- file transfer protocol의 약자로 파일을 전송하는 프로토콜이다.

- FTP 서버(서버용 프로그램)

- FTP 사용자(클라이언트용 프로그램)

 

12. FTP 설치 및 사용방법

- FTP프로그램을 이용해서 FTP서버에 파일을 업로드할 수 있다.

 

13. 서버(웹)에서 HTML문서 확인

- 서버에 파일을 업로드 하고, 브라우저에서 확인해 본다.

 

14. 구글 크롬 설치

- 구글 크롬 브라우저를 설치하고 웹 문서를 출력해 본다.

 

15. 개발자 도구

- HTML문서를 제작하는데 만은 도움을 주는 도구이다.

F12 또는 오른쪽 마우스 > 요소검사를 선택한다.

 

학습정리

- HTML5의 등장 이유 : XHTML의 쇠퇴에 따른 대안으로 HTML5를 W3C에서 채택했다

- CSS란? : 웹 문서의 디자인을 담당하는 언어이다.

- FTP란? : 실제 서버에 웹 문서를 업로드 해서 어디서나 브라우저를 통해서 출력이 가능하게 만들어 주는 프로토콜이다.

 

2강 HTML5 태그 1 (HTML5 기본 태그 및 아이디 속성을 이용한 페이지 제작)

 

1. 태그와 속성

- HTML 문서는 '태그'로 만들어진다.

- HTML 문서의 뼈대는 html, head, body 태그로 구성되어 있다.

- 주로 body 태그 안에 실제 웹 문서에 표현되는 수없이 많은 태그들이 존재한다.

- 태그는 시작 태그와 종료 태그로 짝을 이루는 태그도 있고, 시작 태그만 존재하는 태그도 있다.

- 시작 태그와 종료 태그는 '/'로 구분한다.

- 각각의 태그마다 속성이 존재하고 속성에는 속성값이 존재한다.

 

2. 주석

- 주석은 html문서가 브라우저를 통해서 출력될 때 노출되지 않는다. (프로그래밍 설명문)

- 주석을 사용하는 이유

- 지금 내가 작성한느 문서를 나 자신 또는 다른 사람이 먼 훗날 다시 보게 될 때 좀 더 쉽게 문서를 파악하기 위해서 작성하는 프로그래밍 설명문

- 처음에는 다소 귀찮은 작업일수도 있지만 추후 발생되는 디버깅 또는 유지보스를 생각한다면 주석은 아주 중요한 요소

- 처음 HTML을 학습하는 단계에서는 주석의 중요성을 못 느낄 것이다. 그 이유는 주석은 어느 정도 규모가 되는 프로젝트에서 많은 문서를 제작할 때 그 필요성을 느끼게 해주기 때문이다.

- 지금처럼 html을 학습하는 초기 단계에서는 간단한 예제 위주로 html 문서를 작성하므로, 주석이 없어도 한눈에 HTML 문서의 구조를 파악할 수 있다.

 

3. HTML 문서 구조

- HTML 문서는 DOCTYPE, html, head, meta, title, body로 구성

<head> : head 태그에는 주로 웹 문서의 정의가 기술됨

<meta> : 이 문서가 무엇으로 만들어 졌는지 스펙정보가 기술됨

<title> : 브라우저 창이 뜰 때 창에 나오는 제목

<body> : body 태그에는 주로 웹 문서의 내용이 기술됨

- 우리가 실제로 브라우저를 통해서 확인되는 내용은 거의 대부분이 body태그의 내용

 

4. 텍스트 관련 태그

- 웹 문서는 주로 텍스트와 이미지로 구성됨

- 이 중에서 텍스트는 정보를 전달하기 위한 기본적인 요소로써, HTML에서도 다양한 태그를 제공하고 있음

- <h1> ~ <h6> 및 <p> 태그는 아주 많이 사용되는 태그

- <hr>태그를 사용하면 HTML화면에 줄이 그어진다

 

5. 하이퍼링크 태그

- 웹문서의 꽃인 앵커 태그가 가지고 있는 속성

<a>태그 : 웹 문서를 이동할 수 있게끔 해주는 태그

href 속성 : 웹 문서가 이동하게 될 주소를 속성값으로 가진다.

- <a>태그는 웹 서비스의 가장 중요한 요소 중 하나
- <a href = " @!#$%^*&^%$# " ></a>

- 앵커태그라고도 한다

 

6. 아이디 속성을 특정 위치 이동

- 태그의 아이디 속성을 이용한 페이지 내에서 특정 위치로 이동

- 작성예 : <hr id="info01" /><p><a href="#info01"></a></p>

 

학습정리

<h1>~<h6> 태그 : 주로 타이틀을 나타내는 태그로 사용된다.

<p> 태그 : 문단을 구분할 때 사용되는 태그이다.

<a href="#">태그 : 문서의 이동을 담당하는 태그이다. 앵커 태그의 경우 다양한 속성과 속성값을 알아두어야 한다.

 

3강 HTML5 태그 2 (목록 구성 태그)

 

1. 목록 관련 태그

- 목록을 나타내는 태그에는 대표적으로 ol, ul태그가 있다. 이들은 모두 목록(리스트)를 나타내기 위한 태그이다.

<ol> 태그

- 순서가 있는 목록을 나타낸다.

- 목록의 아이템은 <li>태그를 사용한다.

<ul>태그

- 순서가 없는 목록을 나타낸다.

- 목록의 아이템은 <li>태그를 사용한다.

- 기본적으로 웹 문서에서 목록을 나타낼 때는 <ol>또는 <ul> 태그 중 하나를 사용하고 아이템은 <li> 태그를 사용한다.

- 목록 태그의 구조 : <ol><li></li></ol>,    <ul><li></li></ul>

- 목록을 나타내는 태그로 dl, dt, dd 태그도 있음 <dl><dt><dd></dd></dt><dt><dd></dd></dt></dl>
도 있다.

- CSS에서 li { list-style :none; } 을 하면 list 스타일이 적용되지 않아 수평으로 출력이 된다.

 

2. 테이블 태그

- 표를 나타내는 태그는 <table>태그를 사용한다. <table> 태그 내부에 <tr>, <td> 등을 사용해서 내용을 표현한다.

<table> 태그 : 표를 나타내기 위한 태그

<tr> 태그 : table태그 내부태그로 테이블에서 행을 표현

<td> 태그 :  table 태그 내부태그로 테이블에서 열을 표현

- table 태그는 과거에는 웹 문서의 전체적인 레이아웃을 만들 때 많이 사용되었으나, 웹 표준 시대에는 회원가입, 게시판, 설문조사 등에 사용된다.

- <table border="1"><tr><th></th></tr><tr><td></td></tr></table>

- 열을 합치는 속성 colspan="?", 행을 합치는 속성 rowspan="?"

 

학습정리

<ol>태그 : 순서가 있는 목록을 나타낼 때 사용하는 태그로 목록 아이템은 <li>태그를 사용한다. 추후에 학습하게 될 CSS를 이용해서 가로형태로 변형도 한다.

<ul>태그 : 순서가 없는 목록을 나타낼 때 사용하는 태그로 목록 아이템은 <li>태그를 사용한다. 추후에 학습하게 될 CSS를 이용해서 가로형태로 변형도 한다.

<dl> 태그 : ol, ul태그와 함께 많이 사용되는 태그로 내부 태그로 dt, dd태그를 이용해서 리스트의 아이템을 나타낸다. 

<table> 태그 : 표를 나타내는 태그로 내부태그로 tr, th, td태그를 사용해서 셀을 나타낸다. 셀을 합치는 경우에는 colspan(열), rowspan(행) 속성을 이용한다. 주로 회원가입, 게시판, 설문조사 등과 같은 페이지의 레이아웃을 제작할 때 사용된다.

 

4강 HTML5 태그 3 (데이터 전송 및 이미지 태그)

 

1. 폼 관련 태그

- 사용자의 정보를 서버로 전달하기 위한 용도로 사용되는 태그

- <form><input/>...</form> → 데이터 처리

<form> 태그 : 데이터 처리 문서의 주소와 데이터 전달 방식을 속성으로 갖는다.

<form action ="#" method="get">

action은 input태그에 있는 submit버튼을 누를 때 해당되는 URL로 정보를 전송한다.

<input> 태그 : type 속성을 이용해서 사용자의 다양한 정보를 얻을 수있다.

text, password, file, radio, checkbox, submit

name 속성은 서버가 식별할 수 있는 이름이다. name이 중복되면 서버가 헷갈릴 수 있다.

radio 속성의 경우 name값을 동일하게해야 여러개 중 하나를 선택하게 할 수 있다.

checked 속성은 화면에 처음 출력이 될 때 기본값으로 체크되게 해준다. 

<select> 태그 : n개중에 하나를 선탁할 때

<select><option></option></select>

multiple 속성을 사용하면 다중 선택이 된다.

- 디자이너와 퍼블리셔는 폼 관련 태그를 디자인에 중점을 둔다.

- 웹 프로그래머는 데이터의 처리에 중점을 두고 작업을 한다.

- 다양한 데이터에 적합한 폼을 구성, 데이터 전송에 GET방식과 POST방식을 구분

GET방식은 URL에 정보가 추가되어 서버로 전송이 된다. 보안에 취약함

POST방식은 URL에 정보가 추가되지 않고 암호화되어 서버로 전송이 된다. 보안이 됨

 

<form action="#" method="get">

이름 : <input type="text" name="uname" /><br />

아이디 : <input type="text" name="uid" /><br />

비밀번호 : <input type="password" name="upw" /><br />

연락처 : <input type="text" name=uphone1" size="5" /> -

<input type="text" name=uphone2" size="5" /> -

<input type="text" name=uphone3" size="5" /><br />

사진 : <input type="file" name="upic"/><br />

성별구분 : <input type="radio" name="gender" value="m"> 남,

   <input type="radio" name="gender" value="w"> 여 <br />

사용언어 : <input type="checkbox" name="lan" value="kor" checked="checked" />한글,

   <input type="checkbox" name="lan" value="eng" />영어,    

   <input type="checkbox" name="lan" value="jap" />일어,

   <input type="checkbox" name="lan" value="chi" />중국어<br />

자기소개 : <textarea rows="5" cols="20"> 간단하게 입력하세요. <textarea><br />

국적 : <select>

<option>KOREA</option>

<option>USA</option>

<option>JAPAN</option>

<option>CHINA</option>

   </select><br />

좋아하는음식 : <select multiple="multiple">

<option>김치</option>

<option>불고기</option>

<option>파전</option>

<option>비빔밥</option>

   </select><br />

<input type="submit"/>

</form>

 

2. 이미지 태그

- 이미지를 사용하여 보다 효율적인 정보 전달을 할 수 있다.

- <img src="위치정보">

<img>태그 : 웹 문서에 이미지를 삽입하기 위한 태그

src 속성 : 이미지의 위치 정보를 속성값으로 가지고 있다.

alt 속성 : 사용자가 src주소에서 정보를 얻지 못할 때 해당 이미지의 정보가 무엇인지 사용자에게 알려주는 속성, alt 속성을 이용하여 시각장애인에게 사운드로 출력되어 정보를 전달해 줄 수 있다.

- 이미지는 웹 문서에서 텍스트와 함께 정보 전달 수단으로써 아주 중요한 역할을 하는 요소

- 이미지의 위치는 로컬뿐만 아니라 외부에 존재할 수도 있다.

- 이미지 태그와 속성을 이용한 이미지 삽입

<p><img src="img/Navi_dr.png" alt="꿈 story"></p>

<p><img src="img/Navi_dr.png" alt="꿈 story" width="500"></p> 이미지의 크기를 결정해주는 속성

<p><a href="#"><img src="#" alt="#"></a></p> 이미지에 링크를 삽입하는 경우

- 리스트 구조를 만들고, 리스트의 아이템으로 이미지를 사용

<ol><li><img src="#" alt="#"><a href=#"></a></li></ol> 이와 같이 사용할 수 있다.

 

학습정리

<form>태그 : 사용자의 정보를 서버로 전달하기 위한 태그

<input>태그 : 사용자의 다양한 정보를 type 속성을 이용해서 적절하게 처리한다.

          ex) type="password" → 비밀번호 입력

<img src="이미지 위치 정보">태그 : 웹 문서에 텍스트 외에 이미지를 삽입하여 효율적인 정보 전달을 가능하게 한다. alt 속성은 이미지가 손상되었을 때 이미지를 설명해주는 태그

 

 

5강 HTML5 태그 4 (HTML5 레이아웃 및 시멘틱 웹페이지 제작)

 

1. 페이지 레이아웃 설정 태그

- block 타입의 태그와 inline 타입의 태그

block 타입의 태그의 경우 자동으로 개행이 된다. Ex: <p>태그, <li>태그

inline 타입의 태그의 경우 <br>태그를 하지 않는 이상 개행이 안된다. Ex: <img>태그

<div>태그

- block 타입의 대표적인 태그

- 웹 문서의 레이아웃을 설정하는 용도로 많이 사용된다.

<span> 태그

- inline 타입의 대표적인 태그

- 웹 문서에서 특정한 의미를 나타내지는 않는다.

- <div>태그를 이용해서 웹 문서의 레이아웃을 자유롭게 구성할 수 있어야 한다.

 

2. 시멘틱 태그

- 검색 엔진이 보다 효율적으로 데이터를 검색할 수 있게 특정 태그를 사용해서 웹 문서를 제작하는 것을 시맨틱 웹이라고 한다.

- 시멘틱 태그 웹 문서 ← 효율적인 검색 ← 검색엔진

- 시멘틱 주요 태그

<header> 페이지의 헤드 영역

<footer> 페이지의 하단 영역

<nav> 페이지의 네비게이션(메뉴) 영역

<section> 페이지의 내용

<article> section과 유사하며, 글 또는 어떠한 내용 출력

<aside> 부가적인 내용

 

3. 시멘틱 태그를 이용한 웹페이지 제작

- 일반 태그는 <div></div> 위주로 구성되어 있음

- 시멘틱 태그는 <header></header> <nav></nav> <section></section> <footer></footer>로 구성되어 있음

- 검색엔진에 검색을 할 때 시멘틱 태그가 더 좋다.

 

학습정리

<div> 태그 : 웹 문서의 레이아웃을 설정하는데 가장 많이 사용되는 태그

시멘틱 태그 : 검색 엔진이 보다 효율적으로 데이터를 검색할 수 있게 특정 태그를 사용해서 웹 문서를 제작하는 것을 시멘틱 웹이라고 한다. 시멘틱 태그의 사용은 권장사항이다. 즉, 사용하지 않아도 웹 문서를 제작할 수 있다. 

 

6강 HTML5 태그 5 (HTML5 멀티미디어)

 

1. 멀티미디어 관련 태그

- 웹 문서에 멀티미디어 요소를 삽입하면, 정보 전달이 보다 효율적이다.

<embed> 태그 :

embed 태그를 이용해서 멀티미디어 요소를 삽입할 수 있다.

src : 재생하려는 파일의 경로와 이름

width : 가로 사이즈

height : 세로 사이즈

autostart : 자동실행 여부(true/false)

<embed src="#" width="?" height="?" autostart="false" />

<audio> 태그 :

audio 태그를 사용하면 웹 문서에 음악을 삽입할 수 있다.

audio 태그에는 다양한 속성이 있다.

src : 재생하려는 파일의 경로와 이름

controls : 컨트롤러 출력 (true.false로 출력하는 것이 아님)

autoplay : 자동 실행 (true.false로 출력하는 것이 아님)

loop : 반복 실행

<audio src="#" controls="controls" autoplay="autoplay" loop="loop" />

<video> 태그 :

vidio 태그를 사용하면 웹 문서에 동영상을 삽입할 수 있다.

vidio 태그의 다양한 속성이 있다.

src : 재생하려는 파일의 경로와 이름

type : 재생매체 타입

controls : 컨트롤러 출력

autoplay : 자동 실행

loop : 반복 실행

<video src="#" type="video/mp4" controls="controls" autoplay="autoplay" loop="loop" />

- 과거에 주로 사용된 embed 태그 외에 audio, video 태그를 이용해서 멀티미디어 요소를 웹 문서에 삽입할 수 있다.

 

학습정리

<embed> 태그 : embed 태그와 이용해서 멀티미디어 요소를 삽입할 수 있다.

<audio> 태그 : 웹 문서에서 음악을 재생하기 위한 태그이다.

<video> 태그 : 웹 문서에서 동영상을 재생하기 위한 태그이다. 

 

7강 CSS3 선택자 1 (스타일 기초 및 필수 선택자)

 

1. CSS3 적용 방법

- 다양한 CSS3 적용 방법

- HTML 태그에 직접 적용하는 방법

해당 HTML 태그에 직접 기술하여 CSS3의 속성을 적용한다.

Ex) <div style="background:#ff0000;">

- HTML 문서 내부에서 적용하는 방법

HTML 문서 내부에서 <style> 태그를 이용해서 CSS3를 적용한다.

<style>

div {

background : #000000 ;

}

</style>

- HTML 문서 외부에서 적용하는 방법

HTML 문서 외부에서 .css 파일을 이용해서 CSS3를 적용한다. 

<link href="???.css" type="text/css" rel="stylesheet">

- 가장 많이 사용되는 방법은 .css파일을 외부에 두고 HTML문서에서 <link> 태그를 이용하는 방법이다.

 

2. 선택자와 속성

- CSS3의 선택자와 속성

- CSS3 선택자

HTML 요소에 스타일을 적용하기 위해서는 우선적으로 해당 요소를 선택해야 한다.

HTML 요소를 선택하기 위해서 선택자를 이용한다.

CSS3에서는 크게 태그, 클래스, 아이디 선택자를 제공하고 있다.

- CSS3 속성

선택자를 이용해서 HTML요소를 선택한 후, 적절한 속성을 적용한다.

- CSS3을 잘 다루려면 우선적으로 HTML 문서의 전체적인 구조를 파악해야 한다.

- 문서의 구조를 파악하지 못하면 해당 요소를 정확하게 선택할 수 없다.

 

3. 전체 선택자

- CSS3의 대표적인 선택자

- 선택자

HTML 문서의 모든 요소를 선택하기 위한 선택자 *

<style>

*{

color : #000000 ;

}

</style>

 

4. 태그, 아이디, 클래스 선택자

- CSS3의 대표적인 선택자

- 태그 선택자 태그명

특정 태그를 선택할 때 사용

- 아이디 선택자 #아이디명

HTML 태그에 아이디를 지정하고, 지정된 아이디의 태그를 선택하는 선택자

- 클래스 선택자 .클래스명

HTML 태그에 클래스를 지정하고, 지정된 클래스의 태그를 선택하는 선택자

아이디 선택자와 차이점은 아이디는 주로 유니크한 이름을 사용하며, 클래스는 여러 개의 태그에 동일한 이름을 가질 수 있다는 점 

 

학습정리

태그 선택자 : HTML의 특정 태그를 선택할 때 사용한다.

아이디 선택자 : HTML 태그에 부여된 아이디를 이용해서 태그를 선택할 때 사용한다.

클래스 선택자 : HTML 태그에 부여된 클래스를 이용해서 태그를 선택할 때 사용한다.

 

8강 CSS3 선택자 2 (알아두면 편리한 다양한 선택자)

 

1. 속성 선택자

- HTML 태그의 속성을 이용하는 선택자

- 태그속성을 이용하는 방법

태그선택자[속성]

Ex) a[href] { color : #000000 }

- 태그 속성값을 이용하는 방법

태그선택자[속성=속성값]

Ex) a[href='http://www.google.com'] { color: #000000 }

- 속성 선택자의 사용방법

<style>

input {

color : green;

font-size : 30px;

font-weight : bold;

}

input[type=text] {

color : orange;

font-size : 50px;

width : 200px;

}

input [type=tel] {

color : red;

}

img[src] {

border : 5px solid green;

}

</style>

 

2. 링크 선택자

- <a> 태그에 CSS3 속성을 적용할 때 사용

- link 선택자

<a>태그를 선택할 때 사용

 Ex) a:link::after { content: '-' attr(href); }

content는 <a href="#">요기가 content다</a>

attr은 속성의 약자

링크선택자를 이용해서 CSS3 적용

#content a:link::after{

content: ' - ' attr(href);

}

<li><a href="#" target=_blank">T아카데미</a></li>

적용결과 : T아카데미 - #

 

3. 부정 선택자

- 명시한 선택자들 외의 요소를 선택할 때 사용

- 부정(:not) 선택자

:not 선택자를 이용해서 명시한 선택자들 외의 HTML 요소를 선택

Ex) li:not(.fa) { background-color:#000000 }

 

4. 문자 선택자

- 문자의 특정속성을 이용해서 CSS3를 적용할 때 사용

- :first-letter 선택자

첫 번째 문자를 선택할 때 사용

Ex) #history1 : first-letter { font-size:2em }

- :first-line 선택자

첫 번째 행을 선택할 때 사용

Ex) #history1 : first-line { font-weight:bold }

 

5. 후손 및 자손 선택자

- HTML 태그의 계층구조를 이용해서 CSS3를 적용할 때 사용

- 후손 선택자

특정 HTML 태그의 아래에 있는 모든 태그요소를 선택할 수 있다.

Ex) div li { background-color : red }

문서내에 div 하고 한칸 띄운후 li라고 하면 div안에 있는 후손인 li를 선택할 수가 있다.

후손은 자식, 손자까지 div안에 있으면 전체다 선택이 된다.

- 자손 선택자

특정 HTML 태그의 바로 아래에 있는 태그요소를 선택할 수 있다.

Ex) div > h1 { font-weight:bold }

문서네에 div한후 > 를 이용하면 >뒤에 나오는 h1만 선택하는 것이다.

- div:nth-child(숫자) 이 숫자는 몇번째child를 뜻하는 숫자이다.

 

6. 동위, 반응, 산태 선택자

- 동위 선택자

HTML 태그 계층구조를 고려하여 동등한 위치에 있는 태그요소를 선택한다.

Ex) h3~div { font-size : 10px }

~를 사용하면 h3와 동급인 태그 모두를 선택하여 CSS를 적용한다.

     h3+div {font-size : 20px}

+를 사용하면 h3를 기준으로 했을 때 첫번 째로 나오는 태그만 선택하여 CSS를 적용한다.

- 반응 선택자

웹 사이트를 이용하는 사용자의 반응에 따라 HTML 태그 요소를 선택한다.

Ex) :hover ◇마우스가 태그 위에 올라왔을 때 선택된다.

     .class명 : hover{ 속성값 } 이와같이 사용된다.

- 상태 선택자

HTML 태그 요소의 상태에 따라서 선택한다.

Ex) :focus ◇초점이 맞추어진 상태

     :checked ◇input 태그중 checked 상태

마우스의 focus가 맞추어 졌을 때 상태 선택자가 실행이 된다.

checked의 경우 체크가 됐을 때 상태 선택자가 실행이 된다.

 

학습정리

속성 선택자 : HTML태그의 속성을 이용해서 요소를 선택한다.

부정 선택자 : 선택한 태그요소 외에 나머지 태그요소를 선택할 수 있다.

후손 및 자손 선택자 : HTML 태그의 계층구조를 이용해서 태그요소를 선택한다.

                    후손 : 하위 모든 태그 선택

                    자손 : 바로 아래 태그만 선택

 

9강 CSS3 속성 1 (가시상태 속성)

 

1. 단위

- CSS3에서 주로 사용되는 단위로 px, em, pt가 있다.

- px단위 이용방법

절대적으로 속성의 크기를 설정한다.

Ex) font-size : 12px;

%를 사용하면 절대적에서 상대적으로 변경된다.

- em단위 이용방법

상대적으로 속성의 크기를 설정한다.

default 값이 1.0 그러므로 1.0보다 작게하면 축소, 1.0보다 크게하면 확대이다.

Ex) font-size : 1.5em

모든 디바이스 환경을 고려했을 때 em이 상대적이기때문에 px보다 응용범위가 넓다. 

- pt단위 이용방법

절대적으로 속성의 크기를 설정한다.

Ex) font-size : 16pt

 

2. display 속성

- HTML 요소를 화면에 출력하고, 제거하는 스타일 속성

- display 속성 이용방법

- display 속성값으로 none, block, inline, inline-block이 있다.

none : 브라우저 화면에 HTML요소를 제거

display : none;

화면에 출력을 하지 않는다

block : HTML요소를 block 타입으로 출력

display : block;

weight, height 값을 가진다.

inline : HTML요소를 inline타입으로 출력

display : inline;

inline 속성값을 사용하면 weight, height가 무시된다.

inline-block : 기본적으로 inline속성과 동일하고, 넓이(weight)와 높이(height)을 가질 수 있다.

display : inline-block;

 

3. visibility 속성

- display 속성과 비슷한 기능을 하며, 차이점을 확실하게 학습한다.

- visibility속성 이용방법

visibility 속성값으로 visible, hidder이 있다.

visible : HTML 요소를 출력한다. (default)

hidden : HTML요소를 출력하지 않는다.

Ex) visibility : hidden;

- display : none 과 visibility : hidden 비교

display : none → HTML 요소를 화면에 출력하지 않는다.

visibility : hidden → HTML 요소를 화면에 출력하지 않지만, 공간은 유지한다.

 

4. opacity 속성 (투명도)

- HTML 요소의 투명도를 조절할 수 있다.

- opacity 이용방법

0.0부터 1.0까지 투명도를 조절할 수 있따.

0.0 → 투명

1.0 → 불투명

Ex) opacity : 0.7;

 

학습정리

display 속성 : HTML 요소를 화면에 출력 또는 출력하지 안는다.

visibility 속성 : HTML요소를 화면에 출력 또는 출력하지 않는다. 출력하지 않더라도, HTML요소의 공간은 유지된다.

opacity 속성 : HTML 요소의 투명도를 설정할 수 있다. (0.0~1.0)  [0.0 = 투명] [1.0 = 불투명]

 

10강 CSS3 속성2 (레이아웃 관련 속성)

 

1. width & height 속성

- 태그 요소의 가로와 세로 크기를 설정할 수 있다.

- width & height 이요방법

가로와 세로의 크기를 설정한다.

단위는 주로 px, %를 사용한다.

Ex) width : 200px; height : 100px;

 

2. margin & padding 속성

- 태그 요소의 여백과 관련한 속성

- margin 이용방법

margin 속성값으로 태그요소의 외곽 여백을 설정할 수 있다.

Ex) margin-top : 10px;

     margin-right : 15px;

     margin-bottom : 20px;

     margin-left : 25px;

한번에 입력할 경우 margin : 10px, 15px, 20px, 25px; 로 적용된다.

상하와 좌우가 같을 경우 margin : 10px, 15px; 로 작성하면 상하는 10px, 좌우는 15px가 적용된다.

- padding 이용방법

padding 속성값으로 태그요소의 내부 여백을 설정할 수 있다.

Ex) padding-top : 10px;

     padding-right : 15px;

     padding - bottom : 20px;

     padding - left : 25px;

한번에 입력하는 방법과 상하,좌우 방법은 padding도 똑같다.

 

3. 테두리 관련 속성

- 테두리 관련 속성을 이용하면 전체 사이즈의 크기를 변경할 수 있다.

- box-sizing 속성 이용방법

border-box와 content-box 속성값을 이용해서 테두리의 위치를 태그요소의 내부 또는 외부로 위치할 수 있다.

Ex) box-sizing : border-box, box-sizing : content-box

border-box의 경우 영역 내부, content-box의 경우 영역 외부에 해당된다.

- border속성 이용방법

border속성을 이용해서 태그요소의 테두리를 설정할 수 있다.

Ex) border-width : 5px;, border-style : solid;, border-color : #ff6a00;

     border : 5px solid #ff6a00; (단축해서 사용하는 방법)

     solid : 실선, dashed : 점선, dotted : 점 

border-radius는 모서리를 둥굴게 하는 정도를 나타내는 속성값이다.

Ex) border-radius : 10px, 10px, 0px, 0px; (Top Right Bottom Left)

 

4. 배경 관련 속성

- HTML 요소의 배경을 지정할 수 있다.

- background-image 이용방법

태그요소에 배경 이미지를 지정할 수 있다.

Ex) background-image; 배경에 이미지를 넣는 방법

     url('#');

     background-size : 100%; (default값)

     background-repeat : no-repeat; (repeat는 이미지가 반복되서 나타나게하는 것이다.

  default로 repeat 값을 가진다.)

     background-repeat : x-repeat (x축으로반복한다.)

     background-repeat : y-repeat (y축으로 반복한다.)

     background-attachment : fixed; (이미지를 한 자리에 고정하는 것, 즉 스크롤을 내려도 이미지는 고정된다.)

 

학습정리

width & height 속성 : HTML요소의 가로 및 세로의 크기를 설정한다.

margin&padding 속성 : HTML요소를 외부(margin) 및 내부(padding) 여백을 설정한다.

테두리 관련 속성 : HTML요소를 테두리의 두께와 모양을 설정한다.

배경 관련 속성 : HTML요소를 배경에 이미지를 설정한다.

 

11강 CSS3 속성 3 (위치 관련 및 알아두면 편리한 속성)

 

1. 폰트 관련 속성

- 폰트와 관련된 선택자

- 아무리 좋은 폰트라도 사용자 컴퓨터에서 해당 폰트가 없으면 안보인다.

- font-size, font-family 속성 이용방법

font-size : 폰트의 크기를 설정할 수 있다.

Ex) font-size : 2.0em

font-family : 폰트를 설정할 수 있다.

폰트가 없으면 브라우저 기본폰트가 사용된다.

Ex) font-family : MingLiU_HKSCS-ExtB

- font-style, font-weight, line-height 속성 이용방법

font-style : 폰트의 이택릭체를 설정할 수 있다.

Ex) font-style : italic;

font-weight : 폰트의 볼드체를 설정할 수 있다.

Ex) font-weight : bolder;

line-height : 행간 설정을 할 수 있다.

Ex) line-height : 20px;

- text-align, text-decoration 속성 이용방법

text-align : 폰트의 정렬을 설정할 수 있다.

Ex) text-align : right; (속성값으로 right, left, center가 있다.)

text-decoration : 폰트의 표시를 설정할 수 있다.

Ex) text-decoration : none; (none을 사용하면 하이퍼링크를 지울 수 있고, underline은 줄을 추가한다.)

 

2. position 속성

- 태그 요소의 위치를 설정하는 속성

- position 속성에는 4가지의 속성값이 있다.

static : default 속성값으로 특별히 설정하지 않으면 static이다.

Ex) position : static;

absolute : 절대좌표를 이용해서 위치를 설정한다.

Ex) position : absolute; top : 100px; left : 100px;

relative : 기본 위치를 기준으로 설정만큼 이동된다.

Ex) position : relative; top : 0; left : 100px;

fixed : 브라우저의 절대좌표를 기준으로 설정된다.

fixed를 사용하면 해당 요소를 스크롤을 내려도 고정되게 할 수 있다.

Ex) position : fixed; top : 100px; left : 100px;

z-index : z축 좌표로 겹치는 부분에서 숫자가 높으면 위로, 숫자가 작으면 아래로 표시된다. 

 

3. overflow 속성

- overflow 속성은 내용이 태그 요소의 크기보다 클 때 설정할 수 있다.

- overflow 속성 이용방법

hidden과 scroll 속성값을 이용해서 넘치는 내용을 가리거나, 스크롤을 이용할 수 있다.

Ex) overflow : hidden, overflow : scroll

여기서 hidden을 사용하면 내용이 넘처도 scroll이 안 생긴다.

여기서 scroll을 사용하면 해당 요소에 scroll이 생긴다.

 

 

4. float 속성

- HTML 요소의 위치를 설정하는 속성, 주로 레이아수을 설정할 때 사용

- float 이용방법

left, right 속성값을 이용해서 HTML 요소를 정렬시킬 수 있다.

Ex) float : left(left값은 default로 가진다.), float : right; 

하나의 요소에 float : left를 설정하면 이어져 오는 요소도 float : left 속성을 가지게 된다.

 

5. 그림자 속성

- HTML요소에 그림자를 설정할 수 있다.

- text-shadow 이용방법

태그요소에 그림자를 만들어준다.

Ex) text-shadow : 5px, 10px, 15px, black; (오른쪽거리, 아래쪽거리, 투명도, 색상)

 

6. 그라디언트

- 2가지 이상의 색을 표현 할 때 사용되는 속성

- 그라디언트 이용방법

http://colorzilla.com/gradient-editor/에 접속해서 쉽게 이용할 수 있다.

- vender prefix (벤더프리픽스)는 각 제조사마다 벤더프리픽스를 만들어 내가 쓰는 코드는 이렇게 써야 한다는 것을 명시하는 것이다.

-webkit 사파리, 크롬

-moz 파이어폭스

-o 오페라

-ms 인터넷 익스프롤러

없으면 표준 속성이다.

<script src="prefixfree.min.js"></script>는 prefixfree.min.js파일을 적용한 것으로 vender prefix를 명시하지 않아도 prefixfree 파일이 알아서 자동적으로 설정해준다. 파일을 다운받아야 한다.

 

학습정리

폰트 관련 속성 : font-size, font-style, font-weight, line-height 등을 이용해서 폰트에 스타일 속성을 적용할 수 있다.

position 속성 : position 속성의 static, absolute, relative, fixed 속성값을 이용해서 html 요소의 위치를 설정할 수 있다.

float 속성 : float 속성의 left, right 속성값을 이용하면, html 요소의 정렬을 설정할 수 있다.

gradient 속성

CSS에서 gradient 속성은 설정하기 까다롭다. 따라서 http://colorzilla.com/gradient-deditor/에 접속하여 쉽게 gradient를 설정한다.

 

12강 CSS3 속성 4 (변형 속성 및 PC용 웹사이트 제작①)

 

1. Transition 관련 속성

- CSS를 이용한 HTML요소의 변형 기능

- transition-xx 속성 이용방법

transition-duration : 몇 초 동안 변형될지를 설정한다.

Ex) transition-duration : 3s → 변형이 3초 동안 이루어진다.

transition-delay : 몇 초 후에 재생될지를 설정한다.

Ex) transition-delay : 2s → 2초 후에 변형이 시작된다.

transition-property : 변형이 적용되는 속성을 설정한다.

transition-timing-function : 변형과 관련된 함수를 설정한다. :ease-in과 :ease-out라는 속성값이 있다.

:ease-in의 경우 변형되는 속도가 점점 빨라지는 것이며

:ease-out의 경우 변형되는 속도가 점점 느려지는 것이다.

- animation-xx 속성 이용방법

animation-duration : 몇 초 동안 애니메이션 될지를 설정한다.

Ex) animation-duration : 3s → 애니메이션이 3초 동안 이루어진다.

animation-delay : 몇 초 후에 애니메이션 될지를 설정한다.

Ex) animation-delay : 2s → 2초 후에 애니메이션이 시작된다.

animation-name : 애니메이션의 이름을 설정한다.

animation-timing-function : 애니메이션과 관련된 함수를 설정한다.

- 애니메이션을 설정할 때는

@keyframes (animation-name에서 설정한 이름값){

from { 속성값 }

to { 속성값 }

}

이와같이 설정한다.

- 애니메이션을 설정하는 속성 값중 transform : rotate(0deg~360deg); 를 사용하면 회전이 적용된다.

 

2. 웹 페이지 개요 및 레이아웃 구분

- 웹사이트의 레이아웃

우리는 다양한 웹사이트를 경험하고 있다.

하지만, 수많은 웹사이트의 레이아웃도 전체적으로 거의 비슷한 레이아웃을 가지고 있다.

 

3. 초기화

- 초기화란?

CSS를 작성하면서 가장 먼저 하는 작업은 초기화

초기화란 기본적인 설정(margin, padding, font-xx..) 등을 미리 설정해 두고 사용하는 것

*{ 기본적인 설정을 작성 } 이렇게 작성하는 것이 초기화이다.

Ex) a { text-decoration : none }

- Normalize.css란?

많이 사용하는 초기화 관련 스타일중 normalize.css는 브라우저간의 스타일을 동일하게 유지해주고 있다.

Download URL : http://neclolas.gethub.io/normalize.css/

 

4. 헤더 및 수평 메뉴 작성

www.yahoo.com를 통해서 전체적인 레이아웃을 만들어 본다.

width의 경우 100%로 잡았을 때 깨지는 경향이 있으니 99%를 잡는 것이 좋다.

 

학습정리

변형 및 애니메이션 : transition-xx, animation-xx 속성을 이용해서 HTML요소에 변형 및 애니메이션을 설정할 수 있다.

웹 페이지 레이아웃 : 지금까지 학습한 CSS속성들을 이용해서 헤더 및 수평메뉴를 만들 수 있다. 

 

13강 CSS3 속성4 (PC용 웹사이트 제작②)

 

1. 본문 구성

 

2. 목록 구성

 

3. 푸터 구성

 

학습정리

웹 페이지 구조 파악 : 제작하려는 웹 페이지를 가로로 면을 분할하면 쉽게 제작할 수 있다.

 

14강 CSS3 규칙

 

1. @import 규칙

- CSS 파일에 또 다른 CSS파일의 설정을 사용하기 위한 규칙

- @import 규칙 사용방법

@import url( '또 다른 CSS 파일명' );

Ex) @import url('title.css');

- @import 규칙을 사용해서 다른 CSS파일의 설정을 사용

1. link를 대신할 수 있습니다.

2. <style> 태그 내부에 위치해야 합니다.

3. <style> 태그 상단에 위치해야 합니다.

 

2. @media 규칙

- 하나의 HTML 문서를 다양한 장치에서 서로 다르게 CSS를 설정할 수 있는 기능을 제공

- link 태그에 media 속성을 이용하여 상황에 따른 CSS를 적용하는 방법

link 태그에 media속성과 속성값을 이용해서 CSS를 구분한다.

Ex) <link rel="stylesheet" href="content_pc.css" media="screen" />(PC환경 화면)

     <link rel="stylesheet" href="content_print.css" media=print" />(프린트환경 화면)

- link태그 대신 @media 규칙을 이용하여 상황에 따른 CSS를 적용하는 방법

@media규칙을 이용해서 CSS를 구분한다.\

Ex) @media screen {...}

- @media속성을 이용해서 다양한 장치에 맞게 CSS를 설정

- 미디어 종류

all : 모든 미디어 타입

aural : 음성 합성 장치

braille : 정자 표시 장치

handheld : 손으로 들고 다니면서 볼 수 있는 작은 스크린에 대응하는 용도

print : 인쇄 용도

projection : 프로젝터 표현 용도

screen : 컴퓨터 스크린을 위한 용도

tv : 음성과 영상이 동시 출력되는 TV와 같은 장치

embossed : 페이지에 인쇄된 점자 표시 장치

 

3. 웹 폰트

- 웹 폰트란?

인터넷만 열결되어 있다면, 다양한 폰트를 웹사이트 방문자에게 제공할 수 있도록 고안된 폰트

- 웹사이트를 방문하는 순간, 웹 폰트를 다운받아 웹사이트를 구성

link태그를 이용해서 사용하고, 웹 폰트의 URL을 속성값으로 사용한다.

Ex) <link href='http://fonts.googleapis.com/css?family=Poiret+One' rel='stylesheet' type='text/css'>

- 구글폰트에서 원하는 폰트를 검색을 한 후 원하는 소스코드만 복사 붙여넣기를 하면된다. 이는 CSS, JavaScript다 된다.

 

학습정리

@import 규칙 : 다른 CSS파일의 설정을 사용할 수 있다.

@media 규칙 : 다양한 장치에 따라 CSS설정을 다르게 할 수 있다.

웹 폰트 : link 태그와 href 속성을 이용해서 웹에 있는 폰트를 사용할 수 있다.

 

15강 모바일 웹페이지 개발 환경 및 뷰포트

 

1. 모바일 개발 환경

- IDE(Integrated Development Environment) 툴 설치

- Aptana Studio 설치 (Eclips가 더 좋음)

Nodejs_windows 설치 : http://go.aptana.com/installer_nodejs_windows

Aptana Studio 설치 : http://www.aptana.com

- Aptana 사용

프로젝트 및 웹 문서 만들고, 서버에서 확인

aptana 실행 및 workspace 변경

웹 프로젝트 생성

서버에 업로드 및 브라우저를 통한 확인

- 네이버에서 제공하는 코딩 전용서체를 사용하면 가독성이 뛰어나다

 

2. 뷰포트 개요 및 설정

- 모바일 환경에서 뷰포트의 개요와 설정에 대해서 학습한다.

- 뷰포트 개요

PC환경과 달리 모바일(스마트폰)환경에서는 디바이스마다의 해상도가 상이해서 PC환경의 웹 페이지가 모바일 환경에서는 매우 작게 보일 수 있음.

이를 해결하고자 뷰포트 기능을 사용함.

- 뷰포트 설정

width : 가로 넓이

Ex) width=device-width

initial-scale : 초기 확대 비율

Ex) initial-scale=1.0

user-scalable : 확대 및 축소 가능 여부

Ex) user-scalable=no

minimum-scale, maximum-scale : 최소, 최대 비율

Ex) minimum-scale=1.0, maximum-scale=2.0

뷰포트를 종합한 예

<meta charset="utf-8"

  name="viewport"

  content="width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=no" />

 

3. 반응형과 뷰포트

- 뷰포트와 같이 모바일 환경에서 웹페이지를 효율적으로 출력하기 위해서 CSS를 사용하는 방벙이 있다. 긜고 이러한 방법을 흔히 반응형 웹이라고 한다.

- 반응형 웹

사용자의 디바이스 환경에 따라 CSS를 적용 (@media)

Web 문서 → pc.css

  → mobile.css

  → tablet.css

 

학습정리

개발 환경 : 본인에 맞는 IDE툴을 선택하여 사용하고, FTP를 이용해서 서버에 업로드함.

뷰포트란? : PC환경과 달리 모바일(스마트폰) 환경에서는 디바이스마다의 해상도가 상이해서 PC환경의 웹 페이지가 모바일 환경에서는 매우 작게 보일 수 있음. 이를 해결하기 위해 뷰포트를 사용함.

반응형 웹 : 뷰포트와 달리 CSS속성을 이용해서 디바이스의 종류에 따라서 적합한 CSS를 적용함. 

 

16강 반응형 웹사이트 제작

 

1. 반응형 웹사이트 개요

- 반응형 웹이란?

최근 들어 다양한 디바이스가 등장

동일한 HTML문서가 해당 디바이스에서 최적화되어 보여야 할 필요성이 생김

하나의 HTML문서로 다양한 디바이스에 대응하기 위한 방법으로 미디어 쿼리를 이용한 방법이 반응형 웹이다.

 

<!DOCTYPE html>

<html>

<head>

<style>

/* 모바일 */

@media screen and (max-width : 767px) {

#wrap {

background-color : #ff0000;

color : #ffffff;

}

}

 

/* 태블렛 */

@media screen and (min-width : 768px) and (max-width : 959px) {

#wrap {

background-color : #00ff00;

color : #ffffff;

}

}

 

/* PC */

@media screen and (min-width : 960px) {

#wrap {

background-color : #0000ff;

color : #ffffff;

}

}

 

#wrap {

width : 80%;

border : 1px solid #cccccc;

margin : 0 auto;

}

 

#header {

width : 100%

border : 1px solid #cccccc;

}

 

#section { 

width : 100%

border : 1px solid #cccccc;

}

 

#footer { 

width : 100%

border : 1px solid #cccccc;

}

 

</style>

</head>

<body>

<div id="wrap">

<div id="header">

header

</div>

<div id="section">

section

</div>

<div id="footer">

footer

</div>

</div>

</body>

</html>

 

2. 미디어 쿼리

- 다양한 디바이스의 특징을 이용해서 CSS를 분기할 수 있다. 즉, 하나의 HTML 문서를 가지고 다양한 출력 장치에 맞게 CSS를 적용할 수 있다.

PC : @media screen and (min-width : 960px)

모바일 : @media screen and (max-width : 767px)

태블릿 : @media screen and (min-width : 768px) and (max-width : 959px)

 

3. PC용 및 스마트용 웹사이트 제작

- 미디어 쿼리를 이용해서 간단하게 pc, 태블릿, 모바일용 웹사이트를 제작한다.

 

학습정리

반응형 웹 : 다양한 디바이스에 최적화된 CSS을 적용한 웹

미디어 쿼리 : CSS를 분기하여 하나의 HTML문서에 여러 개의 CSS를 적용할 수 있다. 

 

17강 태블릿 레이아웃 제작

 

1. 태블릿 웹사이트 제작

- 태블릿 환경을 이해하고 그에 맞게 레이아웃을 설정합니다.

- 태블릿 환경에서 리스트의 경우 왼쪽에 두는 경우가 많거나 메뉴를 숨기는 기능을 사용한다.

- clear : both 속성을 사용하면 float로 영향을 받은 요소가 더이상 영향을 받지 않는다.

 

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<style>

* { 

margin : 0; padding : 0; }

body { font-family : 'Segoe UI' }

li { list-style : none; }

 

# {

height : 100px; line-height : 100px; background-color : #75356c; color : #ffffff;

}

 

#header p{

text-align : center; font-size : 2em; font-weight : bold;

}

 

#wrap { 

background-color:#e1e262;

overflow : hidden;

}

 

#wrap #nav_lnb {

width : 250px;

float : left;

}

 

#wrap #nav_lnb ul {

overflow : hidden;

}

 

#wrap #nav_lnb ul li a {

text-decoration : none; color : #ffffff;

padding : 20px;

display : block;

border-bottom : 1px dashed #dddddd; 

}

 

#wrap #content_wrap {

background-color : #75356c;

width : 100%;

float : left;

margin-left : -250px;

}

 

#wrap #content_wrap #content {

padding : 20px;

padding-right : 270px;

}

 

#wrap #content_wrap #content div:nth-child(1)  img {

float : left;

padding : 20px;

}

 

#wrap #content_wrap #content div:nth-child(2)  img {

clear : both;

float : right;

padding : 20px;

}

 

</style>

</head>

<body>

<div id="header">

<p>

Tablet PC Layout

</p>

</div>

<div id="wrap">

<div id="nav_lnb">

<ul>

<li><a href="#" alt="?">btn01</a></li>

<li><a href="#" alt="?">btn02</a></li>

<li><a href="#" alt="?">btn03</a></li>

<li><a href="#" alt="?">btn04</a></li>

<li><a href="#" alt="?">btn05</a></li>

</ul>

</div> 

<div id="content_wrap">

<div id="content">

<div>

<h2>SEOUL ANIMATION CENTER</h2>

<img src="#" alt="">

<p>

Operation of a comprehensive support ...

</p>

</div>

</div>

</div>

</div>

</body>

</html>

 

학습정리

브라우저의 크기를 고려한 레이아웃 : 다양한 디바이스의 화면 크기를 고려해서 margin 속성을 응용하여 레이아웃을 설정합니다.

 

18강 유동형 웹사이트 제작

 

1. 유동형 레이아웃 개요

- 유동형웹은 레이아웃을 비롯한 모든 요소를 상대적인 크기로 지정함

- 유동형웹이란?

웹문서의 모든 요소를 %로 설정하여, 브라우저의 크기에 대응함.

반응형웹과 달리 css문서를 하나만 작성하면 됨.

실제적으로 세부적인 요소까지 상대적인 크기로 설정하기 어려운 점이 있음.

 

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<style>

*{

margin : 0;

padding : 0;

list-style : none;

color : #343434;

}

#wrap {

width : 80%;

margin : 0 auto;

border : 1px solid #cccccc;

box-sizing : border-box;

}

 

#wrap nav {

width : 100%;

}

 

#wrap nav ul {

overflow : hidden;

}

 

#wrap nav ul li {

float : left;

width : 20%;

border : 1px solid #ff0000;

box-sizing : border-box;

text-align : center;

}

#wrap section {

width : 100%;

background-color : #00ff00;

overflow : hidden;

}

 

#wrap section article {

float : left;

width : 70%;

}

 

#wrap section aside {

float : left;

width : 30%;

}

 

#wrap section aside div:nth-child(1) {

border : 1px solid #dddddd;

box-sizing : border-box;

text-align : center;

}

 

#wrap section aside div:nth-child(1) img {

max-width : 100%;

 

#wrap section aside div:nth-child(2) {

border : 1px solid #dddddd;

box-sizing : border-box;

text-align : center;

}

 

#wrap section aside div:nth-child(2) img {

min-width : 100%;

max-width : 100%;

}

 

#wrap section aside div:nth-child(3) {

border : 1px solid #dddddd;

box-sizing : border-box;

text-align : center;

}

 

#wrap section aside div:nth-child(3) img {

min-width : 100%;

}

 

</style>

</head>

<body>

<header>

<div id="wrap">

logo img

</div>

</header>

<nav>

<ul>

<li><a href="#none">nav1</a></li>

<li><a href="#none">nav2</a></li>

<li><a href="#none">nav3</a></li>

<li><a href="#none">nav4</a></li>

<li><a href="#none">nav5</a></li>

</ul>

</nav>

<section>

<article>

<div>

article1

</div>

<div>

article2

</div>

</article>.

<aside>

<img src="#">

</aside>

<aside>

<img src="#">

</aside>

<aside>

<img src="#">

</aside>

</section>

</body>

</html>

 

학습정리

유동형 웹 : 반응형 웹과 달리 html 요소의 상대적 크기를 이용해서 웹문서를 제작합니다. CSS문서를 하나만 만들어 사용하며, 세부적인 설정에 어려움이 있어 주로 심플한 레이아웃에 이용됩니다.

 

19강 그리드 시스템

 

1. 플러그인 설치

- 그리드 시스템 플러그인을 설치함.

- 플러그인 다운로드 및 설치

다운로드 : http://960.gs/

설치 : grid.css파일을 프로젝트 폴더로 이동함.

Column width 컬럼 두께

Number of columns 컬럼수

Gutter width 여백

 

2. 그리드 시스템을 이용한 레이아웃

- 그리드 시스템 플러그인을 이용해서 고정 & 가변 레이아웃을 제작함.

- <div class="clear"></div>를 사용하여 float 등 기존에 설정된 값을 clear 할 수 있다. 개행 효과도 있다.


<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title></title>

<link href="#" rel="stylesheet">

<style>

li {

ist-style : none;

}

.wrap {

text-align : center;

}


.header .gnb {

text-align : center;

}


.header .gnb ul {

overflow : hidden;

}


.header .gnb ul li {

width : 15%

float : left; padding-left : 20px; padding-right : 20px;

}


.wrap .logo {

margin : 0 auto;

border : 1px solid #cccccc;

}

</style>

</head>

<body>

<div class=container_12" wrap>

<div class="grid_12 header">

<div class="gnb">

<ul>

<li><a href="#" alt="">gnb1</a></li>

<li><a href="#" alt="">gnb2</a></li>

<li><a href="#" alt="">gnb3</a></li>

<li><a href="#" alt="">gnb4</a></li>

<li><a href="#" alt="">gnb5</a></li>

</ul>

</div>

</div>

<div class="logo">

<div>LOGO</div>

</div>

<div class="clear"></div>

<div class="section1">

<div class="grid_6">grid_6</div>

<div class="grid_6">grid_6</div>

<div class="clear"></div>

</div>
<div class="section2">
<div class="grid_4">grid_4</div>

<div class="grid_4">grid_4</div>

<div class="grid_4">grid_4</div>

<div class="clear"></div>

<div>

</div>

</body>

</html>


<!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset="utf-8">

<link href="#" rel="stylesheet">

<style>

li {

list-style : none;

}


.header {


}


.header .gnb ul {

overflow : hidden;

}


.header .gnb ul li {

float : left

width : 20%;

}


.logo {

margin : 0 auto;

border : 1px solid #cccccc;

width : 200px;

}

</style>

</head>

<body>

<div class="container_12">

<div class="grid_12 header">grid_12</div>

<div class="gnb">

<ul>

<li><a href="#" alt="">gnb1</a></li>

<li><a href="#" alt="">gnb2</a></li>

<li><a href="#" alt="">gnb3</a></li>

<li><a href="#" alt="">gnb4</a></li>

<li><a href="#" alt="">gnb5</a></li>

</ul>

</div>

<div class="logo">

LOGO

</div>

<div class="clear"></div>


<div class="grid_6 section1">grid_6</div>

<div class="grid_6 section1">grid_6</div>

<div class="clear"></div>


<div class="grid_4 section2">grid_4</div>

<div class="grid_4 section2">grid_4</div>

<div class="grid_4 section2">grid_4</div>

<div class="clear"></div>

</div>

</body>

</html>


학습정리

그리드 시스템 : 지금까지 살펴본 예제들을 보면 전체적인 레이아웃을 개발자가 처음부터 만들어야 했습니다. 이러한 수고를 조금 줄여주고자 개발된 플러그인이 있습니다. 몇 가지 계산과 규칙만 알고 있다면 개발자는 쉽게 전체적인 레이아웃을 만들 수 있습니다. 


20강 SPA(Single Page Application)


1.SPA란?

- Single Page Application이란 단일 페이지를 이용한 웹서비스를 구성함

- template를 사용하여 SPA를 만들 수가 있다.

- 명령을 하면 template가 변환하면서 페이지가 변경된다.


2. SPA 프레임웍

- 프레임웍이란? 

- 다양한 SPA 프레임웍이 존재한다.

Sammy.js : http://sammyis.org/ 

Backbone.js : http://backboneis.org/

Knockout.js : http://knockoutjs.com/

Angular.js : https://angularjs.org/ (구글에서 만듬, 유명함)

- MVC 란?

Model : 사용자 데이터를 서버로 보내거나 데이터 베이스를 연결시켜주는 역할

View : HTML을 뿌려주는 것

Controller : 사용자로부터 어떤 요청이 들어왔는지 확인하는 것


3. SPA를 활용한 웹페이지 제작

- Sammy.js을 이용해서 SPA웹을 구성합니다.

- SPA 웹서비스 구성

라우트 → Main_template

    → Register_template

    → Login_template

라우트는 template를 고르는 역할을 한다.


학습정리

SPA란? : 기존의 웹서비스 구성은 여러 개의 html이 서버와 통신하는 방식이다. SPA는 하나의 페이지만을 이용해서 변경되는 정보만을 가공하여 미리 만들어 놓은 틀(템플릿)을 이용해서 정보를 출력한다.



'Legend 개발자 > T아카데미' 카테고리의 다른 글

UX/UI 기획  (0) 2017.09.04
jQuery (JavaScript)  (0) 2017.09.02
컴퓨터 알고리즘 중급  (0) 2017.08.31
JavaScript  (0) 2017.08.30
컴퓨터 알고리즘 초급  (0) 2017.08.10
Posted by 전설의아이
|