SlideShare a Scribd company logo
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

PDF
[WEB UI BASIC] CSS_1
PDF
CSS3 천기누설
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 6일차
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료3일차
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
PPTX
처음부터 다시 배우는 HTML5 & CSS3 1일차
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
[WEB UI BASIC] CSS_1
CSS3 천기누설
처음부터 다시 배우는 HTML5 & CSS3 강의자료 5일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 6일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료3일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 1일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차

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

PPTX
Html5 css3 20161205-원광석
PPTX
3-1. css
PDF
문돌이가 가르치는 웹 프론트엔드 1차시
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차
PDF
CSS3 Backgrounds
PPTX
XECon+PHPFest2014 발표자료 - 효율적인 css 개발방법 - 최대영
PDF
[전파교육] css day 2014
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차
PPTX
웹퍼블리싱강의
PDF
Web_02 CSS
PDF
정찬명 - CSS Selectors in HTML [WSConf. Seoul 2016/2017]
PPTX
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
PDF
시나브로 CSS3
PDF
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기
PDF
HTML&CSS 태그, 속성, 셀렉터
PDF
2011웹표준[04] 실전예제(네비게이션,버튼,박스,포지션)
PDF
웹표준 교육
PDF
쉬운 예제 중심의 HTML5 / CSS / MediaQuery / JQuery 강의
PDF
[EWD2014]CLASS05
PDF
[20160115] 작심 10시간 - CSS
Html5 css3 20161205-원광석
3-1. css
문돌이가 가르치는 웹 프론트엔드 1차시
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차
CSS3 Backgrounds
XECon+PHPFest2014 발표자료 - 효율적인 css 개발방법 - 최대영
[전파교육] css day 2014
처음부터 다시 배우는 HTML5 & CSS3 강의자료 9일차
웹퍼블리싱강의
Web_02 CSS
정찬명 - CSS Selectors in HTML [WSConf. Seoul 2016/2017]
처음부터 다시 배우는 HTML5 & CSS3 강의자료 8일차
시나브로 CSS3
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기
HTML&CSS 태그, 속성, 셀렉터
2011웹표준[04] 실전예제(네비게이션,버튼,박스,포지션)
웹표준 교육
쉬운 예제 중심의 HTML5 / CSS / MediaQuery / JQuery 강의
[EWD2014]CLASS05
[20160115] 작심 10시간 - CSS
Ad

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