본문 바로가기

Web Progreming

[ CSS3 ] CSS 기초

CSS ( Cascade Style Sheet ) 의 약자로서 W3C의 CSS 규격으로 표준화 되어 있습니다.

 요즘 웹 문서들은 대부분 <TABLE> 태그를 사용하는 것 보다 <DIV> 태그와 CSS를 이용하는 쪽으로 변화하고 있습니다.

 

 1) CSS를 배워야 하는 이유?

(1) 통일감 있는 문서 작성이 가능

-> 한 번만 정의하면 웹 문서에 일관되게 적용할 수 있습니다.

(2) 문서 관리의 편리

-> 스타일 시트 파일을 만들어놓으면 어떤 문서든 편하게 적용 가능합니다.

(3) 웹 문서의 편집이 자유로움

-> 기존 태그를 이용한 편집보다 많은 자유도를 제공합니다.



 2) CSS 적용 사례 예제 ( PhoneGap의 튜토리얼 Index.html )


< CSS 적용 전 >       << CSS 적용 후 >>

Lesson2.png                              Lesson.png


 위의 두 그림에서 가장 큰 차이는 CSS파일을 지정했다는 것과 아니라는 것 입니다.

 대략적으로 CSS파일에 대한 설명은 아래의 예제만으로도 감이 오실 분들이 계시도록

자세히 적어보도록하겠습니다. 


 추가적으로 세부사항에 대해서는 연이은 강좌로 진행됩니다.



< Master.CSS 파일>

//태그에 대한 설정, 다음의 태그가 들어가는 것은

// 여백을 0포인트로, 패딩을 0포인트로 설정한다.


Lesson3.png

// body, div, dl ... 등등에 외부여백, 내부여백을 0으로 설정합니다.

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6 

{

margin0pt;

padding0pt;

}




body 

{

background:#000 url(images/TutBG.png) repeat-y fixed 0 0;

// 배경색을 #000(검은색)으로 url(그림파일위치-상대경로)undefined

// repeat-y 그림을 y축으로 반복하라 (어떻게 동작하는지 이해가 잘 안되면

// Lesson.zip에TutBG.png파일을 확인해보세요.

// fixed 고정시켜서 스크롤시 움직이지 않게 합니다.

// 기본값은 scroll 으로 스크롤하는 경우 그림이 같이 움직입니다.


color:#666;

font-family:Helvetica,'Lucida Grande',sans-serif;

// 폰트 : Helvetica


line-height:1.5em;

// 라인의 높이 1.5em (em : 유효한 폰트의 높이를 1로 하는 단위)


margin:0px;

margin-bottom:20px;

}



// .topBar   Class 설정으로 .topBar의 Class를 가지는 경우

// 아래와 같은 속성이 모두 적용된다.

.topBar

{

color:#eee;

font-size:1.2em;

text-align:center;

// 텍스트 정렬 : center


margin:0;

margin-top:0px;

padding:0;

background-imageurl'images/header.png' );

// 배경 이미지 : url(상대경로)undefinedundefined


background-repeatrepeat-x;

// repeat-x  --> X축으로 이미지를 계속 반복한다.


height:44px;

width:320px;

text-height:44px;

}



// . item   Class 설정으로   .item의 Class를 가지는 경우

// 아래와 같은 속성이 모두 적용된다.

.item 

{

background:rgba(64,64,64,0.5);

border1px solid rgba(128,128,128,0.5);

border-radius: 5px;

-webkit-border-radius5px;

radius.png

// border-radius 는 CSS3 에서 추가된 내용으로

// 박스의 곡선처리가 가능하게 되었습니다.

// 웹킷기반 브라우저에서는 -webkit-border-radius: 5px

// FireFox에서는 -moz-border-radius: 5px 으로 사용합니다.


clear:both;

margin:15px 6px 0;

width:295px;

padding:4px 0px 2px 10px;

// 안쪽여백 : 상 4px, 우 0px, 하 2px, 좌 10px

}



// # 으로 시작하는 것은 별도의 id를 부여한 것으로

// stage ID를 가진 곳에 아래와 같은 속성을 부여합니다.


// #stage.theme 가 의미하는 것은 stage ID를 가진 것의 theme 클래스에 

// 아래와 같은 속성을 부여한다는 의미입니다.

#stage.theme{

padding-top:3px;

}




 << Index.html >> 적용

================================================================

<!DOCTYPE html>


<html>

<head>

<meta name="viewport" content="width=default-width; user-scalable=no" />

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

<title>Start</title>


// master.css 를 외부에서 불러옵니다.

<link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8">

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>

<script type="text/javascript" charset="utf-8">

function onBodyLoad() {

document.addEventListener("deviceready",onDeviceReady,false);

}


function onDeviceReady()

{ }

</script>

</head>


// id에 "Stage"를 등록하고 그 아이디의 class "theme"를 적용합니다. 

<body id="stage" class="theme" onload="onBodyLoad()">

<div class="topBar">

<span class="pageTitle">PhoneGap Tutorial</span>

</div>

<a href="accelerometer.html">

// <div> </div> 사이에 "item"클래스를 적용합니다.

<div class="item">

<h2>Accelerometer</h2>

</div>

</a>

<a href="notification.html">

// <div> </div> 사이에 "item"클래스를 적용합니다. 이하 동일

<div class="item">

<h2>Notification</h2>

</div>

</a>


<a href="contacts.html">

<div class="item">

<h2>Contacts</h2>

</div>

</a>

<a href="geolocation.html">

<div class="item">

<h2>GeoLocation</h2

</div>

</a>

<a href="inputs.html">

<div class="item">

<h2>Form Inputs</h2>

</div>

</a>

<a href="media.html">

<div class="item">

<h2>Media</h2>

</div>

</a>


</body>

</html>






'Web Progreming' 카테고리의 다른 글

JS & Ajax 사이트  (0) 2011.04.18
[ HTML ] 테두리 만드는 거  (0) 2011.02.09
[ HTML ] <DIV> 테이블 구조  (0) 2011.01.17
[ LINUX ] 시스템 최적화 튜닝  (0) 2011.01.17
[ LINUX ] top 명령어 관련  (0) 2011.01.17