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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
|
---
title: 미디어
slug: Web/CSS/시작하기/미디어
translation_of: Web/Progressive_web_apps/Responsive/Media_types
---
<p>{{ CSSTutorialTOC() }}</p>
<div class="warning">
<strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/03/21)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
<p>{{ previousPage("/en-US/docs/CSS/Getting_Started/Tables", "테이블") }}<a href="/en/CSS/Getting_Started" title="en/CSS/Getting Started">CSS 시작하기</a> 안내서의 14번쨰 장. 지금까지 이번 안내서에서는 많은 부분을 Document를 어떻게 보여 줄것인지 결정하는 CSS의 속성과 변수에 관해 소개 했다. 이번에는 Stylesheet의 구조와 목적에 대해 다시 살펴 보자.</p>
<h2 class="clearLeft" id="정보_미디어">정보 : 미디어</h2>
<p>CSS의 목적은 Document가 사용자에게 어떻게 보여질 것인가를 설정하는 것이다. 전시되는 형태는 하나 이상의 형식이 있다.</p>
<p>예를 들면, 아마도 이 페이지도 화면 표시 장치를 통해 보여질 것이다. 그러나 큰 화면용으로 프로젝터나 프린트해서 보는 경우도 있을 것이다. 이런 다양한 미디어의 경우 그 고유의 문자셋같은 특징이 있을 것이다. CSS는 document를 각각의 미디어에 표시하기 위한 다양한 방법을 제공한다.</p>
<p>미디어의 특정 타입을 정하는 규칙을 추가 하려면 {{ CSSXref("@media") }} 다음에 미디어 타입 넣고, 그 다음에 대괄호({})로 해당 규칙을 추가 하라.</p>
<div class="tuto_example">
<div class="tuto_type">
예제</div>
<p>웹사이트에 있는 document는 그 사이트 전체를 살펴볼수 있도록 조절 할 수 있는 영역을 제공한다.</p>
<p>마크업 언어에서는, 조정영역의 부모 element의 <strong>id</strong>가 <code>nav-area</code>이다. ({{ HTMLVersionInline(5) }}에서는 <strong>id</strong> 속성이 포함된 {{ HTMLElement("div") }}대신에 {{ HTMLElement("nav") }} element로 사용 할 수 있다.)</p>
<p>Document가 프린트 될 경우는 이 조정 영역이 필요 없으므로 stylesheet에서는 완전히 이 영역을 제거한다.</p>
<pre class="brush:css">@media print {
#nav-area {display: none;}
}
</pre>
</div>
<p>일반적인 미디어 타입은 아래와 같다.</p>
<table class="standard-table">
<tbody>
<tr>
<td><code>screen</code></td>
<td>컬러 컴퓨터 표시 장치</td>
</tr>
<tr>
<td><code>print</code></td>
<td>출력 장치</td>
</tr>
<tr>
<td style="padding-right: 1em;"><code>projection</code></td>
<td>프로젝트 출력 장치</td>
</tr>
<tr>
<td><code>all</code></td>
<td>그외 모든 미디어 장치(기본 설정)</td>
</tr>
</tbody>
</table>
<div class="tuto_details">
<div class="tuto_type">
좀더 자세히</div>
<p>한 무리의 규칙들의 미디어 타입을 설정하는데는 다른 방법들도 있다.</p>
<p>Stylesheet가 document로 연결되어 있을때 document의 마크업 언어는 미디어 타입을 설정하는 것을 허용한다. 예를 들면, HTML내의 <code>LINK</code> 태그에서 <code>media속성으로 옵션항목으로 미디어 타입을 설정 할 수 있다.</code></p>
<p>CSS에서 stylesheet의 앞부분에 {{ CSSXref("@import") }}로 URL로 부터 다른 stylesheet를 불러 올 수 있다. 추가적으로 미디어 타입도 사용 가능하다.</p>
<p>이와 같은 규직으로, 미디어 타입별로 다른 파일에 분리하여 관리 가능하다. 이렇게 함으로써 stylesheet를 구조화하는데 유용하게 사용한다.</p>
<p>좀더 자세한 미디어 타입에 대해서는 CSS의 사양서중 <a class="external" href="http://www.w3.org/TR/CSS21/media.html">Media</a>를 참고하라.</p>
<p>{{ cssxref("display") }}속성에 대해서 좀더 자세한 사항은 이 안내서 나중에 소개될 <a href="/en/CSS/Getting_Started/XML_data" title="en/CSS/Getting_Started/XML_data">XML data</a>를 참고하라.</p>
</div>
<h3 id="출력">출력</h3>
<p>CSS에는 인쇄 매체나 프린터 출력을 위한 특별 지원을 한다</p>
<p>{{ cssxref("@page") }} 규칙을 통해 여백을 설정할 수 있다. 양면출력을 위해서는 <code>@page:left</code>와 <code>@page:right</code>로 각각의 여백을 개별로 설정 할 수 있다.</p>
<p>출력 매체를 위해 사용되는 단위는 인치 (<code>in</code>), 포인트(<code>pt</code> = 1/72 inch), 센티미터(<code>cm</code>)와 밀리미터(<code>mm</code>)등을 사용 할 수 있다. 글자 크기 설정과 맞추기 위해 사용하는 ems(em)과 퍼센트(%)도 사용하기에 적절하다.</p>
<p>Document의 내용중 페이지 분할을 위해서는 { cssxref("page-break-before") }}나 {{ cssxref("page-break-after") }}, {{ cssxref("page-break-inside") }}속성을 사용할 수 있다.</p>
<div class="tuto_example">
<div class="tuto_type">
예제</div>
<p>아래 예제는 페이지 여백 4방향 모두를 1인치로 설정한다.</p>
<pre class="brush:css">@page {margin: 1in;}
</pre>
<p> </p>
<p>아래 규칙은 모든 H1 element는 새 페이지에서 시작하도록 한다.</p>
<pre class="brush:css">h1 {page-break-before: always;}
</pre>
</div>
<div class="tuto_details">
<div class="tuto_type">
좀더 자세히</div>
<p>CSS의 출판 매체 지원에 대한 사항은 CSS사양서의 <a class="external" href="http://www.w3.org/TR/CSS21/page.html">Paged media</a>를 확인 하라.</p>
<p>CSS의 다른 특징처럼 프린트 출력도 브라우저의 설정에 따라 다르다. 예를 들어 모질라 브라주저는 프린트 출력시 기본 바깥 여백과 머릿말, 꼬릿말이 지원된다. 사용자가 어떤 브라우저를 사용하는지, 그 브라우저의 설정값 또한 알수 없기 때문에 해당 페이지 출력물 결과를 알수 없다.</p>
</div>
<h3 id="사용자_인터페이스">사용자 인터페이스</h3>
<p>CSS는 컴퓨터 모니터같은 표시장치를 위한 특별한 사용자 인터페이스를 지원한다. 이 속성으로 Document를 동적으로 사용자가 사용자 인터페이스로 동작 할 수 있도록 변경한다.</p>
<p>사용자 인터페이스 장치에 대한 특별한 미디어 타입은 없다.</p>
<p>단지 5가지 설렉터가 있을 뿐이다.</p>
<table class="standard-table">
<tbody>
<tr>
<td><strong>설렉터</strong></td>
<td><strong>선택</strong></td>
</tr>
<tr>
<td><code>E{{ cssxref(":hover") }}</code></td>
<td>포인터가 E로 명시된 element위에 놓일 경우</td>
</tr>
<tr>
<td><code>E{{ cssxref(":focus") }}</code></td>
<td>키보드 포커스를 가진 E element</td>
</tr>
<tr>
<td><code>E{{ cssxref(":active") }}</code></td>
<td>사용자 현재 동작에 개임된 E element</td>
</tr>
<tr>
<td><code>E{{ cssxref(":link") }}</code></td>
<td>최근에 방문하지 않은 URL을 가진 Hyperlink인 E element</td>
</tr>
<tr>
<td><code>E{{ cssxref(":visited") }}</code></td>
<td>최근에 방문한 URL을 가진 Hyperlink인 E element</td>
</tr>
</tbody>
</table>
<div class="note">
<p><strong>주의: </strong>:visited 설렉터에서 획득한 정보는 {{ gecko("2.0") }}에만 해당된다. 좀더 자세한 사항은 <a href="/en/CSS/Privacy_and_the_:visited_selector" title="en/CSS/Privacy and the :visited selector">Privacy and the :visited selector</a>을 보라.</p>
</div>
<p>{{ cssxref("cursor") }}속성은 포인터의 모양을 설정한다. 몇몇 일반적인 모양은 다음과 같다. 브라우저에서 마우스를 아래 리스트에 각각 아이템으로 옮기면 그 모양을 확인 할 수 있다.</p>
<table class="standard-table">
<tbody>
<tr>
<td><strong>설렉터</strong></td>
<td><strong>선택</strong></td>
</tr>
<tr style="cursor: pointer;">
<td><code>pointer</code></td>
<td>링크임을 나타낼때</td>
</tr>
<tr style="cursor: wait;">
<td><code>wait</code></td>
<td>프로그램이 실행중이라 입력을 받지 못하는 상태일때</td>
</tr>
<tr style="cursor: progress;">
<td><code>progress</code></td>
<td>프로그램이 작업을 수행하고 있지만 입력을 받을 수 있는 상태</td>
</tr>
<tr style="cursor: default;">
<td><code>default</code></td>
<td>기본 상태(보통 화살표 모양)</td>
</tr>
</tbody>
</table>
<p>{{ cssxref("outline") }}속성은 키보드 포커스를 가리키는 외곽선을 생성할때 사용한다. 그 값은 사용자가 방향을 설정할 수 없다는 것을 제외하고는 {{ cssxref("border") }}속성과 유사하다.</p>
<p>Some other features of user interfaces are implemented using attributes, in the normal way. For example, an element that is disabled or read-only has the <strong>disabled</strong> attribute or the <strong>readonly</strong> attribute. Selectors can specify these attributes like any other attributes, by using square brackets: <code>{{ mediawiki.external('disabled') }}</code> or <code>{{ mediawiki.external('readonly') }}</code>.</p>
<div class="tuto_example">
<div class="tuto_type">
Example</div>
<p>These rules specify styles for a button that changes dynamically as the user interacts with it:</p>
<pre class="brush:css">.green-button {
background-color:#cec;
color:#black;
border:2px outset #cec;
}
.green-button[disabled] {
background-color:#cdc;
color:#777;
}
.green-button:active {
border-style: inset;
}
</pre>
<p> </p>
<p>This wiki does not support a user interface on the page, so these buttons do not "click". Here are some static images to illustrate the idea:</p>
<table style="border: 2px outset #36b; padding: 1em; background-color: #fff;">
<tbody>
<tr>
<td>
<table>
<tbody>
<tr>
<td><span style="width: 8em; height: 2em; background-color: #cdc; color: #777; padding: .5em 1em; cursor: default; margin-right: 1em; border: 2px outset #cec;">Click Me</span></td>
<td><span style="width: 8em; height: 2em; background-color: #cec; padding: .5em 1em; cursor: move; margin-right: 1em; border: 2px outset #cec;">Click Me</span></td>
<td><span style="width: 8em; height: 2em; background-color: #cec; padding: .5em 1em; cursor: move; margin-right: 1em; border: 2px inset #cec;">Click Me</span></td>
</tr>
<tr style="line-height: 25%;">
<td> </td>
</tr>
<tr style="font-style: italic;">
<td>disabled</td>
<td>normal</td>
<td>active</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p> </p>
<p>A fully functional button also has a dark outline around the entire button when it is the default, and a dotted outline on the face of the button when it has keyboard focus. It might also have a hover effect when the pointer is over it.</p>
</div>
<div class="tuto_details">
<div class="tuto_type">
More details</div>
<p>For more information about user interfaces in CSS, see <a class="external" href="http://www.w3.org/TR/CSS21/ui.html">User interface</a> in the CSS Specification.</p>
<p>There is an example of Mozilla's markup language for user interfaces, XUL, in Part II of this tutorial.</p>
</div>
<h2 id="Action_Printing_a_document">Action: Printing a document</h2>
<ol>
<li>Make a new HTML document, <code>doc4.html</code>. Copy and paste the content from here:
<pre class="brush:html"><!DOCTYPE html>
<html>
<head>
<title>Print sample</title>
<link rel="stylesheet" href="style4.css">
</head>
<body>
<h1>Section A</h11>
<p>This is the first section...</p>
<h1>Section B</h1>
<p>This is the second section...</p>
<div id="print-head">
Heading for paged media
</div>
<div id="print-foot">
Page:
</div>
</body>
</html>
</pre>
</li>
<li>Make a new stylesheet, <code>style4.css</code>. Copy and paste the content from here:
<pre class="brush:css">/*** Print sample ***/
/* defaults for screen */
#print-head,
#print-foot {
display: none;
}
/* print only */
@media print {
h1 {
page-break-before: always;
padding-top: 2em;
}
h1:first-child {
page-break-before: avoid;
counter-reset: page;
}
#print-head {
display: block;
position: fixed;
top: 0pt;
left:0pt;
right: 0pt;
font-size: 200%;
text-align: center;
}
#print-foot {
display: block;
position: fixed;
bottom: 0pt;
right: 0pt;
font-size: 200%;
}
#print-foot:after {
content: counter(page);
counter-increment: page;
}
} /* end print only */
</pre>
</li>
<li>View this document in your browser; it uses your browser's default style.</li>
<li>Print (or print preview) the document; the stylesheet places each section on a separate page, and it adds a header and footer to each page. If your browser supports counters, it adds a page number in the footer.
<table>
<tbody>
<tr>
<td>
<table style="border: 2px outset #36b; padding: 1em;">
<tbody>
<tr>
<td>
<table style="width: 15em; margin-right: 2em;">
<tbody>
<tr>
<td>
<div style="font-size: 110%; text-align: center; margin-bottom: .5em;">
Heading for paged media</div>
<div style="font-size: 150%; font-weight: bold;">
Section A</div>
<div style="font-size: 75%;">
This is the first section...</div>
<div style="font-size: 150%; text-align: right; margin-top: 12em;">
Page: 1</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table style="border: 2px outset #36b; padding: 1em;">
<tbody>
<tr>
<td>
<table style="width: 15em; margin-right: 2em;">
<tbody>
<tr>
<td>
<div style="font-size: 110%; text-align: center; margin-bottom: .5em;">
Heading for paged media</div>
<div style="font-size: 150%; font-weight: bold;">
Section B</div>
<div style="font-size: 75%;">
This is the second section...</div>
<div style="font-size: 150%; text-align: right; margin-top: 12em;">
Page: 2</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</li>
</ol>
<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; width: 100%;">
<caption>
Challenges</caption>
<tbody>
<tr>
<td>Move the print-specific style rules to a separate CSS file.
<p>Read the {{ CSSXref("@import") }} reference page to find details of how to import the new print-specific CSS file into your <code>style4.css</code> stylesheet.</p>
<p>Make the headings turn blue when the mouse pointer is over them.</p>
</td>
</tr>
</tbody>
</table>
<p> <a href="/en/CSS/Getting_Started/Challenge_solutions#Media" title="https://developer.mozilla.org/en/CSS/Getting_started/Challenge_solutions#Media">See solutions to these challenges.</a></p>
<h2 id="What_next">What next?</h2>
<p>If you had difficulty understanding this page, or if you have other comments about it, please contribute to its <a href="/Talk:en/CSS/Getting_Started/Media" title="Talk:en/CSS/Getting_Started/Media">Discussion</a> page.</p>
<p>So far, all the style rules in this tutorial have been specified in files. The rules and their values are fixed. The next page describes how you can change rules dynamically by using a programming language: <strong><a href="/en/CSS/Getting_Started/JavaScript" title="en/CSS/Getting_Started/JavaScript">JavaScript</a></strong></p>
|