달력

52025  이전 다음

  • 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

5. CSS3 좌표계

 

1. CSS3 좌표계

 1) 레이아웃 위치 개념

 ● 절대 좌표(position : absolute) : 엘리먼트가 브라우저의 페이지 안에 표시되는 방법을 지정

 p {position : relative}

 ● 상대 좌표(position : relative) : 엘리먼트가 브라우저의 페이지 안에 표시되는 방법을 지정

 p { position : relative; }

 

 2) CSS3단위

 단위

의미 

Px 

pixel의 줄임말로 컴퓨터 화면의 한 점 크기를 나타냄

(웹 브라우저의 기본 폰트 크기 : 16픽셀) 

비율을 의미(100% : 기준크기) 

in 

인치 

cm 

센티미터 

mm 

밀리미터 

Pt 

point의 줄임말로 보통 글꼴의 단위로 사용한다. 

em 

1em은 현재 글꼴의 크기를 나타낸다.

(예 - 2em은 현재 글꼴의 2배 크기가 된다.)

 

 3) 절대 좌표 실습

 ● 절대 좌표의 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head> 

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>절대 좌표 실습</title>

 <style type=text/css">

 h2{

 position:absolute;

 left:100px;

 top:50px;

 }

 <style>

 </head>

 <body>

 <p>일반적인 텍스트</p>

 <h2>절대좌표를 적용한 텍스트</h2>

 </body>

 </html>

 

 

 4) 상대 좌표 실습

 ● 상대 좌표의 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head> 

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>상대 좌표 실습</title>

 <style type=text/css">

 .pos_left {

 position:relative;

 left:-100px; 

 }

 .pos_right {

 position:relative;

 left:+100px;

 }

 <style>

 </head>

 <body>

 <h2>원래 위치!!!</h2>

 <h2 class="pos_left">원래위치에서 왼쪽으로 -100px 만큼 이동!!!</h2>

 <h2 class="pos_right">원래위치에서 오른쪽으로 +100px 만큼 이동!!!</h2>

 </body>

 </html>

 

2. CSS3 레이아웃 사용법

 1) float 사용법

 ● float 속성 : display와 position과 같이 웹 페이지의 레이아웃을 구성할 때 많이 사용하는 속성

 - 이미지와 텍스트를 쉽게 배치하기 위해 만들어짐

 - float가 선언된 엘리먼트는 왼쪽 또는 오른쪽으로만 위치할 수 있고 위아래는 불가능

 - float 이후에 오는 엘리먼트는 그 주변을 채워나가며 표시됨

 - 이미지와 텍스트를 활용한 레이아웃에서 많이 사용

 - 화면 크기에 따라 동적으로 변할 수 있는 레이아웃 작업에 많이 이용

 p{ float : 속성 값; }

 속성 값

내용 

inherit 

부모(상위)부터 상속받음 

left 

요소를 왼쪽 방향으로 float된 블록 박스로 설정 

right 

요소를 오른쪽 방향으로 float된 블록 박스로 설정 

none 

요소를 float 하지 않음 

 

 2) float을 활용한 실습

 ● float을 홀용한 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head> 

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>상대 좌표 실습</title>

 <style type=text/css">

 .box_a {float:left; width:100px; height:50px}

 .box_b {float:right; width:100px; height:50px}

 .box_c {margin:0px auto; width:100px; height:50px}

 <style>

 </head>

 <body>

 <div class="box_a">박스에 들어가는 내용입니다</div>

 <div class="box_b">박스에 들어가는 내용입니다</div>

 <div class="box_c">박스에 들어가는 내용입니다</div>

 </body>

 </html>

 

 3) clear 사용법

 ● clear 속성 :float 영향을 받는 엘리먼트를 강제로 취소시킬지 아닐지 지정하는 것

 - 더 이상 float을 쓰지 않겠다는 것을 의미함

 p { clear : 속성 값; }

 속성 값

내 용 

 inherit 

부모(상위)부터 상속받음 

left 

왼쪽에서 float된 컨텐츠 지정 clear 

right 

오른쪽에서 float된 컨텐츠 지정 clear 

both 

왼쪽 오른쪽 모두 float된 컨텐츠 지정 clear 

none 

Float에서 설정된 값을 clear 하지 않음

 

 4) clear를 활용한 실습

 ● clear를 활용한 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head> 

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>상대 좌표 실습</title>

 <style type=text/css">

 .box_a {float:left; background: gray; width:100px; height:50px}

 .box_b {float:right; background: red; width:100px; height:50px}

 .box_c {clear:both; background: blue; width:100px; height:50px}

 </style>

 </head>

 <body>

 <div class=box_a>1</div>

 <div class=box_b>2</div>

 <div class=box_c>3</div>

 </body>

 </html>

Posted by 전설의아이
|

CSS3 선택자

 

1. CSS3의 선택자 개요

 1) CSS 선택자(Selector)란?

 ● CSS 선택자 : 속성이 어디에 적용 되었는지 표시하는 역할을 함

 - 모든 CSS는 선택자의 조합으로 구성

 - 선택자의 종류는 매우 다양함

 선택자 { 속성 : 속성 값 ; } 속성 : 속성 값 ;

 ● Rule Set : HTML페이지 안의 특정요소들의 Rendering 하는 방법을 브라우저에 알려주는 문장

 - 스타일에 관한 규칙들을 집합처럼 나타냄

 - 문장들이 모여 스타일 시트 구성

 div {width : 960px ;}

 

 2) HTML, CSS, JavaScript 관계

 ● 웹 기술의 핵심요소 :HTML, CSS, JavaScript

 ● HTML : 웹 문서를 만들기 위하여 사용하는 기본적인 프로그래밍 언어

 ● CSS : 웹 문서의 전반적인 스타일을 미리 저장해둔 스타일시트

 ● JavaScript : 동적인 화면을 웹 페이지에 구현하기 위해 사용하는 스크립트 언어

 

 3) CSS 규칙의 종류

 ● CSS의 장점

 - 사용할 설정하기가 매우 쉬움

 - 플러그 인이나 소프트웨어가필요 없음

 - 단순한 규칙으로 이루어진 텍스트 파일

 ● HTML 선택자 : 태그가 보이는 방식을 재정의

 h1 { color : blue ; } // h1은 <h1> 태그에 대한 '선택자'

 ● 클래스 선택자 : 원하는 HTML 태그 모두에 적용 가능

 .maintext { color: red; align : center; }

 ● ID 선택자 : 모든 HTML 태그에 적용 가능

 #myhome { position : absolute; top : 5px; }

 

2. CSS3의 선택자 종류

 1) CSS3 선택자의 종류

 ● 태그 선택자 : 특정 태그에 스타일 적용할 때 사용

 - CSS 작성시 가장 기본이 되는 방식

 - HTML 태그에 직접 스타일 지정

 - 페이지 안에 있는 해당 태그 모두에 영향

 h1 { color : red; text-align : center; }

 <h1> 태그 선택자 사용!! </h1>

 <h2> h2 태그 사용 </h2>

 <h1> 태그 선택자 두 번째!! </h>

 ● 클래스 선택자 : 특정 부분에 스타일 적용할 때 사용

 - 스타일을 사용 하고자 하는 엘리먼트에 클래스 이름 지정

 - 정의한 스타일을 여러 엘리먼트에 적용하여 사용

 - 맨 앞에 .(마침표)를 붙이고 영문으로 클래스 이름 작성

 .cont { color : blue; text-align : center; }

 <h1 class="cont"> 클래스 선택자 </h1>

 <h2 class="cont"> 클래스 선택자 </h2>

 ● 아이디 선택자 : 특정 부분에 스타일 적용할 때 사용

 - 페이지 안에서 고유한 엘리먼트를 나타내기 위해 사용

 - HTML 엘리먼트에도 고유한 이름을 지어서 사용

 - 맨 앞에 #을 붙이고 영문으로 아이디 이름 작성

 #pos {text-align : center; }

 <h1 id="pos"> 아이디 선택자 </h1>

 ● 하위 선택자 : 모든 하위 요소에 스타일 적용할 때 사용

 - 선택자들간의 관계를 동시에 고려한 선택자

 - 선택자의 영향력 안에 들어 있는 특정 선택자를 가리킴

 - 부모 요소에 포함된 모든 하위 요소에 스타일 적용

 - 기존 태그 뒤의 태그에 자동으로 스타일을 적용시키고자 할 때 많이 사용

 p {color : red;}

 #pos {text-align : center;}

 <p>p태그 선택자 사용</p>

 <div id="pos">아이디 선택자</div>

 <p> 어떤 선택자의 영향을 받을까?</p>

 ● 전체 선택자 : 모든 요소에 스타일 적용할 때 사용

 - 페이지에 있는 모든 요소를 대상으로 스타일 적용

 - *를 선택자 이름으로 대신 사용

 *{ color : green; text-align : center; }

 <h1> 전체 선택자 </h2>

 <h2> 전체 선택자 </h2>

 <p> 전체 선택자</p>

 

 2) 태그 선택자 실습

 ● 태그 선택자를 활용한 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head> 

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>태그 선택자</title>

 <style type=text/css">

 h1{

 color : red;

 text-align : center;

 }

 </style>

 </head>

 <body>

 <h1>안녕하세요</h1>

 </h1>이 문장을 h1태그 선택자로 스타일이 입혀졌습니다. <h1>

 </body>

 </html>

 

 3) 클래스 선택자 실습

 ● 클래스 선택자를 활용한 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>클래스 선택자</title>

 <style type=text/css">

 .cont {

 color: blur;

 text-align: center;

 }

 </style>

 </head>

 <body class="cont">

 <h1>안녕하세요</h1>

 <h1>이 문장을 클래스 선택자로 스타일이 입혀졌습니다. </h1>

 </body>

 </html>

 

 4) 아이디 선택자 실습

 ● 아이디 선택자를 활용한 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head> 

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>아이디 선택자</title>

 <style type=text/css">

 #pos {

 text-align: center;

 }

 </style>

 </head>

 <body id="pos">

 <h1>안녕하세요</h1>

 <h1>이 문장을 아이디 선택자로 스타일이 입혀졌습니다.<h1>

 </body>

 </html>

 

 5) 하위 선택자 실습 

 ● 하위 선택자를 활용한 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>하위 선택자</title>

 <style type=text/css">

 p {

 color : blue;

 text-align : center;

 }

 #pos {

 color : red;

 }

 </style>

 </head>

 <body>

 <p>p태그 사용</p>

 <div id="pos">

 <h1>아이디 태그 사용</h1>

 <p>p태그 영향을 받음</p>

 </div>

 </body>

 </html>

 

 6) 전체 선택자 실습

 ● 전체 선택자를 활용한 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>전체 선택자</title>

 <style type=text/css">

 * {

 color: green;

 text-align: center;

 }

 </style>

 </head>

 <body>

 <p>전체 선택자 사용</p>

 <h1>모든 요소에 스타일 적용</h1>

 </body>

 </html>

Posted by 전설의아이
|

1 자바스크립트란 무엇인가요?

1.1 자바스크립트란?

 자바스크립트는 선마이크로시스템즈와 넷스케이프 사가 개발한 웹 브라우저용 스크립트 언어이다. 처음 자바스크립트를 만들었을 때 이 언어를 다음과 같이 정의했다.

 

 자바스크립트는 객체 기반의 클라이언트측 스크립트 언어로 웹 페이지를 동적으로 만드는 데 사용하는 언어이다.

 

 정의에서 중요한 단어들을 하나씩 풀이해 봄으로써 자바스크립트의 특징과 한계에 대해서 알아보겠다.

 

- 객체 기반

 자바스크립트에서 객체는 자바스크립트 그 자체를 의미한다라고 할 수 있을 정도로 매우 중요한 개념이다. 그 이유는 자바스크립트 자체가 객체 기반으로 돌아가는 스크립트 언어이기 때문이다. 그럼 객체의 의미는 무엇일까? 객체란 데이터와 그 데이터에 관련되는 동작을 모두 포함하고 있는 것을 말한다. 간단하게 말하면 객체는 자신의 정보를 가지고 있는 독립적인 주체라고 할 수 있다. 예를 들면 컴퓨터, TV, 사람들이 모두 자신만의 특성을 가진 객체라고 할 수 있다. 좀 더 자세한 내용은 뒤에 나오는 객체 장에서 자세히 알아보자. 여기서는 자바스크립트는 객체로 이루어졌다고만 알고 넘어가자.

 

- Client Side

 Client Side의 의미는 자바스크립트로 개발한 소스가 현재 사용하고 있는 컴퓨터로 다운로드되어 웹브라우저(Chrome, IE, Safari 등)를 통해 해석되고 동작한다는 뜻이다. 예를 들면 우리가 네이버에 접속하면 네이버 화면을 구성하기 위해서 개발된 자바스크립트, HTML, CSS 파일들이 컴퓨터에 다운로드되고, 이를 웹브라우저가 해석하여 화면을 그려주는 것을 의미한다. 검색 창에 검색 조건을 입력하고, 마우스로 조회 버튼을 클릭하면 웹브라우저가 다운로드 받은 자바스크립트를 이용하여 서버에 검색을 요청을 하고, 응답을 받아 화면에 보여준다.

 하지만 최근에는 common.js 라는 Spec이 나오고 Node.js라는 웹 서비스 프레임워크가 나오면서 Client Side에서 Sever Side까지 자바스크립트를 통해 개발할 수 있도록 그 활용 범위가 확장되었다. 이말은 Front End 에서 Back End까지 Full Stack을 자바스크립트 하나로 모두 개발이 가능하다는 의미이다. 조금이라도 어렵다고 느껴지면 그냥 넘어가도 된다. 당장은 몰라도 되는 내용이다.

 

- 스크립트 언어

 스크립트 언어는 C/C++와 자바처럼 컴파일을 해야 동작하는 언어가 아니다. 컴파일을 한다는 것은 우리가 이해할 수 있는 언어를 기계가 이해할 수 있는 언어로 번역한다고 생각하면 된다.예를 들자면 외국어를 우리가 이해하기 위해서 한글로 번역하는 것과 같은 의미이다. 번역을 위해서는 번역기가 필요하듯이 컴파일을 하기 위해서 컴파일러가 필요하다. 그런데 자바스크립트는 스크립트 언어이기 때문에 컴파일 작업이 필요 없다. 그래서 별도 컴파일러도 필요 없다. 그냥 에디터로 개발하고 웹 브라우저로 열면 끝이다. 다시 말하면, 개발자가 사용하기 편한 편집기(Text Editor)로 개발해서 저장한 후 컴퓨터에 설치되 있는 웹 브라우저를 이용하여 열어보면 바로 개발한 자바스크립트 소스의 동작을 확인할 수 있다. 그게 가능한 이유는 웹 브라우저에 탑재되어 있는 JavaScript Interpreter Engine이 해석해서 보여주기 때문이다. 그래서 중간에 컴파일 과정이 필요 없기 때문에 개발 생산성이 높다고 할 수 있다.

 

- 웹 페이지를 동적으로

 90년대까지만 해도 HTML으로만 만들어진 웹 페이지는 매우 정적이었다. 다시 말하면 웹 개발자가 한 번 만들어 놓으면 다시 변경할 때까지 사진처럼 항상 똑같은 모습만 보여줘야 하는 재미없는 웹 페이지만 개발이 가능했다. 하지만 자바스크립트가 나오면서 사용자가 발생시키는 이벤트에 따라 HTML/CSS의 스타일을 동적으로 변경시키면서 재미있고, Interactive한 화면을 만들 수 있게 되었다.

 

 지금까지의 내용을 정리하면 자바스크립트는 HTML만으로만들어진 정적인웹 페이지를 좀 더 화려한 UI와 사용자와 상호작용할 수 있는 재미있는 웹 페이지를 만들어 주기 위해서 개발된 스크립트 언어라고 이해하면 된다.

 

 그럼 자바스크립트가 우리에게 어떤 기능들을 제공해 주는지 알아보자.

 

1.2 자바스크립트의 기능들

 자바스크립트는 웹 브라우저에서 동작하기 위해 태어난 스크립트 언어라는 배경에서 알 수 있듯이 다른 일반 언어(C/C++, 자바)와 달리 웹 페이지를 조작하기 위해 필요한 기능들을 많이 가지고 있다.

 그 중 대표적인 몇 가지를 알아보겠다.

 1. HTML 페이지 변경 및 HTML 엘리먼트와 콘텐츠의 추가나 삭제(DOM)

 2. HTML과 CSS 엘리먼트의 Style 변경(DOM)

 3. 사용자가 발생하는 이벤트를 받아 상호작용(이벤트)

 4. Form의유효성 검증

 5. 웹 브라우저의 Cookie 조회 및 제어

 6. AJAX 라는 기술을 통해 서버와 비동기화 방식으로 통신

 

- 참고 -

 Ajax는 Asynchronous JavaScript and XML의 약자이다. 해석하면 비동기 JavaScript와XML이다.

 좀 더 자세히 말하면 XMLHttpRequest라는 API를 이용하여 서버와 브라우저간에 비동기적으로 데이터를 주고 받는 방식을 말한다. 서버와는 JSON, XML, 일반텍스트 등 다양한 형식의 정보를 주고 받을 수있게 해준다. 이런 특징으로 인해 페이지 전체를 리플레시 하지 않고 변경이 필요한 부분만 업데이트 할 수 있게 해준다.

 

자바스크립트는 웹 브라우저에서 동작하는 스크립트 언어라는 태생적 한계가 존재한다. 웹 브라우저를 통해 개발해 놓은 스크립트 소스를 누구든지 손쉽게 확인이 가능하기 때문에 보안상 문제가 있다. 그리고 OS(윈도우, 리눅스 등)에 직접 접근하지 못하기 때문에 파일 접근과 같은 기능을 하지 못한다. 하지만 이러한 한계를 극복하기 위해 다양한 도구 및 기법들이 나왔다. Uglyfy, Minify 기법을 통해 소스를 사람이 이해하기 힘들도록 변경하고 있다. 그 이외에도다양한 플러그인과 툴이 존재하고 있으며 지속적으로 개발되고 있으니 필요할 때 찾아서 사용하면 된다.

 

- 참고 -

 Minify 기법 : 불필요한 줄 바꿈, 공백 및 들여쓰기, 짧게 쓸 수 있는 긴 구문 축약, 스코프내 사용하지 않는 변수, 주석 삭제, 무의미한 메소드 호출 및 루프 제거 등을 통해 코드를 압축하는 기법을 말한다.

 Uglyfy 기법 : 자바스크립트 코드 자체를 분석하기 어렵게 난독화하는 것을 말한다. 예를들면, 변수명, 함수명을 다른 명칭으로 치환하거나, 일부 루틴을 문자열로 바꿔 변수에 담아 뒤섞거나 하는 방법들을 말한다. 난독호의 단계를 높일수록 루틴을 알아보기 어렵게 만들 수 있다.

 변수명, 함수명 치환 정도는 해석 및 실행 속도에서 성능 저하가 거의 없지만 난독화 단계를 높일수록 코드를 해석하고 실행하는 속도가 느려질 수 있다.

 

 자바스크립트는 가장 인기 있는 언어 중에 하나이며 웹 개발자 및 웹 디자이너가 되려는 사람이라면 반드시 알아야 하는 필수 언어이다. 다음은 매년 조사되고 있는 언어 인기 순위이다. 자바스크립트가 2014년도에 이어 2015년도에도 9위를 차지하고 있다. 앞으로 그 순위는 더 올라갈 것이다.

 

1.3 자바스크립트의 역사

 1990년대 초에 웹 페이지는 HTML 만으로 구성되어서 정적이었다. 즉, 그냥 그림 같았다.

 인터넷 사용자에게 높은 관심과 흥미를 끌기에는 부족한 부분이 많았다. 그래서 좀 더 화려하고 사용자들과 상호작용을 할 수 있는 기능을 제공해 주는 새로운 언어의 필요성이 높아졌다.

 당시에는 지금의 모질라(Mozilla), 파이어폭스(Firefox)의 전신이라 할 수 있는 넷스케이프(Netscape)와 인터넷 익스플로러(Internet Explorer)가 서로 경쟁하면서 시장을 주도하고 있던 시기였다. 넷스케이프 사에서 모카(Moca)라는 이름의 스크립트 언어를 먼저 만들었다. 그때가 1995년 5월이었다. 그 해 9월에 라이브스크립트(LivsScript)라는 명칭으로 변경되었다가 다시 자바를 개발한 선 마이크로시스템즈와 함께 손을 잡으면서 자바 스크립트라는 명칭을 공식적으로 사용하여 넷스케이프 2.0 베타 버전에 정식으로 탑재하여 발표하였다.

 이후 인터넷 익스플로러 진영에서도 VBScript(Visual Basic Script)와 Jscript라는 언어를 발표하면서 또 다시 경쟁이 시작되었다. 언제나 그렇듯 경쟁의 결과는 좋은 것과 나쁜 것이 동반하게 된다.

 일단 좋은 점은 기술을 선도하기 위해 많은 투자를 하게 되어 눈부신 기술적 발전을 했다. 반면 그에 따른 부작용도 발생했는데 웹 브라우저를 개발하는 각 회사마다 별도의 스크립트 언어 개발 경쟁이 심해지면서 브라우저마다 지원하는 언어와 해석하는 방법이 다양해지면서 개발자들이 웹 페이지를 개발하는데 어려움이 커졌다.

 

 그러면서 표준화에 대한 필요성이 높아지기 시작했고, 1996년 11월에 넷스케이프 사에서 스크립트 언어 표준화를 위해 ECMA에 자바스크립트를 제출하여 1997년에 처음으로 ECMA-262라느 명칭으로 표준이 승인되었다. 그리고 2015년 6월에 ECMA-262 6th Edition이 발표되었다. 현재는 거의 모든 브라우저에서 자바스크립트를 공식적으로 지원하고 있기 때문에 표준에 맞게 개발만하면 모든 브라우저에서 오류 없이 의도한대로 동작할 것이다.

 

- 참고 -

 ECMA(European Computer Manufactureres Association, 유럽 컴퓨터 제조 공업회: 프로그램 언어나 입출력 코드를 포함한 컴퓨터 작동의 형식을 표준화하는 것을 목적으로 1961년에 설립된 단체이다.

 

2. 자바스크립트의 활용

 그럼 자바스크립트를 가지고 어떤 분야에서 사용할 수 있는지 알아보자. 최근에는 자바스크립트를 통해 할 수 있는 분야가 무궁무진하다. 사용자들이 접하는 Front End단의 웹 페이지 개발부터 시작해서 Back End 단의 서버개발 그리고 별도의 애플리케이션 설치없이 웹 브라우저만 있으면 동작할 수 있는 웹 애플리케이션 등 프로그래밍 언어로 개발할 수 있는 거의 모든 것을 개발할 수 있다. 대표적인 사례들을 지금부터 알아보고 본격적으로 자바스크립트를 배워보도록 하겠다.

 Front-End = JS, CSS, Image, HTML

 Back-End = PHP, Server, Spring, MySQL

 

2.1 웹 페이지 개발

 그림 1-3은 우리가 매일 보는 네이버 메인 화면이다. 더 이상 설명이 필요 없는 대한민국 대표 웹사이트이다. 자바스크립트를 사용하여 우리들에게 다양한 화면과 서비스를 제공해 주고 있다. 마우스를 클릭하면 이벤트를 발생시켜 다른 페이지로 이동하거나 검색을 하는 등의 해당 기능에 맞는 다양한 동작을 하도록 개발되어 있다. 웹 화면에서 마우스 올느쪽 버튼을 눌러 팝업 메뉴에 나오는 '소스보기'를 하면 바로 확인이 가능하다. 소스가 너무 방대해서 이해하는 건 어려우니 그냥 확인만 하기 바란다.

 

2.2 서버 개발

 Node.js 는 common.js 스펙을 따르는 웹 서비스 프레이워크다. 자바스크립트로 개발한 웹 서비스를 동작할 수 있게 해준다. LinkedI은 이 Node.j를 기반으로 자바스크립트로 서버를 개발하여 글로벌 서비스를 아무런 문제 없이 제공해 주고 있다. 스크립트 언어의 성능 및 기능 제약으로 고색들에게 운영되는 엔터프라이즈급 서비스에서 자바스크립트로 서버를 개발하는데 한계가 있었지만 최근 몇 년 사이에 Node.js와 같은 성능 좋은 프레임워크와 하드웨어의 발전으로 자바스크립트를 통해 충분히 서비스를 제공할 수 있게 되었다. 웹 브라우저 및 IT 기술들이 꾸준히 발전하면서 자바스크립트의 활용 범위가 점점 넓어지고 있는 추세이다.

 

- 참고-

Node.js : 아래 그림과 같이 서버사이드에서 자바스크립트로 개발된 소스를 동작시키는 기술이다. 기존에는 PHP, JAVA 등올만 개발되었지만Chrome V8 자바스크립트 엔진이 탑재된 Node.js가 세상에 나오면서 자바스크립트로도 서버사이드 개발이 가능해졌다. 자세한 설명은 이 책 마지막에서 MEAN Stacj을 배우면서 자세히 하겠다. 여기서는 아래 그림만 알면 충분하다.

CommonJS : 자바스크립트를 브라우저에서뿐만 아니라 서버사이드 애플리케이션이나 데스크톰 애플리케이션에서도 사용하려고조직한 자발적 워킹그룹이다. 관련 자세한 내용을 알고 싶으면 공식 홈페이지인 http://www.coomonjs.org에 확인해보길 바란다.

 

2.3 애플리케이션 개발

 학교나 회사에서 문서 작업을 위해 MS Office 나 아래 한글과 같은 오피스 프로그램을 많이 사용할 것이다. 이 오피스 기능을 동일하게 제공해 주는 웹 오피스를 구글에서 Google Doc이라는 서비스로 제공해 주고 있다. 웹 브라우저로 접속하여 온라인으로 바로 사용할 수 있다. Google Doc은 자바스크립트를 통해 개발된 웹 애플리케이션이다. 아직 사용해보지 않았다면 한 번 사용해 보길 바란다. 라이선스가 Free이고 인터넷만 되면 어디서든 사용이 가능하다. 지금 이 책도 Google Doc을 통해 작성되고 있다.

 

3. 개발 환경 세팅하기

 그럼 지금부터 자바스크립트를 통해 개발하기 위한 개발 환경을 구성하겠다. 앞에서 설명했지만 자바스크립트는 웹 브라우저에서 동작하는 스크립트 언어이다. 컴퓨터에 웹 브라우저가 설치되어 있다면 준비는 끝났다.

 하지만 우리는 도구를 사용하는 사람인 호모 파베르(Home Faber)이기 때문에 개발 및 디버깅(debugging)을 좀 더 쉽게 할 수 있는 도구를 사용하여 공부를 하겠다.

 먼저 개발 툴(Tool)은 Sublime Text를 사용하겠다. 가볍고 빠르며 확장성도 좋아서 개발자들 사이에서 많이 사용되고 있는 편집 툴이다. 그리고 웹 브라우저마다 개발자 도구를 지원하고 있다. 우리는 구글 크롬을 메인 웹 브라우저로 사용할 것이기 때문에 크룸 개발자 도구를 사용하겠다. 그럼 각 툴을 어떻게 설치하고 사용해야 하는지 간단히 알아보자.

 

3.1 Sublime Text 설치

  Sublime Text 2를 설치해보자. 현재 Sublime Text 3도 배포하고 있지만 아직 베타 버전이라 나중에 정식 버전이 배포되면 그 때 사용해보는 걸로 하자. 버전이 다를 뿐 설치 방법은 동일하다. 대부분의 개발자 컴퓨터는 맥 또는 윈도우이기 때문에 두 OS에 대해서만 설치를 해볼 예정이다. 설치 파일은 Sublime Text 홈페이지에서 다운로드 받으면 된다.

 

 다운로드 URL : http://www.sublimetext.com/2

 

3.1.1 Mac에 설치

 Download Page에서 Mac용 설치 파일을 다운로드받는다. Sublime Text 2 다운로드 화면에서 OS C라는 텍스트를 마우스로 더블 클릭하면 설치 파일인 Sublime Text x.x.x.dmg 파일이 다운로드된다. 다운로드 시점에 따라 버전이 달라지기 때문에 파일명도 약간 바뀔 수 있으니 신경 쓰지 않아도 된다.

 

 다운로드된 dmg 파일을 마우스로더블클릭하면 자동으로 설치된다. 설치가 완료되면 아래 폴더와 같이 설치 내역이 화면에 보이게 된다.여기서 Sublime Text 2라고 쓰여있는 아이콘을 실행시켜서 편집 창이 나오면 정상적으로 설치된 것이다.

 

3.1.2윈도우에 설치

 다운로드 페이지에서 개인 컴퓨터에 설치된 Windows bit(32/64bit)에 맞는 걸로 다운로드 받아야 한다. 32bit 윈도우가 설치된 컴퓨터에 64bit용 프로그램을 설치하면 정상적으로 동작하지 않을 수 있으니 꼭 확인하기 바란다. 확인하는 방법은 다음과 가이시스템 정보에서 확인하면 된다.

 

 본인의 컴퓨터 환경을 알았다면sublime 사이트에 가서 윈도우 버전의 설치 파일을다운로드 받는다.

 

 다운도르된 실행 파일을 실행하면 설치 완료가 된다. Sublime Text자체도 좋은 편집 도구이지만더 막강한 기능들은 플러그인을 추가해야 한다. 관련 내용은 Sublime Text 사이트나 기타 검색을 통해서 각자에게 필요한 플러그인을 찾아서 설치하면 된다. 이제 자바스크립트를 배우기 위해 필요한 모든 환경이 구성이 되었다. 지금부터 하나씩 배워보자.

 

- 참고 -

 Package Plugin을 설치하기 위한 단축키는 아래와 같다.

 Ctrl + shift + P > Package Control : Install Package > Enter

  조금 기다리면 아래와 같이 Package List가 나오는데 이때 설치하려는 Package를 검색하여 선택하면 된다. 아래와 같이 Input Box에서 설치하려는 Package명을 입력하면 된다.

 

Posted by 전설의아이
|

CSS3 레이아웃 및 HTML5 적용

 

1. CSS3의 레이아웃

 1) 블록 레벨 요소와 인라인 레벨 요소

 ● 블록 레벨 요소 : 태그를 사용하여 요소를 삽입했을 경우 혼자서 한 줄을 차지하는 요소

 - 해당 요소의 왼쪽이나 오른쪽에 다른 요소가 올 수 없음

 - <div>, <p> 태그 등이 대표적인 블록 레벨 요소를 만드는 태그

 ● 인라인 레벨 요소 : 줄을 차지하지 않는 요소

 - 화면에 표시되는 콘텐츠 만큼만 영역을 차지하며 그 외의 공간에는 다른 요소가 와도 상관 없음

 - 한 줄에 여러 개의 인라인 레벨 요소를 표시할 수 있음

 - <img>, <strong> 태그 등이 대표적인 인라인 레벨 요소를 만드는 태그

 

 2) display 속성

 ● display 속성 : 요소를 어떻게 보여줄 것인지 지정하는 것

 - 사용할 수 있는 속성 값들이 너무 많음

 - 이 값들을 브라우저에서 모두 지원하지 않음

 display : 속성 값;

 ● display 속성을 활용하여 텍스트들이 인라인 레벨 박스 형태로 보여지는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 </head>

 <style type="text/css">

 ul li {

 display: inline;

 float: left;

 }

  </style>

 </head>

  <body>

  <div>

   <ul>

    <li> 사과 </li>

    <li> 바나나 </li>

    <li> 수박 </li>

   </ul>

  </div>

  </body>

 </html>

 ● display 속성을 활용하여 세로로 정렬되어 있는 박스를 가로로 정렬되도록 하는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 <head>

 <style type="text/css">

 div {

 display: inline;

 float: left;

 width: 100px;

 height: 100px;

 margin: 10px 5px;

 paddingL 5px;

 border: 2px solid black

 }

 .ex1 { background: lightblue; } 

 .ex2 { background: lightgreen; } 

 .ex3 { background: lightyellow; }

 </style>

 </head>

 <body>

 <div class = "ex1">첫 번째</div>

 <div class = "ex2">두 번째</div>

 <div class = "ex3">세 번째</div>

 </body>

</html>

 

 3) 원하는 형태의 배치 스타일

 ● position 속성 : 웹 문서 안의 요소들을 자유자재로 배치해 주는 속성

 - HTML 과 CSS를 이용해 웹 문서를 만들 때 중요하게 사용하는 속성 중 하나

 - 텍스트나 이미지 등 여러 개의 요소를 원하는 위치에 배치 할 수 있음

 position : 속성 값;

 속성 값

내용 

static 

요소를 문서의 흐름에 맞춰 배치 

relative 

이전 요소에 자연스럽게 연결하여 배치 

absolute 

원하는 위치를 지정하여 배치 

fixed 

지정한 위치에 고정하여 배치(요소가 화면에서 잘릴 수도 있음) 

 

 ● visibility 속성 : 요소를 보이게 하거나 보이지 않게 하기

 - 특정 요소를 화면에 보이게 하거나 보이지 않게, 또는 겹치게 설정

  visibility : 속성 값;

 속성 값

내용 

visible 

요소를 화면에 표시함(기본 값) 

hidden 

요소가 화면에서 감춰짐 (크기는 그대로 유지하기 때문에 배치에 영향을 줌) 

collapse 

표의 행렬이나 열, 행 그룹, 열 그룹 등에서 지정하면 서로 겹치도록 조절 

inherit 

부모 요소의 visibility 속성을 상속 

 

 ● z-index 속성 : 요소 쌓는 순서 정하기

 - CSS에서 각 요소는 수평이나 수직 이동뿐만 아니라 한 요소 위에 다른 요소를 쌓는 z 축도 고려해야 함

 - z-index 값이 작을수록 아래에 쌓이고, 큰 값이 위로 쌓임

 - z-index 값을 명시하지 않을 경우에는 기본 값으로 z-index:1으로 설정됨

 

 ● position  속성에 relative 값을 적용해보는 실습 에제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 <style type="text/css">

 .pos1 {

 position:static;

 background: lightblue;

 }

 .pos2 {

 position: relative;

 left: 10px;

 top: 10px;

 background: lightgreen;

 }

 .pos3 {

 position: static;

 background: lightyellow;

 }

 </style>

 </head>

 <body>

 <div class = "pos1">첫 번째</div>

 <div class = "pos2">두 번째</div>

 <div class = "pos3">세 번째</div>

 </body>

 </html>

 

 ● visibility 속성에 hidden 값을 적용해보는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 <style type="text/css">

 .visible {

 visibility: visible;

 }

 .hidden {

 visibility: hidden;

 }

 </style>

 </head>

 <body>

 <img class = "visible" src="images/test.png">

 <img class = "hidden" src="images/test.png">

 <img class = "visible" src="images/test.png">

 </body>

 </html>

 

 ● z-index 속성을 활용하여 이미지 요소를 쌓는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 <style type="text/css">

 .index1 {

 position: absolute;

 left: 10px;

 top: 10px;

 z-index: 2;

 }

 .index2 {

 position: absolute;

 left: 180px;

 top:20px;

 z-index: 1;

 }

 .index3 {

 position: absolute;

 left: 25px;

 top: 160px;

 z-index:3;

 }

 </style>

 </head>

 <body>

 <img class = "index1" src=images/test.png>

 <img class = "index2" src=images/test.png>

 <img class = "index3" src=images/test.png>

 </body>

 </html>

 

2. CSS3와 HTML5 연동

 1) 인라인 스타일

 ● 인라인 스타일 : 한 줄짜리 스타일을 뜻하며 태그 안에 직접 지정하여 사용하므로 HTML 과 섞어서 사용

 <p style="background-color: red; color : white;"> 인라인 스타일!! </p>

 ● 인라인 스타일을 활용하여 텍스트 배경 색상과 텍스트 색상이 인라인 스타일로 보여지는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 </head>

 <body>

 <p style="background-color: red; color : white;"> 인라인 스타일!! </p>

 </body>

 </html>

 

 2) 내부 스타일

 ● 내부 스타일 : HTML 파일 안에 별도 영역으로 스타일을 정의하며 일반적으로

 <head>...</head>

 안에서 사용

 <style type="text/css">

 p {

 background-color :red;

 color : white;

 }

 </style>

 ● 인라인 스타일을 활용하여 텍스트의 배경 색상과 테스트 색상을 변경하는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 <style type="text/css>

 p {

 background: red;

 color: white;

 }

 </style>

 </head>

 <body>

 <p> 인라인 스타일!! </p>

 </body>

 </html>

 

 3) 외부 스타일

 ● 외부 스타일 : 스타일 내용을 별도의 페이지로 빼서 사용하는 방법

 ● 외부 스타일을 적용하기 위한 HTML 실습 예제 

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title>무제 문서</title>

 </head>

 <body>

 <p> 인라인 스타일!! </p>

 </body>

 </html>

 ● 외부 스타일을 적용하기 위한 CSS 실습 예제 

 p {

 background: red;

 color: white;

 }

'Legend 개발자 > CSS3' 카테고리의 다른 글

No.005.CSS3 좌표계 [2017-05-19]  (0) 2017.05.19
No.004.CSS3 선택자 [2017-05-19]  (0) 2017.05.19
No.002.CSS3 스타일링 [2017-05-17]  (0) 2017.05.17
No,001.CSS3의 개요 [2017-05-17]  (0) 2017.05.17
Posted by 전설의아이
|

CSS 스타일링

 

1. 텍스트 관련 스타일

 1) 글꼴 스타일

 ● font-family : 글꼴 지정하기

 - 웹 문서에서 사용할 글꼴을 지정

 - <body> 태그, <p> 태그, <hn>(n=1,2,3,4,5,6) 태그처럼 텍스트를 사용하는 요소들에서 주로 사용

 - 지정한 글꼴이 없을 경우를 대비해 두 번째, 세 번째 글꼴 지정 가능

 - <body> 스타일에서 한 번 정의하면 문서 전체에 적용(상속됨)

 p { font-family : "글꼴이름" ["글꼴 이름", 글꼴 이름"]}

 ● @font-face : 웹 폰트 사용하기

 - CSS3에서는 웹폰트를 표준으로 채택

 - 웹 문서를 작성할 때 웹 문서 안에 글꼴 정보를 함께 저장

 - 사용자가 웹 문서에 접속하면 글꼴을 사용자 시스템에 다운로드 하게 함

 @font-face {font-family : 글꼴 이름; src:url(글꼴 파일 경로) format (파일유형); }

 ● font-size : 글자 크기 조절하기

 - CSS3에서는 웹 폰트를 표준으로 채택

 - 웹 문서를 작성할 때 웹 문서 안에 글꼴 정보를 함께 저장

 - 사용자가 웹 문서에 접속하면 글꼴을 사용자 시스템에 다운로드 하게 함

 ● font-style : 글자를 이탤릭체로 표시하기

 - 글자를 이탤리체로 표현할지 여부 결정

 font-style : 속성 값;

 

2) font-family 실습

 ● font-family를 사용하여 폰트를 변경하는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300" rel="stylesheet" type="text/css" />

 <style type="text/css">

 p { font-family:'Open Sans' ;}

 </style>

 </head>

 <body>

 font-family를 사용하지 않은 일반적인 텍스트 !!!

 <p> font-family를 이용하여 폰트를 적용한 텍스트 !!! </p>

 </body>

</html>

 

 3) @font-face 실습

 ● @font-face를 사용하여 폰트를 변경하는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 <style type="text/css">

 @font-face {

 font-family: "Bitstream Vera Serif Bold";

 src: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");

 }

 p { font-family: "Bitstream Vera Serif Bold", serif }

 </style>

 </head>

 <body>

 @font-face를 사용하지 않은 일반적인 텍스트 !!!

 <p> @font-face를 사용한 텍스트 !!! </p>

 </body>

</html>

 

 4) font-size, font-style 실습

 ● font-size, font-style을 사용하여 폰트를 변경하는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 </head>

 <style type="text/css">

 .no1 {

 font-size: 20px;

 font-style: normal;

 }

 .no2 {

 font-size: 30px;

 font-style: italic;

 }

 .no3 {

 font-size: 40px;

 font-style: oblique;

 }

 </style>

 <body>

 <p class = "no1"> font-style 속성 값 : normal </p> 

 <p class = "no2"> font-style 속성 값 : italic </p> 

 <p class = "no3"> font-style 속성 값 : oblique </p>

 </body>

</html>

 

 5) 텍스트 스타일

 ● direction : 텍스트 쓰기 방햐을 지정

 - 기본적으로 왼쪽에서 오른쪽 표시

 - direction 속성을 이용하여 오른쪽에서 왼쪽으로 표시 가능

 p { direction : 속성값; }

 ● text-align : 텍스트 정렬하기

 - 문단의 텍스트 정렬 방법 지정

 text-align : 속성 값;

 ● text-decoration : 텍스트에 줄 표시하기

 - 텍스트에 밑줄을 긋거나 가로지르는 줄을 표시

 - 텍스트 링크의 밑줄을 없앨 때 주로 사용

 text-decoration : 속성 값;

 

 6) direction 실습

 ● direction을 사용하여 텍스트를 이동시키는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 </head>

 <style type="text/css">

 .direction1 {

 direction : ltr;

 }

 .direction2 {

 direction : rtl;

 }

 </style>

 <body>

 <p class = "direction1"> 텍스트를 왼쪽에서 오른쪽으로 표시 </p>

 <p class = "direction2"> 텍스트를 오른쪽에서 왼쪽으로 표시 </p>

 </body>

</html>

 

 7) text-align 실습

 ● text-align을 사용하여 텍스트를 이동시키는 실습 에제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 </head>

 <style type="text/css">

 .aligh_left {

 text-align: left;

 }

 .aligh_right {

 text-align: right;

 }

 .aligh_center {

 text-align: center

 }

 .aligh_justify {

 text-align: justify;

 }

 </style>

 <body>

 <p class = "aligh_left"> 텍스트 왼쪽 정렬!!! </p> 

 <p class = "aligh_right"> 텍스트 오른쪽 정렬!!! </p> 

 <p class = "aligh_center"> 텍스트 가운데 정렬!!! </p> 

 <p class = "aligh_justify"> 텍스트 양쪽 정렬!!! </p>

 </body>

</html>

 

 8) text-decoration 실습

 ● text-decoration을 사용하여 텍스트를 이동시키는 실습 에제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 </head>

 <style type=t"ext/css">

 .decoration1 {

 text-decoration: none;

 }

 .decoration2 {

 text-decoration: underline;

 }

 .decoration3 {

 text-decoration: overline;

 }

 .decoration4 {

 text-decoration: line-through;

 }

 </style>

 <body>

 <p class = decoration1> 텍스트 밑줄표시하지 않기!!! </p> 

 <p class = decoration2> 텍스트 밑줄 표시!!! </p> 

 <p class = decoration3> 텍스트 영역 위로 선 표시!!! </p> 

 <p class = decoration4> 텍스트 영역을 가로지르는 선 표시!!! </p>

 </body>

</html>

 

2. 테두리 관련 스타일

 1) 박스 관련 스타일

 ● margin : 요소 바깥쪽 여백 설정하기

 - margin-top, margin-right, margin-bottom, margin-left

 - 요소의 바깥 위쪽, 오른쪽, 아래쪽, 왼쪽 margin 설정

 - 네 가지 속성을 한 번에 사용할 수 있음

 ● padding : 콘텐츠 영역과 테두리 사이 여백 설정하기

 - padding-top, padding-right, padding-bottom, padding-left

 - 요소의 위쪽, 오른쪽, 아래쪽, 왼쪽 padding 설정

 - 네 가지 속성을 한번에 사용할 수 있음

 ● border-radius : 박스 모서리 둥글게 만들기

 - 지금까지 박스의 모서리를 부드럽게 만들 때 그래픽이나 자바스크립트를 이용함

 - border-radius 속성을 이용하여 모서리 부분을 손쉽고 다양하게 처리 가능

 - 각각의 모서리 별로 다르게 만들 수 있음

 

 2) margin 실습

 - margin을 사용하여 텍스트를 배치하는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 </head>

 <style type="text/css">

 p {

 margin-top: 50px;

 marginright: 100px;

 margin-bottom: 50px;

 margin-left: 100px;

 }

 </style>

 <body>

 <p> 마진 속성 값 실습하기 !!! </p>

 </body>

</html>

 

3) border-radius 실습

 ● border-radius를 사용하여 둥근모서리의 사각형을 만드는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 </head>

 <style type=text/css">

 .radius1 {

 border-radius: 5px;

 border: 3px solid;

 }

 .radius2 {

 border-radius: 10px;

 border: 3px solid;

 }

 .radius3 {

 border-radius: 20px;

 border: 3px solid;

 }

 </style>

 <body>

 <div class="radius1">반지름이 5px인 둥근 사각형</div><br>

 <div class="radius2">반지름이 10px인 둥근 사각형</div><br>

 <div class="radius3">반지름이 20px인 둥근 사각형</div><br>

 </body>

</html>

 

 4) 테두리 관련 스타일

 ● border-width : 테두리 두께 지정학

 - border-top-width, border-right-width, border-bottom-width, border-left-width

 - 위쪽, 오른쪽, 아래쪽, 왼쪽의 테두리 두께를 지정

 - 네 가지 속성을 한 번에 사용할 수 있음

 border-width : 키워드 | 크기 값;

 ● border-color : 테두리 색상 지정하기

 - border-top-color, border-right-color, border-bottom-color, border-left-color

 - 위쪽, 오른쪽, 아래쪽, 왼쪽의 테두리 색상을 지정

 - 불필요함

 - 네 가지 속성을 한번에 사용할 수 있음

 border-color : 속성 값;

 ● border-style : 테두리 선스타일 지정하기

 - border-top-style, border-right-style, border-bottom-style, border-left-style

 - 위쪽, 오른쪽, 아래쪽, 왼쪽의 테두리 선스타일을 지정

 - 네 가지 속성을 한 번에 사용할 수 있음

 - 기본 값은 none-따로 지정하지 않으면 테두리가 화면에 표시되지 않음

 border-style : 속성 값;

 

 5) 테두리 관련 속성 실습

 ● border-width, border-color, border-style을 활용하여 테두리 속성을 변경해보는 실습 예제

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 <title> 무제 문서 </title>

 </head>

 <style type="text/css">

 p {

 border-width: thick;

 border-color: blue;

 border-style: solid;

 }

 </style>

 <body>

 <p> 테두리 관련 속성들 실습하기 !!! </p>

 </body>

</html>

Posted by 전설의아이
|

1. CSS의 개요

 

1.CSS의 개요 및 CSSx와의 차이점

 1) CSS3의 개요

 ● CSS : 웹 문서의 전반적인 스타일을 미리 저장해 둔 스타일시트

 - CSS를 적용하면 웹 페이지의 한 가지 요소만 변경해도 전체 페이지의 내용이 한꺼번에 변경할 수 있음

 - 기존 태그로 콘텐츠를 보여주는 방식을 재정의하여 HTML의 기능을 개선하는 별도의 스타일시트 언어

 ● CSS의 장점

 - 작은 용량, 이해하기 쉬운 구조

 - Table 코딩에 비행 보통 50%정도 코드 절약

 - 디자인과 웹 구조의 완벽한 분리

 - 웹 표준에 맞는 사이트 제작

 - W3C에서 웹 표준 정의

 

 2) 스타일 형식

 ● 검은색으로 된 텍스트 단락 글자를 파란색으로 변경하기 위한 예제

 - p{ color : blue; }

 

 3) CSS의 동작 방식

 (1) 방문자가 주소창에 주소를 입력하거나 링크를 클릭하여 웹 페이지 열기

 (2) 서버는 HTML 파일과 연결되거나 HTML 파일에 포함된 다른 파일과 함께 HTML 파일을 방문자의 컴퓨터로 전송

 (3) CSS 코드의 위치와 상관없이 방문자의 브라우저는 CSS를 해석하고 이를 HTML에 적용

 (4) 브라우저는 렌더링 엔진을 사용해 웹 페이지를 렌더링하고 이를 브라우저 창에 출력

 

 4) CSS를 사용하여 텍스트 색상 변경하기 실습

 ● CSS를 사용하여 텍스트 색상 변경하는 실습 예제

 <!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:script src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title>텍스트 색 변경하기</title>

  <style type="text/css">

  h1 { color: red; }

  p { color: blue; } 

  </style>

  </head>

  <body>

   <h1> CSS 사용한 후 텍스트 색!!! </h1>

   <p> CSS를 사용하여 간편하게 텍스트의 색을 변경할 수 있다!!! </p>

  </body>

 </html> 

 

 5) CSS3와 CSSx의 차이점

 ● CSS1

 - W3C는 1996년에 첫 번째 CSS 공식 버전 발표

 - 텍스트 서식, 폰트 설정, 마진 설정 같은 CSS와 관련한 핵심 기능 포함

 - 넷스케이프4, 인터넷 익스플로러 3,4에서 지원함

 ● CSS2

 - 1998년에 발표되었으며 현대 브라우저에서 가장 많이 채택되어 사용하고 있음

 - 앞 버전의 모든 속성을 포함하고 국제적인 접근성 및 미디어 관련 CSS를 지정하는데 초점을 둠

 - 2006년에 CSS2.1 수정 버전 발표

 - 일부 에러 수정 및 몇 가지 이슈를 명확히 정리하였음

 ● CSS3

 - 모든 명세를 포함한 단일 형태의 CSS3는 존재하지 않음

 - 한번에 전체 명세를 발표하는 대신 일련의 모듈로 명세를 분할 하였음

 - 각 모듈은 각자 별도의 개발 일정을 가지고 개발을 진행하고 있음

 

2. CSS3와 HTML5 관계

 1) CSS와 HTML

 ● 웹 기술의 세 가지 핵심 요소

 - 명사 HTML

 - 동사 JavaScript

 - 형용사와 부사 CSS

 ● CSS 사용시 얻을 수 있는 장점

 - 설정이 용이

 - 플러그인이나 소프트웨어가 불필요함

 - 단순 규칙으로 이루어진 텍스트

 ● CSS 규칙의 종류

 - HTML 선택자

 - 클래스

 - ID

 ● HTML 선택자 : HTML 태그의 텍스트 영역

 - HTML 선택자는 CSS 규칙에서 태그가 보이는 방식을 재정의

 h1 { color : blue; }

 는

 <h1>.....</h1>에 스타일을 적용한다.

 ●클래스 : 다수의 엘리먼트에 스타일을 적용하고자 할 때 사용

 - 클래스 선택자는 가장 다용도로 사용할 수 있음

 <엘리먼트 class="클래스 이름"></엘리먼트>

 ●ID : 클래스 선택자와 비슷하게 ID 규칙은 모든 HTML 태그에 적용

 - ID 선택자는 자바스크립트 함수에서 객체를 사용할 수 있도록 특정 페이지상에서 특정 HTML 태그에 한 번만 적용해야 함

 #myhome {position : absolute; top : 5px;}

 는

 <h1 id="myhome">......</h1>에 적용한다.

 

 2) HTML에서 CSS를 사용하는 방법

 ● 인라인 스타일 : 한 줄짜리 스타일을 뜻함

 - 태그 안에 직접 지정하여 사용(HTML과 섞어서 사용)

 - 태그에 직접 스타일을지정할 때 손쉽게 이용할 수 있음

 - 많이 작성할 경우 나중에어느 곳에 있는지 알아내기 어려움

 - 유지, 보수 면에서 볼 때 가급적 사용을 자제하는 것이 좋음

 <p style="background-color : red; color : white;"> 인라인 스타일!! </p>

 ● 내부 스타일 : HTML 파일 안에 별도 영역으로 스타일을 정의함

 - 일반적으로 <head>...</head> 안에서 사용

 - 영향을 주는 범위는 페이지 안의 전체 태그

 - HTML 문서 하나가 고유한 CSS 내용을 가질 때 사용

 <style type="text/css">

 h1 {

 background-color : red;

 color : white;

 }

 </style>

 ● 외부 스타일 : 스타일 내용을 별도의 페이지로 빼서 사용하는 방법

 - 하나의 스타일로 여러 개의 HTML 페이지에 적용하여 사용하므로 유지 및 보수가 편리

 - 각각의 HTML 페이지 문서느 <head> 섹션 안에 <link> 태그를 사용하여 스타일 페이지와 연결

 - 스타일 시트 파일으 확장자는 css

 - main.html ↔ style.css ↔ sub.html

Posted by 전설의아이
|

9. W3C HTML 웹 표준 및 간단한 웹 페이지 만들기

 

1.W3C HTML 웹 표준 인증 받기

 1) 웹 페이지의 타입을 지정하는 선언문

 ● DOCTYPE(Document Type) :문서 유형을 정의하는 구문

 - 그 자체가 태그는 아니며, 웹 페이지의 맨 처음에 선언

 - 어떤 종류의 html을 사용할지를 웹 브라우저에 알림

 ● HTML5 태그를 사용할 때 DOCTYPE 선언 방법

 <!DOCTYPE HTML>

 ●XHTML1.0 태그를 사용할 때 DOCTYPE 선언 방법

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 ●DTD(Document Type Difinition) : 현재 사용하는 HTML 버전에서 사용할 수 있는 태그를 알려주는 지침

 - 하나의 DOCTYPE 선언을 통해 하나의 DTD와 결합

 - HTML5 는 DTD 범주가 없음

 ●Strict : 엄격한 HTML 표준을 따름

 - 시맨틱 마크업에 적합하지 않은 엘리먼트 사용하지 않음

 - Font, center, frame 등 총 14가지 엘리먼트 사용 금지

 ●transitional : 변화에 맞춰 사용하지 않는 엘리먼트 사용 금지

 - Frame, frameset 2가지 엘리먼트 사용 금지

 - Strict 에 비해 넓은 범위를 허락해주기 때문에 국내 환경에 적함

 ●frameset: 초창기 방식을 그대로 사용

 - 이전 HTML의 모든 엘리먼트 사용 가능

 

 2) HTML 웹 표준 인증 받기(https://validator.kldp.org/)

 ●웹 문서의 Markup 유효성 검사 : 태그가 올바르게 작성되었는지 확인하는 검사

<!doctype html>

 <head>

  <meta charset="UTF-8">

  <title>Testpage</title>

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

 </head>

 <body>

<!-- start header -->

  <header>

    <div class="container1">

    <!-- start title -->

    <h1 class="fontface" id="title"><a href="index.html" class="grn"><img src="logo.png" height="80"/></a></h1>

    <!--end title -->

    <!--start menu -->

   <nav>

    <ul>

     <li><a href="index.html" class="grn">홈</a></li>

     <li><a href="study.html" class="pnk">스터디</a></li>

     <li><a href="#" class="orng">사진모음</a></li>

     <li><a href="#" class="blu">자유글</a></li>

     <li><a href="#" class="prpl">소개</a></li>

    </ul>

   </nav>

  </div>

  <div class="bottom"></div>

  <!-- end menu -->

  <!-- end header -->

  </header>

  <div id="container">

   <section id="main"><!-- #main content and sidebar area -->

    <aside id="sidebar1"><!-- sidebar1 -->

    <div style="padding-left:0px;padding-top:10px;">

   <ul>

    <li><a href="#">로그인</a></li>

    <li><a href="#">회원정보</a></li>

    <li><a href="#">마이페이지</a></li>

    <li><a href="#">마이메뉴</a></li>

   </ul>

  </div>

  <div style="padding-left:0px;padding-top:10px;">

   <ul>

    <li><a href="#">바로가기</a></li>

    <li><a href="#">링크</a></li>

   </ul>

  </div>

 </aside><!--end of sidebar1 -->

  <section id="content"><!-- #content -->

   <article style="border:1px dashed #BDBDBD;">

    <h3 style="background-color:rgb(190,190,190);padding-left:0px;padding-top:10px;"><a href="#">프로그램 개발자 과정 과목</a></h3>

    <div style="padding-left:5px:padding-right:5px;">

     <p>HTML/CSS <span style="float:right;"><a href="#"><img src="extend.png" width="15" height="15"/></a></span></p>

     <p>Java <span style="float:right;"><a href="#"><img src="extend.png" width="15" height="15"/></a></span></p>

     <p>DBMS <span style="float:right;"><a href="#"><img src="extend.png" width="15" height="15"/></a></span></p>

     <p>JSP <span style="float:right;"><a href="#"><img src="extend.png" width="15" height="15"/></a></span></p>

     <p>Spring <span style="float:right;"><a href="#"><img src="extend.png" width="15" height="15"/></a></span></p>

     </div>

    </article>

    <article style="border:1px dashed #BDBDBD; margin-top:5px;>

    <h3 style="background-color:rgb(190,190,190);padding-left:0px;padding-top:10px;"><a href="#">필수과정</a></h3>

     <div style=padding-left:5px;padding-right:5px;">

     <p>요구사항 확인</p>

     <p>애플리케이션 구현</p>

     <p>개발자 테스트</p>

     <p>정보시스템 이행</p>

     <p>제품 소프트웨어 패키징</p>

     <p>화면 구현</p>

     <p>DB구현</p>

     <p>SQL활용</p>

     </div>

    </article>

   </section><!--end of #content -->

  <aside id="sidebar2"><!--sidebar2 -->

  <h3 class="fontface">팀별</h3><br>

   <ul>

    <li><a href="#">팀목록</a></li> 

    <li><a href="#">팀별팀원</a></li>

    <li><a href="#">팀별프로젝트</a></li>

   </ul>

   <h3 class="fontface">일정</h3><nr>

   <ul>

    <li><a href="#">05.25.11- 팀원구성</a></li>

    <li><a href="#">05.31.11- 팀장선출</a></li>

  

중략...

  

   </ul>

  </aside><!-- end of sidebar -->

 </section><!--end of #main content and sidebar -->

</div>

 <!-- start footer -->

 <footer>

  <div class="container1">

   <p> Copyright ⓒ 2011|Test </p>

  </div>

 </footer>

 <!-- end footer -->

 </body>

</html>

 

 

Posted by 전설의아이
|

8. HTML5 변화된 태그


1. HTML5에서 변경된 태그

 1) 의미가 변경된 태그

 ● HTML5에서 변경된 태그의 특징

 - 속성 변화를 통해 사용자가 쉽게 코드를 작성할 수 있음

 - 포괄적인 개념으로 의미가 변경됨

 ● <a> 태그 : HTML4에서는 href="#" 또는 href="javascript:;"로 지정해야 널 링크로 사용할 수 있었지만 HTML5에서는 href 속성 없이 사용해도 널 링크로 사용할 수 있음(#은 같은 페이지도 링크가 가능함, document, JAVA Script에는 개체가 있다. JAVA Script로 링크를 할 수가 있다. )

● <address> 태그 : HTML4에서는 이름이나 이메일 주소, 전화번호 등 제작자에 대한 정보를 표시할 때 사용하였지만, HTML5에서는 실제 우편물 주소를 표시할 때 사용

 ● <b> 태그 : HTML4 에서는 텍스트를 진하게 표시할 때 사용하였지만, HTML5에서는 텍스트를 진하게 표시할 뿐 아니라, 제품 소개서 안의 제품명, 요약문서 안의 키워드처럼 특별하게 중요하지는 않지만 진하게 표시하려고 할 때 사용

 ● <hr> 태그 : HTML4 에서는 가로줄을 표시할 때 사용하였지만, HTML5에서는 단락 단위로 주제를 바꾸려고 할 때 사용

 ● < i> 태그 : HTML4 에서는 텍스트를 기울어지게 표시할 때 사용하였지만, HTML5 에서는 텍스트를 기울어지게 표시할 뿐 아니라, 중요한 정보가 들어 있지 않은 주변 콘텐츠로부터 텍스트를 따로 표시할 때 사용

 ● <menu> 태그 : HTML4 에서는 <menu> 태그를 사용하지 않도록 권고하였으나, HTML5에서는 실제 문서 메뉴 정보를 제공하는데 사용

 ● <small> 태그 : HTML4에서는 작은 글자로 표시할 때 사용하였지만, HTML5 에서는 세부 주석이나 법적 인쇄문서에서 작은 인쇄 정보를 표시할 때 사용

 ● <strong> 태그 : HTML4 에서는 글자를 강조할 때 사용하였지만, HTML5에서는 단순히 진하게 표시하는 것보다 중요한 정보를 표시할 때 사용

 

 2) <a> xorm tlftmq

 ● <a> 태그 실습 예제

 <!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

 <title>a 태그 실습예제</title>

 </head>

 <body>

 <ul>

  <li><a href="http://www.google.com">구글</a></li>

  <li><a href="http://www.naver.com">네이버</a></li>

 </ul>

 </body>

</html>

 

3) <address> 태그 실습

 ● <address> 태그 실습 예제

 <!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

 <title>adress 태그 실습예제</title>

 </head>

  <body>

  <h1>adress 태그 실습하기!!!<h1>

  <adress>

   Written by <a href="mailto:webmaster@example.com">Jon Doe</a>.<br>

   Visit us at:<br>

   Example.com<br>

   Box 564, Disneyland<br>

   USA

   </adress>

  </body>

 </html>

 

4) <b> 태그 실습

 ●<b> 태그 실습 예제

<!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

 <title>b 태그 실습예제</title>

 </head>

 <body>

  <h1> b 태그 실습하기!!! <h1>

  <p>This is normal text - <b> and this is bold text</b></p?

 </body>

</html>

 

5) <hr> 태그 실습

 ● <hr> 태그 실습 예제

<!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title>hr 태그 실습예제</title>

  </head>

  <body>

   <h1> hr 태그 실습하기!!!</h1>

   <p>HTML is a language for describing web pages.....</p>

   <hr>

   <h1>CSS</h1>

   <p>CSS defineshow to display HTML elements....</p>

  </body>

 </html>

 

6) <i> 태그 실습

 ● <i> 태그 실습 예제

<!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title>i 태그 실습예제</title>

  </head>

  <body>

   <h1> i 태그 실습하기!!!</h1>

   <p>He named his car <i>The lightning</i>, because it was very fast.</p>

  </body>

 </html>

 

7) <menu> 태그 실습

 ● <menu> 태그 실습 예제

<!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title>menu 태그 실습예제</title>

  </head>

  <body>

   <h1> menu 태그 실습하기!!!</h1>

    <menu type="toolbar">

     <li>

      <menu label="File">

       <button type="button" onclick="new()">New...</button>

       <button type="button" onclick="save()">Save...</button>

      </menu>

     </li>

     <li>

      <menu label="Edit">

       <button type="button" onclick="cut()">Cut..</button>

       <button type="button" onclick="copy()">Copy..</button>

       <button type="button" onclick="paste()">Paste..</button>

      </menu>

     </li>

   </menu>

   </body>

 </html>

 

8) <small> 태그 실습

 ● <small> 태그 실습 예제

<!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title>small 태그 실습예제</title>

  </head>

  <body>

   <h1> small 태그 실습하기!!!</h1>

   <p>W3Schools.com- the worlds largest web development site. </p>

   <p><small>Copyright 1999-2050 by RefsnesData</small></p>

  </body>

 </html>

 

9) <strong> 태그 실습

 ● <strong> 태그 실습 예제

<!doctype html>

  <head>

  <meta charset="UTF-8">

  <mce:stript src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title>strong 태그 실습예제</title>

  </head>

  <body>

   <h1> strong 태그 실습하기!!!</h1>

   <p>W3Schools.com- the worlds largest web development site. </p>

   <p><strong>Copyright 1999-2050 by RefsnesData</strong></p>

  </body>

 </html>

 

2. HTML5에서 중단된 태그

 1) 중단된 태그

 ●CSS로 대체할 수 있기에 HTML5에서는 더 이상 사용을 권장하지 않음

 - <basefoont>,<big>,<center>,<font>,<frame>,<frameset>,<noframes>,<s>,<strike>,<tt>,<u> 태그 등

 ● 다른 태그들과 함께 사용하면서 혼란을 야기하는 태그

 - <acronym> : 약자를 의미하는 <abbr> 태그 사용

 - <applet> : <object> 태그로 대체

 - <isindex> : 폼 양식을 통해 대체

 - <dir> : ul 태그를 통해 대체

 - <noscript> : HTML 문법에서만 사용하고 XML 문법에서는 더 이상 사용하지 않음 

Posted by 전설의아이
|

7. HTML5 추가 태그


1. 폼, 텍스트, 콘텐츠 그룹화 태그

1) 폼 태그(Forms Tag)

 ● HTML5가 등장하면서 새로운 태그들이 추가

 - 사용자의 프로그램 코드 작성이 편리해짐

 - 문서의 구조도 기존과 큰 차이 없음

 ●<datalist>: <input>태그와 함께 사용하며 미리 정의된 옵션의 드롭 다운 목록을 지정함

 ●<keygen> : 인증서 관리 시스템과 웹 폼을 처리하는데 사용

 - 보안 키를 생성하고 공개 키를 제출함

 - 개인 키는 로컬에 저장되고 공개 키는 서버로 전송됨

 ●<meter< : 알려진 범위 내에서 스칼라 측정 또는 소수 값을 나타내는데 사용

 - 웹 페이지에 그래픽 형식에서 데이터를 표시할 때 유용함

 - 익스플로러와 사파리에서는 지원하지 않음

 ●<output> : 스크립트에 의해 수행 계산의 결과를 나타냄

 - 일반 텍스트가 아닌 계산의 결과 값이란 것을 브라우저에서 정확히 인식

 <output [속성="속성 값"]> 내용</output>

 ●<progress> : 작업의 진행 상황을 나타냄

 - Value : 작업이 얼마나 진행되었는지를 나타냄. 부동 소수점으로 표현

 - Max : 작업이 완료되는 양을 나타냄. 부동 소수점으로 표현


 2) 텍스트 태그(Text-level semantics Tag)

 ●<bdi> : 텍스트 방향으 주위와는 별도로 표시하도록 지시하는데 사용

 - 사용자가 방향을 모르는 텍스트를 삽입할 때 유용함

 - 브라우저가 <bdi> 태그의 텍스트를 보고 방향성을 판단

 - 해석 오류로 인해 비정상적으로 출력될 수 있음

 - 텍스트의 방향 설정 시 최후의 보루로 사용할 것을 권고

 ●<mark> : 텍스트를 하이라이트 형태로 표시하며 특정한 단어나 일부분을 강조하고 싶을 때 사용

 - 텍스트의 배경이 형광색으로 표시(크롬에서는 노란색 배경 표시)

 - 배경색은 <style> 태그로 바꿀 수 있음

 ● <ruby> : 동아시아 타이포그래피에 사용되는 루비 주석을 지정하는데 사용

 - <rt> : 작은 글씨를 주석으로 나타냄

 - <rp> : <rt> 태그를 지원하지 않는 브라우저에서 괄호 안에 주석을 표현

 ● <time> : HTML 문서 내의 날짜 및 시간을 선언하는데 사용

 - 웹 문서에 날짜나 시간을 자동으로 표시해주는 것은 아님

 - <time> 태그를 사용하면 모든 브라우저에서 해당 내용을 정확히 인식

 ● <wbr> : 강제로 원하는 위치에서 줄 바꿈을 하고자 할 때 사용됨

 - <nobr> 태그 안에서 문단을 바꿀 때 <wbr> 태그 사용

 - <wbr> 태그 묶인 부분부터 줄이 바뀜


3) 콘텐츠 그룹화 태그(Groupping content tag)

 ● <figure> : 캡션 대상을 지정할 때 사용하는 태그

 - 이미지, 다이어그램, 비디오, 텍스트 단락과 같은 멀티미디어 요소를 묶음

 - 태그 안에 <img> , <code>처럼 다른 태그 사용 가능

 <figure>

  캡션을 붙일 요소

 </figure>

 ● <figcaption> 태그 : 캡션 설명을 붙일 때 사용하는 태그

 - 반드시 <figure> 태그 다음에 사용해야 함

 - <figcaption> 없이 <figure> 태그를 사용하는 것은 미디어가 있다는 것을 브라우저에게 알려주기 위함

 <figcaption>

 내용

 </figcaption>


4) <datalist> 태그를 이용한 실습

 ● <datalist> 태그 실습 예제

 <!doctype html>

 <head>

 <meta charset="UTF=8">

 <mce:script src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

 <title> datalist 태그 실습예제 </title>

 </head>

  <body>

   <h1> 폼 태그 - datalist 태그 실습하기!! </h1>

   <div> Choose a browser from this list: </div>

   <input list="browsers"/>

   <datalist id="browsers">

   <option value="Chrome">
   <option value="Firefox">

   <option value="Internet Explorer">

   <option value="Opera">

   <option value="Safari">

   </datalist>

  </body>

 </html>


5) <mark> 태그를 이용한 실습

 ● <mark> 태그 실습 예제

 <!doctype html>

  <head>

   <meta charset="UTF-*">

   <mce:script src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title> mark 태그 실습예제 </title>

  </head>

  <body>

   <h1> 텍스트 태그 - mark 태그 실습하기!! </h1>

    <p> Do not forget to buy <mark>milk</mark> today. </p>

   </body>

  </html>


2. 임베디드 콘텐츠, 섹션, 대화형 태그

1) 임베디드 콘텐츠 태그(Embdded content Tag)

 ● <audio> : MP3, WAV, AIFF 등 오디오 파일을 웹 페이지에 삽입하는데 사용

 - 이전의 <objct> 태그에 비해 간편하게 오디오 첨부 가능

 - 여러 개의 오디오 소스 포함 가능

 <audio src = "오디오 파일 경로"[속성][속성="속성 값"]>

 ● <video> : 동영상 클립 또는 다른 비디오 스트림으로 비디오를 지정함

 - PC, Mobile 모두 가능(Mobile의 경우 자동재생 지원 안 함)

 - 익스플로러8 이하 버전에서는 인식 못함

 <video src = "비디오 파일 경로" [속성][속성="속성 값"]>

 ● <canvas> : 스크립트 언어(Javascript 등)를 통해 빠르게 그래픽을 그리는데 사용

 - <canvas> 태그 자체로는 아무런 기능이 없음(빈 화면만 있는 곳을 의미)

 - <canvas> 태그를 사용하기 위해서는 스크립트 언어를 사용해야 함

 ● <embed> : HTML 웹 페이지에 멀티미디어(동영상, 음악 등)를 포함하는데 사용

 - 플러그인이 필요한 파일을 재생

 - <embed> 태그는 그 자체로 기능하기 때문에 닫는 태그가 없음

 <embed src= "멀티미디어 파일 경로"[속성][속성="속성 값"]>

 ● <source> : 미디어 요소에 여러 미디어 자원을 지정하는 데 사용됨

 - <video>,<audio> 태그를 사용할 경우 해당 자료의 위치를 지정

 ● <track> : 미디어 요소에 대한 텍스트 트랙을 지정하는데 사용

 - 미디어가 재생 될 때 캡션, 설명, 자막 파일 등의 텍스트 파일을 지정

 - Srt, vtt를 확장자로 하는 자막 파일 필요(텍스트 파일의 이름을 강제로 지정)


 2) 섹션 태그(Sections Tag)

 ● <header> 태그 : 웹 페이지의 헤더를 만들 때 사용(주로 로고 영역)

 ● <nav> 태그 : 웹 페이지의 메뉴를 만들때 사용하고, 일반적으로 내부에 <ul>과<li>을 많이 사용

 ● <section> 태그 : 여러 중심 내용을 감싸는 공간을 의미

 ● <article> 태그 : 문서, 어플리케이션, 사이트 안에서 독립되어 있는 구성요소로 글자가 많이 들어가는 부분을 의미

 ● <footer> 태그 : 웹 페이지의 하단을 만들 때 사용(주로 카피라이트 영역)


 3) 대화형 태그(Sections Tag)

 ● <command> 태그 : 명령 지정 태그

 - 사용자가 호출 할 수 있는 명령을 지정하는데 사용

 - 라디오 버튼, 체크 박스 같은 명령 단추를 재성정

 - 반드시 <menu> 태그 안에 있어야 함

 ● <summary> : 세부 요약 태그

 - <details> 태그에서 눈에 보이는 제목을 정의

 - <summary> 부분을 클릭하여 세부정보를 보이기/감추기 할 수 있음

 ● <details> 태그 : 추가적인 설명 태그

 - 주로 <summary> 태그와 함께 사용

 - 웹 페이지의 세부정보나 일부에 대해 설명하고자 할 때 사용하며 내용을 숨기거나 보여지게 설정 할 수 있음


 4) <canvas> 태그를 이용한 실습

 ● <canvas< 태그 실습 예제

 <!doctype html>

 <head>

  <meta charset="UTF-8">

  <mce:script src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <script type="text/javascript" src="canvas_tag.js"></script>

  <title> canvas 태그 실습예제 </title>

 </head>

 <body onland="loader()">

  <h1> 임베디드 콘텐츠 태그 -canvas 태그 실습하기!! </h1>

  <canvas id="canvas" width="600" height="500"/>

 </body>

</html>


 5) <summary> 태그와 <details> 태그를 이용한 실습

 ● <summary>/<details> 태그 실습 예제

 <!doctype html>

 <head>

 <meta charset="UTF-8">

 <mce:script src="//html5shiv.googlecode.com/svn/trunk/html5.js" mce_src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></mce:script>

  <title> details, summarty 태그 실습예제 </title>

  </head>

  <body>

   <h1> 임베디드 콘텐츠 태그 - details, summarty 태그 실습하기!! </h1>

  <details>

   <summary> Copyright 1999-2014. </summary>

   <p> - by Refsnes Data. All Rights Reserved. </p>

   <p> All content and graphics on this web site are the proerty of the company Refsnes Data. </p>

  </details>

 </body>

</html>

Posted by 전설의아이
|

6. 시맨틱 태그 - 입력양식 및 공간분할

 

1. HTML5 시맨틱 태그(입력양식)

 1) 시맨틱 태그란?

 ● <header> : 웹 페이지의 헤더를 만들 때 사용(주로 로고 영역)

 ● <nav> : 웹 페이지의 메뉴를 만들 때 사용하고, 일반적으로 내부에 <ul>과 <li> 을 많이 사용

 ● <section> : 여러 중심 내용을 감싸는 공간을 의미

 ● <article> : 문서, 어플리케이션, 사이트 안에서 독립되어 있는 구성요소로 글자가 많이 들어가는 부분을 의미

 ● <aside> : 페이지 윈쪽이나 오른쪽에 부가적인 내용의 영역(퀵메뉴나 광고영역으로 많이 사용)

 ● <footer> : 웹 페이지의 하단을 만들 때 사용(주로 카피라이트 영역)

 

 2) HTML4 문서와 HTML5문서의 구조 비교

 ● HTML4 문서 예시

 ● HTML5 문서 예시 

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/DTD/xhtml-trnastional.dtd"?

 <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

   <meta http-equiv="Content-Type" content="text.html; charset=utf-8">

   <html>

    <title>

     HTML4 코딩 예!!!

    </title>

   </head>

   <body>

    <div id="sidebar">

    <h1>html4공부!!<h1>

    </div>

    <div id="sidebar">

    <h2>Menu</h2>

    <ul>

    <li><a href="#">지난 주</a>/<li>

    <li><a href="#">오래 된 글</a></li>

    </ul>

    </div>

    <div class="post">

    <h2>Yesterday</h2>

    <p>오늘은 문서구조(outline) 관련 부분을 2시간 동안 봤다.</p>

    </div>

    <div class="post">

    <h2>Today</h2>

    <p>HTML4에서는 문서구조를 나눌 때 div 태그를 사용한다.</p>

    </div>

    <div id="footer">

    <p><small>HTML4 문서 구조 알아보기!!</small></p>

    </div>

   </body>

  </html>

  <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 1.0 Transitional//EN"

 "http://www.w3.org/TR/DTD/xhtml-tansitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 <html>

  <title>

   HTML5 코딩 예!!!

  </title>

 </head>

 <body>

  <header>

   <h1>HTML5 공부!!! </h1>

  </header>

  <nav>

   <h2>Menu</h2>

  <ul>

  <li><a href="#">지난 주</a></li>

  <li><a href="#">오래 된 글</a></li>

  </ul>

  </nav>

  <article>

   <h2>Yesterday</h2>

   <p>오늘은 문서구조(outline) 관련 부분을 2시간 동안 봤다.</p>

  </article>

  <article>

   <h2>Today</h2>

   <p>HTML5에서는 문서구조를나눌 때 시맨틱 태그를 사용한다.</P>

  </article>

   <footer>

    <p><small>HTML5 문서 구조 알아보기!!</small></p> 

  </footer>

 </body>

</html>

 

2. HTML5 시맨틱 태그(공간분할)

 1) HTML5의 효율적인 마크업

 ● HTML4의 마크업 → 문서 구조의 파악이 어려움

 - 아무 의미 없는 <div> 태그 사용

 - 문서의 내용은 제작자들이 붙이는 id에 따라 구분

 ● HTML5의 마크업  → 문서 구조의 파악이 용이

 - 새로운 시맨틱 태그 사용(<header>,<nav>,<section> 등)

 - 태그만 보고 제목, 메뉴, 실제내용을 구분하기가 쉬움

 2) 시맨틱 태그를 활용한 홈페이지 만들기

 <header>

  <div class="container1>

   <!--start title-->

    <h1 class="fontface" id="title"><span class="orange">T</span><span class="pink">e</span><span class="purple">s</span><span class="blue">t</span><span clas="green">Page</span></h1>

   <!--end title-->

   <!--start menu-->

    <nav>

     <ul>

     <li><a href="index.html" class="grn">홈</a></li> 

     <li><a href="study.html" class="pnk">스터디</a></li>

     <li><a href="#" class="orng">사진모음</a></li>

     <li><a href="#" class="blu">자유글</a></li>

     <li><a href="#" class="prpl">소개</a></li>

     </ul>

    </nav>

   </div>

   <div class="bottom"></div>

   <!--end menu-->

   <!--end header-->

  </header>


 2) 시맨틱 태그를 활용한 홈페이지 만들기

 홈페이지 본문의 왼쪽 부분

 <did id="container>

  <section id="main><!--#main content and sidebar area -->

   <aside id="sidebar1"><!--sidebar1-->

    <h2 class="fontface">左영역</h2> <!--Title of Page -->

    <div style="background-color:rgb(255.255.190);padding-top:100px;padding-left:50px;padding-bottom:100px;font-size:30px;"><br/>상단<br/> </div>

    <div style="background-color:rgb(255.200.190);padding-top:110px;padding-left:50px;padding-bottom:110px;font-size:30px;"><br/>하단<br/> </div>

   </aside><!-- end of sidebar1 -->


 홈페이지 본문의 가운데 부분

 <section id=:content"><!-- #content -->

  <h2 class="fontface"><a gref="#">본문영역</a></h2>

   <article style="background-color:rgb(200,200,200);padding-top:100px;padding-left:50px;padding-bottom:100px;font-size:30px;">

  <h2><a href="#">본문 상단영역</a></h2>

  <p>본문 하단 내용..</P>

 </article>

</section><!-- end of #content -->


 홈페이지 본문의 오른쪽 부분

 <aside id="sidebar2"><!-- sidebar2 -->

 <h2 class="fontface">右영역</h2><br>

  <ul>

   <li><a href="#">팀목록</a></li>

   <li><a href="#">팀별팀원</a></li>

   <li><a href="#">팀별프로젝트</a></li>

  </ul>


 <h3 class="fontface">게시글</h3><br>

  <ul>

   <li><a href="#">05.24.11-팀원구성</a></li>

   <li><a href="#">05.31.11-팀장선출</a></li>

   <li><a href="#">06.01.11-아이템 구상</a></li>

   <li><a href="#">07.31.11-아이템 확정</a></li>

   <li><a href="#">07.01.11-자료수집계획</a></li>

   <li><a href="#">07.17.11-인터뷰계획</a></li>

   <li><a href="#">07.24.11-인터뷰실행</a></li>

   <li><a href="#">07.31.11-인터뷰결과</a></li>

   <li><a href="#">08.01.11-요구사항정의</a></li>

   <li><a href="#">08.15.11-요구사항분석</a></li>

   <li><a href="#">09.01.11-화면설계</a></li>

   <li><a href="#">09.15.11-DB설계</a></li>

   <li><a href="#">10.05.11-WBS 작성</a></li>

   <li><a href="#">11.06.11-발표</a></li>

  </ul>

 </aside><!-- end of sidebar -->

</section><!-- end of #main content and sidebar -->

</div>


 스타일 연결

 <head>

  <meta charset="UTF-8">

   <title>TestPage</title>

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

 </head>

Posted by 전설의아이
|