SlideShare a Scribd company logo
1 of 147
CSS3 기본
CSS 개요 및 구성요소
Jae-Ho Choi

1
1

CSS 개요

1p

2

CSS3 선택자

7p

3

CSS3 스타일 속성

15p

4

CSS3 레이아웃

22p

5

CSS3 변환

28p

2
1.CSS 개요

3
1.1 CSS 개요
• Cascading Style Sheets의 약자
• “계단형 스타일시트”라고 한다.
• CSS의 표준화 작업과 신기술 및 팁을 제공하는
W3C에서 1996년 CSS레벨1 발표
• 1998년 CSS레벨2 발표
• W3C
www.w3.org/style/css

4
1.1 CSS 개요
• CSS 사용 목적
– HTML의 제약성에서 탈피한다.
– 홈페이지 전체에 통일감과 일관성을 유지한다.
– 홈페이지 제작 시간을 감소시키고 문서의 용량을
줄여준다.
– 기존 홈페이지의 개념을 넘는 DHTML, XML의 기
초가 된다.

5
1.1 CSS 개요
• CSS 삽입방법 세 가지
– 태그 내부 삽입형(In-line style): 태그에 직접 붙이는 방법
<태그 Style="속성:값; 속성:값; ">
– 문서 내 지정형(Embedding style): style 태그로 감싸는 방법
<Styel type="text/css">
<!-스타일내용
//-->
</Style>
– 외부 문서 삽입형(link style): 링크로 연결해 주는 방법
<link rel=stylesheet href="스타일 외부 파일 전체경로"
type="text/css">

6
2.CSS3 선택자

7
2.1 선택자 개요
• 선택자는 특정한 HTML 태그를 선택할 때에 사용하는 기능
– 위치를 정해야 정해진 녀석들의 스타일을 바꿀 수 있다.

• 선택자를 사용해 태그를 선택하면 원하는 스타일과 기능을
적용할 수 있다.
• 스타일을 적용할 때에 선택자는 다음 위치에 사용한다.

8
2.2 CSS 선택자의 종류
• 기본 형식
<Style type="text/css">
선택자{속성:값}
</Style>

1. 태그 선택자 또는 „type 선택
자‟
2. 클래스(class) 선택자
3. 아이디(ID) 선택자
4. 복수 선택자
5. 자손(descendant) 선택자
6. 태그 선택자와 클래스 선택
자 연계
7. 태그 선택자와 아이디 선택
자를 연계
8. 가상클래스 선택자

9
2.3 전체 선택자
• HTML 문서 안의 모든 태그를 선택할 때는 전체 선택
자를 사용한다.

• 다음 코드는 문서 안의 모든 태그의 color 속성을 red
로 지정한다.

10
2.4 전체 선택자의 예
• 코드를 실행하면 다음과 같이 출력한다.

11
2.5 태그 선택자
• 태그 선택자는 특정한 HTML 태그를 선택한다.

• 다음 코드는 h1 태그와 p 태그를 선택한다.

12
2.5 태그 선택자
• 코드를 실행하면 다음과 같이 출력한다.

13
2.6 아이디 선택자와 클래스 선택자
• 아이디 선택자
– 아이디 선택자는 특정한 id 속성을 가지고 있는 태
그를 선택한다.

– 다음과 같은 방법으로 사용한다.

14
2.6 아이디 선택자와 클래스 선택자
• 클래스 선택자
– 클래스 선택자는 특정한 class 속성을 가지고 있는 태그를
선택한다
– 다음과 같은 방법으로 사용한다.

15
2.6 아이디 선택자와 클래스 선택자
– 실행 결과는 다음과 같다.

16
2.7 속성 선택자
• 속성 선택자는 특정한 속성을 가진 태그를 선택할 때
사용한다.
– 특정 태그 중에서 이러이러한 속성을 가지는 녀석들을 골
라내는데 사용한다.

• 기본 속성 선택자
– 기본 속성 선택자는 특정한 속성의 존재 유무와 속성 값을
판별할 때에 사용한다.

17
2.7 속성 선택자
– 다음과 같은 방식으로 사용한다.

18
2.7 속성 선택자
• 문자열 속성 선택자
– 문자열 속성 선택자는 태그가 가지고 있는 속성의 특정한
문자열을 확인한다.

19
2.7 속성 선택자

– 실행 결과는 다음과 같다.
• 실행전에 세가지 파일을
받아야 실행이 가능합니다.
20
2.8 후손 선택자와 자손 선택자
• 다음과 같은 코드가 있다.

• 이때 div 태그의 자손과 후손은 다음과 같이 정의한다.

21
2.8 후손 선택자와 자손 선택자
• 후손 선택자
– 후손 선택자는 특정한 태그 아래에 있는 후손을 선택할 때
사용하는 선택자이다.

– 후손 선택자는 다음과 같은 방법으로 사용한다.

22
2.8 후손 선택자와 자손 선택자
• 자손 선택자
– 자손 선택자는 특정한 태그 아래에 있는 자손을 선택할 때
사용하는 선택자이다.

– 자손 선택자는 다음과 같은 방법으로 사용한다.

23
2.9 동위 선택자
• 다음과 같은 코드가 있다.

• 이때 li 태그와 동위 관계에 있는 태그는 다음과 같이 정의한
다.

24
2.9 동위 선택자
• 동위 선택자
– 동위 선택자는 동위 관계에서 뒤에 위치한 태그를 선택할
때 사용하는 선택자이다.

– 다음과 같은
방법으로 사용한다.

25
2.9 동위 선택자
– 코드를 실행하면 다음과 같다.

26
2.10 반응 선택자
• 반응 선택자
– 반응 선택자는 사용자의 반응으로 생성되는 특정한
상태를 선택하는 선택자이다.
• 예) 마우스가 올려졌을 때, 클릭이 됐을 때

– 사용자가 마우스를 특정한 태그 위에 올리면 hover
상태가 적용되고 클릭하면 active 상태가 적용된다.

27
2.10 반응 선택자
• 다음과 같은 방법으로 사용한다.

– 코드를 실행하고 마우스를 올리고
클릭하면 다음과 같이 색상이
변경된다.
28
2.11 상태 선택자
• 상태 선택자
– 상태 선택자는 입력 양식의 상태를 선택할 때 사용하는 선
택자이다.

– 다음과 같은 상태를 check 상태라고 한다.

– 다음과 같은 상태를 focus 상태라고 한다.

29
2.11 상태 선택자
– 다음과 같은 방법으로 사용한다.

30
2.12 구조 선택자
• 구조 선택자
– 구조 선택자는 CSS3부터 지원하는 선택자이다.
– 일반적으로 자손 선택자와 병행해서 많이 사용한다.

• 일반 구조 선택자
– 일반 구조 선택자는 특정한 위치에 있는 태그를 선택하는 선택자이다.

31
2.12 구조 선택자
– 다음과 같은 방법으로 사용한다.

- 출력은 다음과 같다.

32
2.12 구조 선택자
• 형태 구조 선택자
– 형태 구조 선택자는 일반 구조 선택자와 비슷하지만 태그
형태를 구분한다.

33
2.12 구조 선택자
– 다음과 같은 방법으로 사용한다.

34
2.12 구조 선택자
– 코드를 실행하면 다음과 같이 출력한다.

35
2.13 문자 선택자
• 문자 선택자
– 문자 선택자는 태그 내부의 특정한 조건의 문자를 선택하는 선택자이
다.

• 시작 문자 선택자
– 시작 문자 선택자는 태그 내부의 첫 번째 글자나 첫 번째 줄을 선택할
때 사용하는 선택자이다.

36
2.13 문자 선택자
– 다음과 같은 방법으로 사용한다.

37
2.13 문자 선택자
– 코드를 실행하면 다음과 같이 출력한다.

38
2.13 문자 선택자
• 반응 문자 선택자
– 반응 문자 선택자는 사용자가 문자와 반응해서 생기는 영
역을 선택하는 선택자이다.

– 다음과 같은 방법으로 사용한다.

39
2.13 문자 선택자
– 코드를 실행하면 다음과 같이 출력한다.

40
2.14 링크 선택자
• 링크 선택자
– 링크 선택자는 href 속성을 가지고 있는 a 태그와 한 번 이
상 다녀온 링크를 선택할 수 있는 선택자이다.

41
2.14 링크 선택자
– 다음과 같은 방법으로 사용한다.

– 코드를 실행하면 다음과 같이 출력한다.
42
2.15 부정 선택자
• 부정 선택자
– 부정 선택자는 지금까지 배운 선택자를 모두 반대
로 적용할 수 있게 만드는 선택자이다.

43
2.15 부정 선택자
– 다음과 같은 방법으로 사용한다.

– 코드를 실행하면 다음과 같이 출력한다.
44
3.CSS3 스타일 속성

45
3.1 CSS3 단위
• CSS는 각각의 스타일 속성에 다양한 값을 입력한
다.

• 키워드 단위
– 키워드는 CSS를 개발할 때에 이미 지정된 단어들을 의미한다.
– 통합 개발 환경을 사용할 때에 다음과 같이 확인할 수 있다.

46
3.1 CSS3 단위
• 크기 단위
– CSS3에서 사용하는 크기 단위는 %, em, cm, mm, inch, px이다.

– 크기 단위는 다음과 같은 방법으로 사용한다.

47
3.1 CSS3 단위
• 색상 단위
– 색상을 적용하는 가장 기본 방법은 키워드를 사용하는 것이다.

– CSS3는 다음과 같은 색상 단위를 사용해 색상을 지정한다.

48
3.1 CSS3 단위
• URL 단위
– 파일을 지정할 때는 URL 단위를 사용한다.
– URL 단위는 다음과 같은 방법으로 사용한다.
– URL 내부에는 상대 경로, 절대 경로가 모두 사용된다.

49
3.2 가시 속성
• display 속성
– display 속성은 태그의 영역 표현 방식을 지정하는 속성이다.
– 다음 키워드를 입력할 수 있다.

– 다음과 같은 방법으로 사용한다.

50
3.2 가시 속성
– none 키워드를 사용하면 태그가 완전히 화면에서 제거된
다.

– block 키워드를 사용하면 태그가 한 줄을 차지한다.

– inline 키워드 또는 inline-block 키워드를 사용하면 한 줄에
들어간다.

51
3.2 가시 속성
– inline 키워드를 사용할 때와 inline-block 키워드를 사용할
때의 차이점은 margin 속성과 padding 속성을 적용할 때
에 알 수 있다.
– inline 키워드를 사용하면 margin 속성과 padding 속성이
좌우로만 적용된다.

– inline-block 키워드를 사용하면 margin 속성과 padding 속
성이 상하좌우로 적용된다.

52
3.2 가시 속성
• visibility 속성
– 대상을 보이거나 보이지 않게 지정하는 속성이다.

– display 속성을 none 키워드로 지정하는 것과 달
리 영역을 유지한 채로 보이지 않게만 만든다.

53
3.2 가시 속성
• opacity 속성
– 대상의 투명도를 지정하는 속성이다.
– 0부터 1 사이의 숫자를 입력한다. (0은 투명이고 1은 불투명이다.)
– 다음과 같은 방법으로 사용한다.

– 코드를 실행하면 다음과 같이 출력한다.

54
3.3 박스 속성
• 박스 속성은 웹 페이지의 레이아웃을 구성할 때 가장
중요한 속성이다.
• 다음 속성을 모두 합쳐 박스 속성이라고 이야기한다.

55
3.3 박스 속성
• width 속성과 height 속성
– width 속성과 height 속성은 글자를 감싸는 영역의 크기를
지정하는 속성이다.
– 다음과 같은 방식으로 사용한다.

56
3.3 박스 속성
• margin 속성과 padding 속성
– margin 속성은 마진의 너비를 지정하는 속성이고 padding
속성은 패딩의 너비를 지정하는 속성이다.

57
3.3 박스 속성
– margin 속성과 padding 속성은 width 속성과
height 속성과 별도로 적용된다.

– 박스 크기는 다음과 같은 공식을 갖는다.

58
3.3 박스 속성
• box-sizing 속성
– width 속성과 height 속성은 글자를 감싸는 영역의
크기를 지정하는 속성이다. box-sizing 속성은 이
러한 공식을 변경할 수 있는 CSS3 속성이다.
– 다음과 같은 키워드를 입력할 수 있다.

59
3.3 박스 속성
– 각각의 키워드를 적용할 때에 width 속성과 height 속성의
적용 범위가 다음과 같이 변경된다.

– content-box 키워드의 경우 박스의 크기를 다음 공식으로
구한다.

– border-box 키워드의 경우 박스의 크기를 다음 공식으로
구한다.

60
3.4 테두리 속성
• border-width 속성
– 테두리의 너비를 지정하는 속성이다.
– 다음 키워드를 적용한다.

61
3.4 테두리 속성
• border-style 속성
– 테두리의 형태를 지정하는 속성이다.
– 다음 키워드를 적용한다.

62
3.4 테두리 속성
• border-width, border-style, border-color 속성을 사용
해야 테두리를 생성할 수 있다.
– 각각의 속성은 다음과 같은 방법으로 사용한다.

– 코드를 실행하면 다음과 같이 출력한다.

63
3.4 테두리 속성
• 방금 살펴본 3가지 테두리 속성은 border 속성으로 한번에 입
력할 수 있다.

• border-radius 속성
– border-radius 속성을 사용하면 테두리가 둥근 사각형 또는 원을 만들
수 있다.
– 다음과 같은 방식으로 사용한다.

64
3.4 테두리 속성
– 코드를 실행하면 다음 그림처럼 출력한다.

– 각각의 테두리의 둥글기를 설정할 수도 있다.

65
3.5 배경 속성
• background-image 속성
– 배경에 넣을 그림을 지정하는 속성이다.
– 다음과 같은 방법으로 사용한다.

66
3.5 배경 속성
• 배경 이미지 속성
속성
background-color

설명
배경색

값
yellow, transparent

background-image

배경 이미지 지정

url(파일명)

background-repeat

배경 이미지 정렬

repeat, repeat-x, repeat-y, no-repeat

background-position

배경 이미지 위치

80%, 90px, left, center, right, top, center, bottom

backgroundpositionX

가로축 고정 위치

left, center, right

backgroundpositionY

세로축 고정 위치

top, center, bottom

backgroundattachment

이미지 고정

fixed, scroll

background

배경 이미지 한 번에 지
정

url( 파 일 명 ),
repeat-x,
repeat-y,
norepeat, left, center, right, top, center, bottom, fixed, scrol
l

67
3.5 배경 속성
– 코드를 실행하면 다음과 같이 출력한다.

68
3.5 배경 속성
– 이미지를 중첩해서 사용할 수 있다.(CSS3부터 지원하므
로 구 버전의 웹 브라우저에서는 사용 불가능)

– 코드를 실행하면 다음과 같이 출력한다.

– 왼쪽에 위치하는 그림이 앞에 위치한다.
69
3.5 배경 속성
• background-size 속성
– 그림 크기를 조절할 때에 사용하는 속성이다.
– CSS3에서 추가된 속성이므로 인터넷 익스플로러
8 이하에서는 사용할 수 없다.
– 다음과 같은 크기 단위를 넣어 사용한다.

70
3.5 배경 속성
– 코드를 실행하면 다음과 같이 출력한다.

– 크기 단위를 2개 입력하면 두 번째 크기 단위는 높이를 의
미한다.

71
3.5 배경 속성
– 쉼표를 사용해 구분하면 여러 개의 배경 이미지에
크기를 각각 적용한다.

72
3.5 배경 속성
• background-repeat 속성
– 배경 패턴 방식을 지정하는 속성이다.
– 다음 키워드를 입력할 수 있다.

– 다음과 같은 방식으로 사용한다.

73
3.5 배경 속성
– 코드를 실행하면 다음과 같이 출력한다.

74
3.5 배경 속성
• background-attachment 속성
– 배경 이미지를 어떠한 방식으로 화면에 붙일 것인지를 지
정하는 속성이다.
– 다음 키워드를 적용할 수 있다.

75
3.5 배경 속성
– 다음과 같은 방식으로 사용한다.

– 코드를 실행하면 다음과 같이 출력한다.

76
3.5 배경 속성
• background-position 속성
– 배경의 위치를 지정하는 속성이다.
– 다음과 같은 형식으로 값을 입력한다.

– 다음 키워드를 사용한다.

77
3.5 배경 속성
– 다음과 같은 방식으로 사용한다.

78
3.5 배경 속성
– 코드를 실행하면 다음과 같이 출력한다.

79
3.6 폰트 속성
• font-size 속성
– 글자의 크기를 지정할 때에 사용하는 속성이다.
– 다음과 같은 방법으로 사용한다.

80
3.6 폰트 속성
• font-family 속성
– 폰트를 지정하는 속성이다.
– 다음과 같이 폰트 이름을 입력해서 사용한다.

81
3.6 폰트 속성
– 사용자의 컴퓨터에 폰트가 없으면 폰트가 적용되지 않는다.
– 만약을 대비해 여러 개의 폰트를 연속적으로 입력한다.
– 하지만 다국적 웹 페이지를 제공할 경우 사용자에게 무슨 폰트가 있는
지 일일이 확인할 수 없다.
– 이러한 경우에는 generic-family 폰트를 사용한다.
– generic-family 폰트는 웹 브라우저에서 미리 지정하고 있는 폰트이다.

82
3.6 폰트 속성
– Serif 폰트(명조체), Sans-serif 폰트(고딕체), Mono space
폰트(고정 폭 글꼴)를 사용할 수 있다.
– Generic family font는 다음과 같은 방법으로 사용한다.

83
3.6 폰트 속성
• font-style 속성과 font-weight 속성
– 폰트의 기울기와 두께를 지정하는 속성이다.
– 각각의 속성에는 다음 키워드를 입력한다.

84
3.6 폰트 속성
– 각각의 속성은 다음과 같은 방법으로 사용한다.

85
3.6 폰트 속성
• text-align 속성
– 글자의 정렬과 관련된 스타일 속성이다.
– 다음 키워드를 입력한다.

86
3.6 폰트 속성
• text-decoration 속성
– a 태그에 href 속성이 지정되면 다음과 같이 밑줄이 표시
된다.
– 이를 제거하려면 다음과 같이 text-decoration 속성에
none 키워드를 지정한다.

87
3.7 위치 속성
• position 속성
– 태그의 위치 설정 방법을 변경할 때 사용한다.
– 다음 키워드를 입력할 수 있다.

– 각각의 키워드는 다음과 같은 의미를 갖는다.

88
3.7 위치 속성
– position 속성은 반드시 다음 스타일 속성과 함께
사용한다.

89
3.7 위치 속성
– 다음과 같은 방식으로 사용한다.

90
3.7 위치 속성
• z-index 속성
– HTML 태그는 아래 입력한 태그가
위로 올라온다.
– 이러한 순서를 변경할 때에 z-index
속성을 사용한다.
– 큰 값을 입력할 수록 위로 올라온다.
– 다음과 같은 방법으로 사용한다.

91
3.7 위치 속성
• 위치 속성과 관련된 공식
– 현재 만들고 있는 예제에서 다음과 같은 코드의 실행 결과를 예측해보
자

– 코드를 실행하면 다음과 같이 출력한다.

92
3.7 위치 속성
– 다음과 같은 문제를 발견할 수 있다.
• h1 태그 두 개가 붙어 있다(div 태그가 영역을 차지하지 않는다).
• 색상이 적용된 상자가 자신의 부모를 기준으로 위치를 잡지 않는
다.

– 이를 해결할 때는 다음과 같은 공식을 사용한다.
• 자손에게 position 속성을 absolute 키워드로 적용하면 부모에게
height 속성을 입력한다.
• 자손의 position 속성을 absolute 키워드로 적용하면 부모의
position 속성을 relative 키워드로 적용한다.

– 이를 사용하면 다음과 같이 코드를 적용할 수 있다.

93
3.7 위치 속성
– 코드를 실행하면 다음 그림처럼 출력한다.

• overflow 속성
– 내부의 요소가 부모의 범위를 벗어날 때 어떻게 처리할지 지정하는 속
성이다.
– 다음과 같은 키워드를 입력한다.

94
3.7 위치 속성
– 다음과 같은 방식으로 사용한다.

– 각각의 키워드를 적용할 때에 다음과 같이 실행된다.

95
3.8 float 속성
• float 속성 개요
– 웹 페이지 레이아웃을 구성할 때에 반드시 사용하는 속성
– 부유하는 대상을 만들 때에 사용하는 속성이다.
– 다음 키워드를 입력한다.

– float 속성을 사용하면 다음과 같이 이미지가 글자 위를 부유하게 만들
수 있다.

96
3.8 float 속성
• float 속성을 사용한 수평 정렬
– 동위 위치에 있는 태그에 모두 float 속성을 적용하면 수평 정렬된다.
– 다음 코드에서 div.box 태그는 동위 위치에 있다.

– 이러한 태그에 다음과 같은 스타일을 적용한다.

97
3.8 float 속성
– 코드를 실행하면 다음과 같이 수평 정렬된다.

– right 키워드를 적용했을 경우에는 위에 위치한 태그가 오
른쪽에 붙는 다는 것을 주의한다.

98
3.9 그림자 속성
• text-shadow 속성
– 글자에 그림자를 부여하는 속성이다.
– 다음과 같은 형태로 값을 입력한다.

– 다음과 같이 사용한다.

99
3.9 그림자 속성
• box-shadow 속성
– 박스에 그림자를 부여하는 속성이다.
– 다음과 같은 형태로 값을 입력한다.

– 다음과 같이 사용한다.

100
3.9 그림자 속성
• CSS3 Generator
– text-shadow 속성과 box-shadow 속성은 CSS3
Generator를 사용해 쉽게 만들 수 있다.

101
3.10 벤더 프리픽스
• 개요
– 벤더 프리픽스는 웹 브라우저 공급 업체(마이크로소프트, 구글, 모질
라, 애플, 오페라)에서 제공하는 실험적인 기능을 사용할 때 사용한다.
– 예를 들어 변환 속성은 CSS3 표준에 있지만 아직 완벽하게 제정된 상
태가 아니다. 따라서 웹 브라우저 업체가 무턱대고 속성을 추가할 수
없다.
– 하지만 다른 웹 브라우저를 이기려면 새로운 기능을 모두 제공해야 하
므로 벤더 프리픽스를 사용해 지원한다.
– 각 웹 브라우저마다 다음과 같은 벤더 프리픽스를 갖는다.

102
3.10 벤더 프리픽스
• 다음과 같은 방식으로 벤더 프리픽스를 사용한다.

103
3.11 그레이디언트
• 개요
– 그레이디언트는 2가지 이상의 색상을 혼합한 색을 만들어 채색하는
기능이다.

• Ultimate CSS Gradient Generator
– CSS3 그레이디언트를 손쉽게 생성할 수 있다.

104
3.11 그레이디언트
• linear-gradient() 함수
– 선형 그레이디언트를 만들 때에 사용한다.
– 다음과 같은 형태로 사용한다.

– 위의 그레이디언트 함수는 다음과 같은 그레이디언트를
생성한다.

105
4.CSS3 레이아웃

106
4.1 웹 페이지 개요
• 웹 페이지
– 논문과 관련된 용도로 시작한 HTML 문서는 1995
년에 민간에 공개되면서 발전하기 시작했다.
– 다음 그림은 1996년의 야후 메인 페이지이다.

107
4.1 웹 페이지 개요
– 현대의 모든 웹 페이지는 고정적인 영역으로 분리
된다.
– 다음 그림은 jQuery 홈페이지이다.

108
4.1 웹 페이지 개요
– jQuery 공식 홈페이지는 물론 국내 포털의 메인
사이트도 다음 그림 처럼 영역이 구분되어 있다.

109
4.2 레이아웃 구분
• 공간 분할
– 공간을 분할할 때는 다음 규칙을 지킨다.
1.
2.
3.
4.

웹 페이지를 구상한다.
웹 페이지의 구성 영역을 분리한다.
구성 영역을 행단위로 분리한다.
나누어진 행의 내부 요소를 분리한다.

– 이번 장에서 만드는 웹 페이지는 다음과 같이 공간을 분할한다.

110
4.3 초기화
• 초기화 코드
– 모든 HTML 페이지의 첫 번째 스타일시트는 초기화 코드로 시작한다.
– 초기화 코드는 모든 웹 브라우저에서 동일한 출력을 만드는 데 사용한
다.

– 전 세계적으로 다음 초기화 코드를 많이 사용한다.

111
4.4 헤더 구조 작성
• 헤더 구조
– body 태그에 다음과 같이 header 태그를 생성한다.

– #main_header 태그는
다음과 같이 구성한다.

112
4.4 헤더 구조 작성
– 이어서 다음과 같은 스타일을 적용한다.

113
4.4 헤더 구조 작성
– 현재 코드는 다음 그림을 출력한다.

114
4.5 웹 폰트
• 웹 폰트
– 웹 브라우저는 사용자의 컴퓨터에 설치된 폰트만 사용할 수 있다.
– 따라서 개발자의 컴퓨터에는 설치되어 있지만 사용자의 컴퓨터에 설
치되어 있지 않은 폰트는 문제가 된다.
– 이러한 문제를 해결할 때 사용하는 방법이 바로 웹 폰트이다.
– 웹 폰트는 사용자가 웹 페이지에 접속하는 순간 폰트를 자동으로 내려
받고 해당 웹 페이지에서 사용할 수 있게 만들어주는 기능이다.

115
4.5 웹 폰트
– 구글 웹 폰트에서 원하는 폰트를 선택하고 사용 방법을 복사한다.
– HTML 페이지에 다음과 같이 웹 폰트를 추가한다.

– 이렇게 웹 폰트를 추가하면 구글 웹 폰트에 나오는 방법으로 사용할
수 있다.

116
4.5 웹 폰트
– 웹 폰트를 적용하면 다음과 같이 출력한다.

117
4.6 수평 메뉴
• 수평 메뉴
– 헤더 내부의 수평 메뉴에는 다음과 같은 스타일로 수평 정
렬한다.

118
4.6 수평 메뉴
– 이어서 메뉴를 다음과 같은 코드로 꾸민다.

119
4.6 수평 메뉴
– 코드를 실행하면 다음과 같이 출력한다.

120
4.7 콘텐츠 구성
• 콘텐츠 구성
– body 태그에 다음과 같이 #content 태그를 추가한다.

– 이어서 #content 태그 내부에 section 태그와 aside 태그를 추가한다.

121
4.7 콘텐츠 구성
– 각각의 태그에 다음과 같이 스타일을 적용한다.

122
4.7 콘텐츠 구성
– 코드를 실행하면 다음과 같이 출력한다.

123
4.8 본문 구성
• 본문 구성
– #main_seciton 태그 내부에 다음과 같이 입력한
다.

124
4.8 본문 구성
– 이어서 다음 스타일을 적용한다.

– 코드를 실행하면 다음과 같이 출력한다.

125
4.9 사이드 탭바 구성
• 사이드 탭바
– 다음과 같이 같은 공간에 두 개 이상의 요소를 겹쳐놓는 것을 탭바라
고 한다.

– 탭바는 일반적으로 자바스크립트로 생성한다.
– CSS3를 사용하면 탭바를 쉽게 생성할 수 있다.

126
4.9 사이드 탭바 구성
– 다음과 같이 #main_aside 태그를 구성한다.

127
4.9 사이드 탭바 구성
– 이어서 다음 스타일을 적용한다.

– 코드를 실행하고 라벨을 누르면 내용이 전환된다.

128
4.9 사이드 탭바 구성
– 다음과 같은 코드를 사용해 탭바에 스타일을 적용한다.

129
4.9 사이드 탭바 구성
– 코드를 실행하면 다음과 같이 출력한다.

130
4.10 목록 구성
• 목록
– #main_aside 태그 내부의 li 태그를 다음 형태로
구성한다.

131
4.10 목록 구성
– 이어서 다음 스타일을 적용한다.

132
4.10 목록 구성
– 코드를 실행하면 다음과 같이 목록을 출력한다.

133
4.11 푸터 구성
• 푸터
– body 태그 내부에 다음과 같이 footer 태그를 생성한다.

– 이어서 #main_footer 태그에 다음 코드를 입력한다.

134
4.11 푸터 구성
– #main_footer 태그에는 다음 스타일을 적용한다.

135
4.12 정리
• 전체적으로 다음과 같은 웹 페이지가 완성된다.

136
5.CSS3 변환

137
5.1 2차원 변환
• 화면 좌표
– CSS3는 화면 좌표를 사용한다.
– 2차원 화면 좌표는 다음과 같다.

– 3차원 화면 좌표는 다음과 같다.

138
5.1 2차원 변환
• transform 속성
– CSS3는 다음 변환을 지원한다.

139
5.1 2차원 변환
– transform 속성에는 다음과 같은 변환 함수를 입
력할 수 있다.

140
5.1 2차원 변환
– 변환 속성은 다음과 같은 방법으로 사용한다.

141
5.2 3차원 변환
• transform 속성을 사용하면 3차원 변환을 구현할 수 있다.
• CSS3는 다음과 같은 3차원 변환 함수를 제공한다.

142
5.2 3차원 변환
• transform-style 속성
– 후손의 3차원 속성을 무시할지 유지할지를 지정

– transform-style 속성을 사용하면 다음과 같이 적용된다.

143
5.2 3차원 변환
• backface-visibility 속성
– 3차원 공간에서 평면의 후면을 보이거나 보이지
않게 만드는 속성

144
5.3 원근법
• perspective 속성을 사용하면 원근감을 조정할 수 있다.

• 큰 값을 입력할 수록 Z 축으로 픽셀이 응집된다.

145
5.3 3차원 변환
• 현재 예제에 perspective 속성을 입력하면 다
음과 같이 출력한다.

146
THANK YOU
Håkon Wium Lie, Opera soft, chief technical officer

147

More Related Content

Similar to 0.css3기본(~3일차내)

Html5 css3 20161205-원광석
Html5 css3 20161205-원광석Html5 css3 20161205-원광석
Html5 css3 20161205-원광석dgmong
 
[전파교육] css day 2014
[전파교육] css day 2014[전파교육] css day 2014
[전파교육] css day 2014Kyoung Hwan Min
 
HTML과 CSS
HTML과 CSSHTML과 CSS
HTML과 CSSdgmong
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0Byeong-Hyeok Yu
 
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfSangHoon Han
 
3 qgis visualization
3 qgis visualization3 qgis visualization
3 qgis visualizationJoonho Lee
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipelinechangehee lee
 
CSS Convention - BEM
CSS Convention - BEMCSS Convention - BEM
CSS Convention - BEMWonjun Hwang
 
생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작DACON AI 데이콘
 
[EWD2014]CLASS05
[EWD2014]CLASS05[EWD2014]CLASS05
[EWD2014]CLASS05JY LEE
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차Michael Yang
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2Yunho Jo
 
시나브로 CSS3
시나브로 CSS3시나브로 CSS3
시나브로 CSS3승환 오
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차Michael Yang
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차Michael Yang
 

Similar to 0.css3기본(~3일차내) (20)

3-1. css
3-1. css3-1. css
3-1. css
 
Html5 css3 20161205-원광석
Html5 css3 20161205-원광석Html5 css3 20161205-원광석
Html5 css3 20161205-원광석
 
[전파교육] css day 2014
[전파교육] css day 2014[전파교육] css day 2014
[전파교육] css day 2014
 
Asp.net Razor
Asp.net Razor Asp.net Razor
Asp.net Razor
 
Shader Driven
Shader DrivenShader Driven
Shader Driven
 
HTML과 CSS
HTML과 CSSHTML과 CSS
HTML과 CSS
 
QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0QGIS를 활용한 공간분석 입문 ver.1.0
QGIS를 활용한 공간분석 입문 ver.1.0
 
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
 
2 1. html4.01
2 1. html4.012 1. html4.01
2 1. html4.01
 
3 qgis visualization
3 qgis visualization3 qgis visualization
3 qgis visualization
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
CSS Convention - BEM
CSS Convention - BEMCSS Convention - BEM
CSS Convention - BEM
 
생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작생체 광학 데이터 분석 AI 경진대회 3위 수상작
생체 광학 데이터 분석 AI 경진대회 3위 수상작
 
[EWD2014]CLASS05
[EWD2014]CLASS05[EWD2014]CLASS05
[EWD2014]CLASS05
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 12일차
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2
 
시나브로 CSS3
시나브로 CSS3시나브로 CSS3
시나브로 CSS3
 
Amazon DynamoDB 키 디자인 패턴
Amazon DynamoDB 키 디자인 패턴Amazon DynamoDB 키 디자인 패턴
Amazon DynamoDB 키 디자인 패턴
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
 

0.css3기본(~3일차내)

  • 1. CSS3 기본 CSS 개요 및 구성요소 Jae-Ho Choi 1
  • 2. 1 CSS 개요 1p 2 CSS3 선택자 7p 3 CSS3 스타일 속성 15p 4 CSS3 레이아웃 22p 5 CSS3 변환 28p 2
  • 4. 1.1 CSS 개요 • Cascading Style Sheets의 약자 • “계단형 스타일시트”라고 한다. • CSS의 표준화 작업과 신기술 및 팁을 제공하는 W3C에서 1996년 CSS레벨1 발표 • 1998년 CSS레벨2 발표 • W3C www.w3.org/style/css 4
  • 5. 1.1 CSS 개요 • CSS 사용 목적 – HTML의 제약성에서 탈피한다. – 홈페이지 전체에 통일감과 일관성을 유지한다. – 홈페이지 제작 시간을 감소시키고 문서의 용량을 줄여준다. – 기존 홈페이지의 개념을 넘는 DHTML, XML의 기 초가 된다. 5
  • 6. 1.1 CSS 개요 • CSS 삽입방법 세 가지 – 태그 내부 삽입형(In-line style): 태그에 직접 붙이는 방법 <태그 Style="속성:값; 속성:값; "> – 문서 내 지정형(Embedding style): style 태그로 감싸는 방법 <Styel type="text/css"> <!-스타일내용 //--> </Style> – 외부 문서 삽입형(link style): 링크로 연결해 주는 방법 <link rel=stylesheet href="스타일 외부 파일 전체경로" type="text/css"> 6
  • 8. 2.1 선택자 개요 • 선택자는 특정한 HTML 태그를 선택할 때에 사용하는 기능 – 위치를 정해야 정해진 녀석들의 스타일을 바꿀 수 있다. • 선택자를 사용해 태그를 선택하면 원하는 스타일과 기능을 적용할 수 있다. • 스타일을 적용할 때에 선택자는 다음 위치에 사용한다. 8
  • 9. 2.2 CSS 선택자의 종류 • 기본 형식 <Style type="text/css"> 선택자{속성:값} </Style> 1. 태그 선택자 또는 „type 선택 자‟ 2. 클래스(class) 선택자 3. 아이디(ID) 선택자 4. 복수 선택자 5. 자손(descendant) 선택자 6. 태그 선택자와 클래스 선택 자 연계 7. 태그 선택자와 아이디 선택 자를 연계 8. 가상클래스 선택자 9
  • 10. 2.3 전체 선택자 • HTML 문서 안의 모든 태그를 선택할 때는 전체 선택 자를 사용한다. • 다음 코드는 문서 안의 모든 태그의 color 속성을 red 로 지정한다. 10
  • 11. 2.4 전체 선택자의 예 • 코드를 실행하면 다음과 같이 출력한다. 11
  • 12. 2.5 태그 선택자 • 태그 선택자는 특정한 HTML 태그를 선택한다. • 다음 코드는 h1 태그와 p 태그를 선택한다. 12
  • 13. 2.5 태그 선택자 • 코드를 실행하면 다음과 같이 출력한다. 13
  • 14. 2.6 아이디 선택자와 클래스 선택자 • 아이디 선택자 – 아이디 선택자는 특정한 id 속성을 가지고 있는 태 그를 선택한다. – 다음과 같은 방법으로 사용한다. 14
  • 15. 2.6 아이디 선택자와 클래스 선택자 • 클래스 선택자 – 클래스 선택자는 특정한 class 속성을 가지고 있는 태그를 선택한다 – 다음과 같은 방법으로 사용한다. 15
  • 16. 2.6 아이디 선택자와 클래스 선택자 – 실행 결과는 다음과 같다. 16
  • 17. 2.7 속성 선택자 • 속성 선택자는 특정한 속성을 가진 태그를 선택할 때 사용한다. – 특정 태그 중에서 이러이러한 속성을 가지는 녀석들을 골 라내는데 사용한다. • 기본 속성 선택자 – 기본 속성 선택자는 특정한 속성의 존재 유무와 속성 값을 판별할 때에 사용한다. 17
  • 18. 2.7 속성 선택자 – 다음과 같은 방식으로 사용한다. 18
  • 19. 2.7 속성 선택자 • 문자열 속성 선택자 – 문자열 속성 선택자는 태그가 가지고 있는 속성의 특정한 문자열을 확인한다. 19
  • 20. 2.7 속성 선택자 – 실행 결과는 다음과 같다. • 실행전에 세가지 파일을 받아야 실행이 가능합니다. 20
  • 21. 2.8 후손 선택자와 자손 선택자 • 다음과 같은 코드가 있다. • 이때 div 태그의 자손과 후손은 다음과 같이 정의한다. 21
  • 22. 2.8 후손 선택자와 자손 선택자 • 후손 선택자 – 후손 선택자는 특정한 태그 아래에 있는 후손을 선택할 때 사용하는 선택자이다. – 후손 선택자는 다음과 같은 방법으로 사용한다. 22
  • 23. 2.8 후손 선택자와 자손 선택자 • 자손 선택자 – 자손 선택자는 특정한 태그 아래에 있는 자손을 선택할 때 사용하는 선택자이다. – 자손 선택자는 다음과 같은 방법으로 사용한다. 23
  • 24. 2.9 동위 선택자 • 다음과 같은 코드가 있다. • 이때 li 태그와 동위 관계에 있는 태그는 다음과 같이 정의한 다. 24
  • 25. 2.9 동위 선택자 • 동위 선택자 – 동위 선택자는 동위 관계에서 뒤에 위치한 태그를 선택할 때 사용하는 선택자이다. – 다음과 같은 방법으로 사용한다. 25
  • 26. 2.9 동위 선택자 – 코드를 실행하면 다음과 같다. 26
  • 27. 2.10 반응 선택자 • 반응 선택자 – 반응 선택자는 사용자의 반응으로 생성되는 특정한 상태를 선택하는 선택자이다. • 예) 마우스가 올려졌을 때, 클릭이 됐을 때 – 사용자가 마우스를 특정한 태그 위에 올리면 hover 상태가 적용되고 클릭하면 active 상태가 적용된다. 27
  • 28. 2.10 반응 선택자 • 다음과 같은 방법으로 사용한다. – 코드를 실행하고 마우스를 올리고 클릭하면 다음과 같이 색상이 변경된다. 28
  • 29. 2.11 상태 선택자 • 상태 선택자 – 상태 선택자는 입력 양식의 상태를 선택할 때 사용하는 선 택자이다. – 다음과 같은 상태를 check 상태라고 한다. – 다음과 같은 상태를 focus 상태라고 한다. 29
  • 30. 2.11 상태 선택자 – 다음과 같은 방법으로 사용한다. 30
  • 31. 2.12 구조 선택자 • 구조 선택자 – 구조 선택자는 CSS3부터 지원하는 선택자이다. – 일반적으로 자손 선택자와 병행해서 많이 사용한다. • 일반 구조 선택자 – 일반 구조 선택자는 특정한 위치에 있는 태그를 선택하는 선택자이다. 31
  • 32. 2.12 구조 선택자 – 다음과 같은 방법으로 사용한다. - 출력은 다음과 같다. 32
  • 33. 2.12 구조 선택자 • 형태 구조 선택자 – 형태 구조 선택자는 일반 구조 선택자와 비슷하지만 태그 형태를 구분한다. 33
  • 34. 2.12 구조 선택자 – 다음과 같은 방법으로 사용한다. 34
  • 35. 2.12 구조 선택자 – 코드를 실행하면 다음과 같이 출력한다. 35
  • 36. 2.13 문자 선택자 • 문자 선택자 – 문자 선택자는 태그 내부의 특정한 조건의 문자를 선택하는 선택자이 다. • 시작 문자 선택자 – 시작 문자 선택자는 태그 내부의 첫 번째 글자나 첫 번째 줄을 선택할 때 사용하는 선택자이다. 36
  • 37. 2.13 문자 선택자 – 다음과 같은 방법으로 사용한다. 37
  • 38. 2.13 문자 선택자 – 코드를 실행하면 다음과 같이 출력한다. 38
  • 39. 2.13 문자 선택자 • 반응 문자 선택자 – 반응 문자 선택자는 사용자가 문자와 반응해서 생기는 영 역을 선택하는 선택자이다. – 다음과 같은 방법으로 사용한다. 39
  • 40. 2.13 문자 선택자 – 코드를 실행하면 다음과 같이 출력한다. 40
  • 41. 2.14 링크 선택자 • 링크 선택자 – 링크 선택자는 href 속성을 가지고 있는 a 태그와 한 번 이 상 다녀온 링크를 선택할 수 있는 선택자이다. 41
  • 42. 2.14 링크 선택자 – 다음과 같은 방법으로 사용한다. – 코드를 실행하면 다음과 같이 출력한다. 42
  • 43. 2.15 부정 선택자 • 부정 선택자 – 부정 선택자는 지금까지 배운 선택자를 모두 반대 로 적용할 수 있게 만드는 선택자이다. 43
  • 44. 2.15 부정 선택자 – 다음과 같은 방법으로 사용한다. – 코드를 실행하면 다음과 같이 출력한다. 44
  • 46. 3.1 CSS3 단위 • CSS는 각각의 스타일 속성에 다양한 값을 입력한 다. • 키워드 단위 – 키워드는 CSS를 개발할 때에 이미 지정된 단어들을 의미한다. – 통합 개발 환경을 사용할 때에 다음과 같이 확인할 수 있다. 46
  • 47. 3.1 CSS3 단위 • 크기 단위 – CSS3에서 사용하는 크기 단위는 %, em, cm, mm, inch, px이다. – 크기 단위는 다음과 같은 방법으로 사용한다. 47
  • 48. 3.1 CSS3 단위 • 색상 단위 – 색상을 적용하는 가장 기본 방법은 키워드를 사용하는 것이다. – CSS3는 다음과 같은 색상 단위를 사용해 색상을 지정한다. 48
  • 49. 3.1 CSS3 단위 • URL 단위 – 파일을 지정할 때는 URL 단위를 사용한다. – URL 단위는 다음과 같은 방법으로 사용한다. – URL 내부에는 상대 경로, 절대 경로가 모두 사용된다. 49
  • 50. 3.2 가시 속성 • display 속성 – display 속성은 태그의 영역 표현 방식을 지정하는 속성이다. – 다음 키워드를 입력할 수 있다. – 다음과 같은 방법으로 사용한다. 50
  • 51. 3.2 가시 속성 – none 키워드를 사용하면 태그가 완전히 화면에서 제거된 다. – block 키워드를 사용하면 태그가 한 줄을 차지한다. – inline 키워드 또는 inline-block 키워드를 사용하면 한 줄에 들어간다. 51
  • 52. 3.2 가시 속성 – inline 키워드를 사용할 때와 inline-block 키워드를 사용할 때의 차이점은 margin 속성과 padding 속성을 적용할 때 에 알 수 있다. – inline 키워드를 사용하면 margin 속성과 padding 속성이 좌우로만 적용된다. – inline-block 키워드를 사용하면 margin 속성과 padding 속 성이 상하좌우로 적용된다. 52
  • 53. 3.2 가시 속성 • visibility 속성 – 대상을 보이거나 보이지 않게 지정하는 속성이다. – display 속성을 none 키워드로 지정하는 것과 달 리 영역을 유지한 채로 보이지 않게만 만든다. 53
  • 54. 3.2 가시 속성 • opacity 속성 – 대상의 투명도를 지정하는 속성이다. – 0부터 1 사이의 숫자를 입력한다. (0은 투명이고 1은 불투명이다.) – 다음과 같은 방법으로 사용한다. – 코드를 실행하면 다음과 같이 출력한다. 54
  • 55. 3.3 박스 속성 • 박스 속성은 웹 페이지의 레이아웃을 구성할 때 가장 중요한 속성이다. • 다음 속성을 모두 합쳐 박스 속성이라고 이야기한다. 55
  • 56. 3.3 박스 속성 • width 속성과 height 속성 – width 속성과 height 속성은 글자를 감싸는 영역의 크기를 지정하는 속성이다. – 다음과 같은 방식으로 사용한다. 56
  • 57. 3.3 박스 속성 • margin 속성과 padding 속성 – margin 속성은 마진의 너비를 지정하는 속성이고 padding 속성은 패딩의 너비를 지정하는 속성이다. 57
  • 58. 3.3 박스 속성 – margin 속성과 padding 속성은 width 속성과 height 속성과 별도로 적용된다. – 박스 크기는 다음과 같은 공식을 갖는다. 58
  • 59. 3.3 박스 속성 • box-sizing 속성 – width 속성과 height 속성은 글자를 감싸는 영역의 크기를 지정하는 속성이다. box-sizing 속성은 이 러한 공식을 변경할 수 있는 CSS3 속성이다. – 다음과 같은 키워드를 입력할 수 있다. 59
  • 60. 3.3 박스 속성 – 각각의 키워드를 적용할 때에 width 속성과 height 속성의 적용 범위가 다음과 같이 변경된다. – content-box 키워드의 경우 박스의 크기를 다음 공식으로 구한다. – border-box 키워드의 경우 박스의 크기를 다음 공식으로 구한다. 60
  • 61. 3.4 테두리 속성 • border-width 속성 – 테두리의 너비를 지정하는 속성이다. – 다음 키워드를 적용한다. 61
  • 62. 3.4 테두리 속성 • border-style 속성 – 테두리의 형태를 지정하는 속성이다. – 다음 키워드를 적용한다. 62
  • 63. 3.4 테두리 속성 • border-width, border-style, border-color 속성을 사용 해야 테두리를 생성할 수 있다. – 각각의 속성은 다음과 같은 방법으로 사용한다. – 코드를 실행하면 다음과 같이 출력한다. 63
  • 64. 3.4 테두리 속성 • 방금 살펴본 3가지 테두리 속성은 border 속성으로 한번에 입 력할 수 있다. • border-radius 속성 – border-radius 속성을 사용하면 테두리가 둥근 사각형 또는 원을 만들 수 있다. – 다음과 같은 방식으로 사용한다. 64
  • 65. 3.4 테두리 속성 – 코드를 실행하면 다음 그림처럼 출력한다. – 각각의 테두리의 둥글기를 설정할 수도 있다. 65
  • 66. 3.5 배경 속성 • background-image 속성 – 배경에 넣을 그림을 지정하는 속성이다. – 다음과 같은 방법으로 사용한다. 66
  • 67. 3.5 배경 속성 • 배경 이미지 속성 속성 background-color 설명 배경색 값 yellow, transparent background-image 배경 이미지 지정 url(파일명) background-repeat 배경 이미지 정렬 repeat, repeat-x, repeat-y, no-repeat background-position 배경 이미지 위치 80%, 90px, left, center, right, top, center, bottom backgroundpositionX 가로축 고정 위치 left, center, right backgroundpositionY 세로축 고정 위치 top, center, bottom backgroundattachment 이미지 고정 fixed, scroll background 배경 이미지 한 번에 지 정 url( 파 일 명 ), repeat-x, repeat-y, norepeat, left, center, right, top, center, bottom, fixed, scrol l 67
  • 68. 3.5 배경 속성 – 코드를 실행하면 다음과 같이 출력한다. 68
  • 69. 3.5 배경 속성 – 이미지를 중첩해서 사용할 수 있다.(CSS3부터 지원하므 로 구 버전의 웹 브라우저에서는 사용 불가능) – 코드를 실행하면 다음과 같이 출력한다. – 왼쪽에 위치하는 그림이 앞에 위치한다. 69
  • 70. 3.5 배경 속성 • background-size 속성 – 그림 크기를 조절할 때에 사용하는 속성이다. – CSS3에서 추가된 속성이므로 인터넷 익스플로러 8 이하에서는 사용할 수 없다. – 다음과 같은 크기 단위를 넣어 사용한다. 70
  • 71. 3.5 배경 속성 – 코드를 실행하면 다음과 같이 출력한다. – 크기 단위를 2개 입력하면 두 번째 크기 단위는 높이를 의 미한다. 71
  • 72. 3.5 배경 속성 – 쉼표를 사용해 구분하면 여러 개의 배경 이미지에 크기를 각각 적용한다. 72
  • 73. 3.5 배경 속성 • background-repeat 속성 – 배경 패턴 방식을 지정하는 속성이다. – 다음 키워드를 입력할 수 있다. – 다음과 같은 방식으로 사용한다. 73
  • 74. 3.5 배경 속성 – 코드를 실행하면 다음과 같이 출력한다. 74
  • 75. 3.5 배경 속성 • background-attachment 속성 – 배경 이미지를 어떠한 방식으로 화면에 붙일 것인지를 지 정하는 속성이다. – 다음 키워드를 적용할 수 있다. 75
  • 76. 3.5 배경 속성 – 다음과 같은 방식으로 사용한다. – 코드를 실행하면 다음과 같이 출력한다. 76
  • 77. 3.5 배경 속성 • background-position 속성 – 배경의 위치를 지정하는 속성이다. – 다음과 같은 형식으로 값을 입력한다. – 다음 키워드를 사용한다. 77
  • 78. 3.5 배경 속성 – 다음과 같은 방식으로 사용한다. 78
  • 79. 3.5 배경 속성 – 코드를 실행하면 다음과 같이 출력한다. 79
  • 80. 3.6 폰트 속성 • font-size 속성 – 글자의 크기를 지정할 때에 사용하는 속성이다. – 다음과 같은 방법으로 사용한다. 80
  • 81. 3.6 폰트 속성 • font-family 속성 – 폰트를 지정하는 속성이다. – 다음과 같이 폰트 이름을 입력해서 사용한다. 81
  • 82. 3.6 폰트 속성 – 사용자의 컴퓨터에 폰트가 없으면 폰트가 적용되지 않는다. – 만약을 대비해 여러 개의 폰트를 연속적으로 입력한다. – 하지만 다국적 웹 페이지를 제공할 경우 사용자에게 무슨 폰트가 있는 지 일일이 확인할 수 없다. – 이러한 경우에는 generic-family 폰트를 사용한다. – generic-family 폰트는 웹 브라우저에서 미리 지정하고 있는 폰트이다. 82
  • 83. 3.6 폰트 속성 – Serif 폰트(명조체), Sans-serif 폰트(고딕체), Mono space 폰트(고정 폭 글꼴)를 사용할 수 있다. – Generic family font는 다음과 같은 방법으로 사용한다. 83
  • 84. 3.6 폰트 속성 • font-style 속성과 font-weight 속성 – 폰트의 기울기와 두께를 지정하는 속성이다. – 각각의 속성에는 다음 키워드를 입력한다. 84
  • 85. 3.6 폰트 속성 – 각각의 속성은 다음과 같은 방법으로 사용한다. 85
  • 86. 3.6 폰트 속성 • text-align 속성 – 글자의 정렬과 관련된 스타일 속성이다. – 다음 키워드를 입력한다. 86
  • 87. 3.6 폰트 속성 • text-decoration 속성 – a 태그에 href 속성이 지정되면 다음과 같이 밑줄이 표시 된다. – 이를 제거하려면 다음과 같이 text-decoration 속성에 none 키워드를 지정한다. 87
  • 88. 3.7 위치 속성 • position 속성 – 태그의 위치 설정 방법을 변경할 때 사용한다. – 다음 키워드를 입력할 수 있다. – 각각의 키워드는 다음과 같은 의미를 갖는다. 88
  • 89. 3.7 위치 속성 – position 속성은 반드시 다음 스타일 속성과 함께 사용한다. 89
  • 90. 3.7 위치 속성 – 다음과 같은 방식으로 사용한다. 90
  • 91. 3.7 위치 속성 • z-index 속성 – HTML 태그는 아래 입력한 태그가 위로 올라온다. – 이러한 순서를 변경할 때에 z-index 속성을 사용한다. – 큰 값을 입력할 수록 위로 올라온다. – 다음과 같은 방법으로 사용한다. 91
  • 92. 3.7 위치 속성 • 위치 속성과 관련된 공식 – 현재 만들고 있는 예제에서 다음과 같은 코드의 실행 결과를 예측해보 자 – 코드를 실행하면 다음과 같이 출력한다. 92
  • 93. 3.7 위치 속성 – 다음과 같은 문제를 발견할 수 있다. • h1 태그 두 개가 붙어 있다(div 태그가 영역을 차지하지 않는다). • 색상이 적용된 상자가 자신의 부모를 기준으로 위치를 잡지 않는 다. – 이를 해결할 때는 다음과 같은 공식을 사용한다. • 자손에게 position 속성을 absolute 키워드로 적용하면 부모에게 height 속성을 입력한다. • 자손의 position 속성을 absolute 키워드로 적용하면 부모의 position 속성을 relative 키워드로 적용한다. – 이를 사용하면 다음과 같이 코드를 적용할 수 있다. 93
  • 94. 3.7 위치 속성 – 코드를 실행하면 다음 그림처럼 출력한다. • overflow 속성 – 내부의 요소가 부모의 범위를 벗어날 때 어떻게 처리할지 지정하는 속 성이다. – 다음과 같은 키워드를 입력한다. 94
  • 95. 3.7 위치 속성 – 다음과 같은 방식으로 사용한다. – 각각의 키워드를 적용할 때에 다음과 같이 실행된다. 95
  • 96. 3.8 float 속성 • float 속성 개요 – 웹 페이지 레이아웃을 구성할 때에 반드시 사용하는 속성 – 부유하는 대상을 만들 때에 사용하는 속성이다. – 다음 키워드를 입력한다. – float 속성을 사용하면 다음과 같이 이미지가 글자 위를 부유하게 만들 수 있다. 96
  • 97. 3.8 float 속성 • float 속성을 사용한 수평 정렬 – 동위 위치에 있는 태그에 모두 float 속성을 적용하면 수평 정렬된다. – 다음 코드에서 div.box 태그는 동위 위치에 있다. – 이러한 태그에 다음과 같은 스타일을 적용한다. 97
  • 98. 3.8 float 속성 – 코드를 실행하면 다음과 같이 수평 정렬된다. – right 키워드를 적용했을 경우에는 위에 위치한 태그가 오 른쪽에 붙는 다는 것을 주의한다. 98
  • 99. 3.9 그림자 속성 • text-shadow 속성 – 글자에 그림자를 부여하는 속성이다. – 다음과 같은 형태로 값을 입력한다. – 다음과 같이 사용한다. 99
  • 100. 3.9 그림자 속성 • box-shadow 속성 – 박스에 그림자를 부여하는 속성이다. – 다음과 같은 형태로 값을 입력한다. – 다음과 같이 사용한다. 100
  • 101. 3.9 그림자 속성 • CSS3 Generator – text-shadow 속성과 box-shadow 속성은 CSS3 Generator를 사용해 쉽게 만들 수 있다. 101
  • 102. 3.10 벤더 프리픽스 • 개요 – 벤더 프리픽스는 웹 브라우저 공급 업체(마이크로소프트, 구글, 모질 라, 애플, 오페라)에서 제공하는 실험적인 기능을 사용할 때 사용한다. – 예를 들어 변환 속성은 CSS3 표준에 있지만 아직 완벽하게 제정된 상 태가 아니다. 따라서 웹 브라우저 업체가 무턱대고 속성을 추가할 수 없다. – 하지만 다른 웹 브라우저를 이기려면 새로운 기능을 모두 제공해야 하 므로 벤더 프리픽스를 사용해 지원한다. – 각 웹 브라우저마다 다음과 같은 벤더 프리픽스를 갖는다. 102
  • 103. 3.10 벤더 프리픽스 • 다음과 같은 방식으로 벤더 프리픽스를 사용한다. 103
  • 104. 3.11 그레이디언트 • 개요 – 그레이디언트는 2가지 이상의 색상을 혼합한 색을 만들어 채색하는 기능이다. • Ultimate CSS Gradient Generator – CSS3 그레이디언트를 손쉽게 생성할 수 있다. 104
  • 105. 3.11 그레이디언트 • linear-gradient() 함수 – 선형 그레이디언트를 만들 때에 사용한다. – 다음과 같은 형태로 사용한다. – 위의 그레이디언트 함수는 다음과 같은 그레이디언트를 생성한다. 105
  • 107. 4.1 웹 페이지 개요 • 웹 페이지 – 논문과 관련된 용도로 시작한 HTML 문서는 1995 년에 민간에 공개되면서 발전하기 시작했다. – 다음 그림은 1996년의 야후 메인 페이지이다. 107
  • 108. 4.1 웹 페이지 개요 – 현대의 모든 웹 페이지는 고정적인 영역으로 분리 된다. – 다음 그림은 jQuery 홈페이지이다. 108
  • 109. 4.1 웹 페이지 개요 – jQuery 공식 홈페이지는 물론 국내 포털의 메인 사이트도 다음 그림 처럼 영역이 구분되어 있다. 109
  • 110. 4.2 레이아웃 구분 • 공간 분할 – 공간을 분할할 때는 다음 규칙을 지킨다. 1. 2. 3. 4. 웹 페이지를 구상한다. 웹 페이지의 구성 영역을 분리한다. 구성 영역을 행단위로 분리한다. 나누어진 행의 내부 요소를 분리한다. – 이번 장에서 만드는 웹 페이지는 다음과 같이 공간을 분할한다. 110
  • 111. 4.3 초기화 • 초기화 코드 – 모든 HTML 페이지의 첫 번째 스타일시트는 초기화 코드로 시작한다. – 초기화 코드는 모든 웹 브라우저에서 동일한 출력을 만드는 데 사용한 다. – 전 세계적으로 다음 초기화 코드를 많이 사용한다. 111
  • 112. 4.4 헤더 구조 작성 • 헤더 구조 – body 태그에 다음과 같이 header 태그를 생성한다. – #main_header 태그는 다음과 같이 구성한다. 112
  • 113. 4.4 헤더 구조 작성 – 이어서 다음과 같은 스타일을 적용한다. 113
  • 114. 4.4 헤더 구조 작성 – 현재 코드는 다음 그림을 출력한다. 114
  • 115. 4.5 웹 폰트 • 웹 폰트 – 웹 브라우저는 사용자의 컴퓨터에 설치된 폰트만 사용할 수 있다. – 따라서 개발자의 컴퓨터에는 설치되어 있지만 사용자의 컴퓨터에 설 치되어 있지 않은 폰트는 문제가 된다. – 이러한 문제를 해결할 때 사용하는 방법이 바로 웹 폰트이다. – 웹 폰트는 사용자가 웹 페이지에 접속하는 순간 폰트를 자동으로 내려 받고 해당 웹 페이지에서 사용할 수 있게 만들어주는 기능이다. 115
  • 116. 4.5 웹 폰트 – 구글 웹 폰트에서 원하는 폰트를 선택하고 사용 방법을 복사한다. – HTML 페이지에 다음과 같이 웹 폰트를 추가한다. – 이렇게 웹 폰트를 추가하면 구글 웹 폰트에 나오는 방법으로 사용할 수 있다. 116
  • 117. 4.5 웹 폰트 – 웹 폰트를 적용하면 다음과 같이 출력한다. 117
  • 118. 4.6 수평 메뉴 • 수평 메뉴 – 헤더 내부의 수평 메뉴에는 다음과 같은 스타일로 수평 정 렬한다. 118
  • 119. 4.6 수평 메뉴 – 이어서 메뉴를 다음과 같은 코드로 꾸민다. 119
  • 120. 4.6 수평 메뉴 – 코드를 실행하면 다음과 같이 출력한다. 120
  • 121. 4.7 콘텐츠 구성 • 콘텐츠 구성 – body 태그에 다음과 같이 #content 태그를 추가한다. – 이어서 #content 태그 내부에 section 태그와 aside 태그를 추가한다. 121
  • 122. 4.7 콘텐츠 구성 – 각각의 태그에 다음과 같이 스타일을 적용한다. 122
  • 123. 4.7 콘텐츠 구성 – 코드를 실행하면 다음과 같이 출력한다. 123
  • 124. 4.8 본문 구성 • 본문 구성 – #main_seciton 태그 내부에 다음과 같이 입력한 다. 124
  • 125. 4.8 본문 구성 – 이어서 다음 스타일을 적용한다. – 코드를 실행하면 다음과 같이 출력한다. 125
  • 126. 4.9 사이드 탭바 구성 • 사이드 탭바 – 다음과 같이 같은 공간에 두 개 이상의 요소를 겹쳐놓는 것을 탭바라 고 한다. – 탭바는 일반적으로 자바스크립트로 생성한다. – CSS3를 사용하면 탭바를 쉽게 생성할 수 있다. 126
  • 127. 4.9 사이드 탭바 구성 – 다음과 같이 #main_aside 태그를 구성한다. 127
  • 128. 4.9 사이드 탭바 구성 – 이어서 다음 스타일을 적용한다. – 코드를 실행하고 라벨을 누르면 내용이 전환된다. 128
  • 129. 4.9 사이드 탭바 구성 – 다음과 같은 코드를 사용해 탭바에 스타일을 적용한다. 129
  • 130. 4.9 사이드 탭바 구성 – 코드를 실행하면 다음과 같이 출력한다. 130
  • 131. 4.10 목록 구성 • 목록 – #main_aside 태그 내부의 li 태그를 다음 형태로 구성한다. 131
  • 132. 4.10 목록 구성 – 이어서 다음 스타일을 적용한다. 132
  • 133. 4.10 목록 구성 – 코드를 실행하면 다음과 같이 목록을 출력한다. 133
  • 134. 4.11 푸터 구성 • 푸터 – body 태그 내부에 다음과 같이 footer 태그를 생성한다. – 이어서 #main_footer 태그에 다음 코드를 입력한다. 134
  • 135. 4.11 푸터 구성 – #main_footer 태그에는 다음 스타일을 적용한다. 135
  • 136. 4.12 정리 • 전체적으로 다음과 같은 웹 페이지가 완성된다. 136
  • 138. 5.1 2차원 변환 • 화면 좌표 – CSS3는 화면 좌표를 사용한다. – 2차원 화면 좌표는 다음과 같다. – 3차원 화면 좌표는 다음과 같다. 138
  • 139. 5.1 2차원 변환 • transform 속성 – CSS3는 다음 변환을 지원한다. 139
  • 140. 5.1 2차원 변환 – transform 속성에는 다음과 같은 변환 함수를 입 력할 수 있다. 140
  • 141. 5.1 2차원 변환 – 변환 속성은 다음과 같은 방법으로 사용한다. 141
  • 142. 5.2 3차원 변환 • transform 속성을 사용하면 3차원 변환을 구현할 수 있다. • CSS3는 다음과 같은 3차원 변환 함수를 제공한다. 142
  • 143. 5.2 3차원 변환 • transform-style 속성 – 후손의 3차원 속성을 무시할지 유지할지를 지정 – transform-style 속성을 사용하면 다음과 같이 적용된다. 143
  • 144. 5.2 3차원 변환 • backface-visibility 속성 – 3차원 공간에서 평면의 후면을 보이거나 보이지 않게 만드는 속성 144
  • 145. 5.3 원근법 • perspective 속성을 사용하면 원근감을 조정할 수 있다. • 큰 값을 입력할 수록 Z 축으로 픽셀이 응집된다. 145
  • 146. 5.3 3차원 변환 • 현재 예제에 perspective 속성을 입력하면 다 음과 같이 출력한다. 146
  • 147. THANK YOU Håkon Wium Lie, Opera soft, chief technical officer 147