aboutsummaryrefslogtreecommitdiff
path: root/files/ja/learn/css/first_steps/getting_started/index.html
blob: 54cd8436cf16b4c7348efaaefce54c520508ff7d (plain)
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
---
title: CSS 入門
slug: Learn/CSS/First_steps/Getting_started
tags:
  - Beginner
  - CSS
  - Classes
  - Elements
  - Learn
  - Selectors
  - Syntax
  - state
translation_of: Learn/CSS/First_steps/Getting_started
---
<div>{{LearnSidebar}}</div>

<div>{{PreviousMenuNext("Learn/CSS/First_steps/What_is_CSS", "Learn/CSS/First_steps/How_CSS_is_structured", "Learn/CSS/First_steps")}}</div>

<p class="summary">この記事では、かんたんな HTML コードに CSS を適用させ、その過程でこの言語についての実用的なことを学びます。</p>

<table class="learn-box standard-table">
 <tbody>
  <tr>
   <th scope="row">前提条件:</th>
   <td>基本的なコンピューターリテラシー、<a href="/ja/Learn/Getting_started_with_the_web/Installing_basic_software">ソフトウェアのインストール</a><a href="/ja/Learn/Getting_started_with_the_web/Dealing_with_files">ファイルの働き方</a>についての基本的な知識、HTML の基本 (<a href="/ja/docs/Learn/HTML/Introduction_to_HTML">HTML序論</a>を学んでいること。)</td>
  </tr>
  <tr>
   <th scope="row">目的:</th>
   <td>CSS 文書と HTML ファイルのリンクのさせかたを理解し、簡単なテキストをスタイリングできるようになる。</td>
  </tr>
 </tbody>
</table>

<h2 id="Starting_with_some_HTML" name="Starting_with_some_HTML">HTML からはじめよう</h2>

<p>HTML 文書から始めましょう。あなたのコンピューターのフォルダーに <code>index.html</code> として以下のコードを保存してください。</p>

<pre class="brush: html notranslate">&lt;!doctype html&gt;
&lt;html lang="ja"&gt;
&lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;title&gt;CSS 入門&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;

    &lt;h1&gt;見出し1です&lt;/h1&gt;

    &lt;p&gt;これは第一段落の文です。この文には &lt;span&gt;span 要素&lt;/span&gt;&lt;a href="http://example.com"&gt;リンク&lt;/a&gt;が含まれます。&lt;/p&gt;

    &lt;p&gt;これは第二段落の文です。この文には &lt;em&gt;em 要素&lt;/em&gt;が含まれます。&lt;/p&gt;

    &lt;ul&gt;
        &lt;li&gt;一つ目の項目&lt;/li&gt;
        &lt;li&gt;二つ目の項目&lt;/li&gt;
        &lt;li&gt;&lt;em&gt;三つ目&lt;/em&gt;の項目&lt;/li&gt;
    &lt;/ul&gt;

&lt;/body&gt;

&lt;/html&gt;
</pre>

<div class="blockIndicator note">
<p><strong></strong>: もし簡単にファイルの作れないデバイスや環境でこの記事を読んでいても心配しないでください。このページにあるコードを書くためにライブコードエディターが用意されています。</p>
</div>

<h2 id="Adding_CSS_to_our_document" name="Adding_CSS_to_our_document">CSS を加える</h2>

<p>まず必要なのは、使いたい CSS ルールを HTML 文書に適用させることです。これには一般的に3つの方法がありますが、いまは最も一般的で便利な方法— CSS を {{htmlelement("head")}} 要素の中にリンクする方法を見てみましょう。</p>

<p>HTML ドキュメントとおなじフォルダーにファイルをつくり、<code>styles.css</code> として保存してください。拡張子 <code>.css</code> となっているのが CSS ファイルです。</p>

<p><code>styles.css</code><code>index.html</code> にリンクさせるには、HTML 文書にある {{htmlelement("head")}} 要素の中につぎのコードを追記してください:</p>

<pre class="brush: html notranslate">&lt;link rel="stylesheet" href="styles.css"&gt;</pre>

<p>{{htmlelement("link")}} 要素はブラウザーに、スタイルシートがあること、<code>rel</code> 属性を使うこと、<code>href</code> 属性の値でスタイルシートのある場所を伝えます。<code>styles.css</code> に以下のルールを記述すれば、CSS が働くかテストできます。使っているコードエディターでつぎのコードを CSS ファイルに追記してください:</p>

<pre class="brush: css notranslate">h1 {
  color: red;
}</pre>

<p>HTML ファイルと CSS ファイルを保存し、ブラウザーでこのページを再読み込みしてみましょう。文書の先頭にある見出し 1 が赤くなるはずです。もしそうなったら、おめでとうございます。CSS の HTML への適用に成功しました! もしそうならなかったら、すべてを正しく入力しているか慎重に確認してください。</p>

<p>あなたのコンピューターに保存した <code>styles.css</code> を使い続けても良いですし、このチュートリアルの下の方にあるインタラクティブエディターを使い続けることもできます。もし最初のパネルにある CSS が 上にある HTML 文書とリンクされているなら、インタラクティブエディターは動作します。</p>

<h2 id="Styling_HTML_elements" name="Styling_HTML_elements">HTML 要素をスタイリングする</h2>

<p>見出しを赤くすることで、HTML 要素に焦点をあてたスタイリングを試しました。<em><strong>要素セレクタ</strong></em>HTML の要素名を直接あてはめるセレクタ)に焦点をあてたのです。文書内のすべての段落に焦点をあてるなら、セレクタとして <code>p</code> を使うことができます。すべての段落を緑色にするために次を使います:</p>

<pre class="brush: css notranslate">p {
  color: green;
}</pre>

<p>セレクタをカンマで区切ることによって、同時に複数のセレクタへ焦点をあてることができます。もしすべての段落とリストすべてを緑にしたければ、CSS のルールセットは次のようになります:</p>

<pre class="brush: css notranslate">p, li {
    color: green;
}</pre>

<p>下にあるインタラクティブエディターのコードボックスを編集するか、コンピューターに保存された CSS ファイルを編集してこのルールセットを試してみてください。</p>

<p>{{EmbedGHLiveSample("css-examples/learn/getting-started/started1.html", '100%', 900)}} </p>

<h2 id="Changing_the_default_behavior_of_elements" name="Changing_the_default_behavior_of_elements">要素の基本的なふるまいを変える</h2>

<p>よくマークアップされた HTML 文書をみると、かんたんな例でさえ、基本的なスタイリングを加えることでブラウザーが HTML を読みやすくしているかがわかります。見出しは大きく太線になっているし、リストは箇条書きになっています。これはブラウザーがすべてのページにデフォルトで適用されるスタイルシートを含んでいるために起きます。それらがなければ、すべてのテキストがまとまって一緒に実行され、すべてを一からスタイリングしなければなりません。最新のブラウザーはすべて、ほぼ同じ方法をもちいて、デフォルトで HTML コンテンツを表示します。</p>

<p>ブラウザーが選んだのとは別のスタイリングにしたい事もあるでしょう。これには単純に変更したい HTML 要素をえらび、CSS ルールを変更したい外観に変えるだけで可能です。よい例が <code>&lt;ul&gt;</code> 要素、つまり順番なしリストです。箇条書きの点がついていますが、もしこれが要らないと思ったら次のようにして削除することができます:</p>

<pre class="brush: css notranslate">li {
  list-style-type: none;
}</pre>

<p>これをあなたの CSS に加えて試してみてください。</p>

<p><code>list-style-type</code> プロパティはどんな値がサポートされているか MDN上で調べるのに適したプロパティです。<code><a href="/ja/docs/Web/CSS/list-style-type">list-style-type</a></code> のページをみるとページの上部に違うプロパティ値を試せる対話型の例があります。そしてページの下部には使えるプロパティ値が詳細に説明されています。</p>

<p>このページをみると、どのようなものに変えられるか見つけられます。プロパティ値 <code>square</code>  に変えてみてください。</p>

<h2 id="Adding_a_class" name="Adding_a_class">クラスを加える</h2>

<p>これまで、HTML 要素名をもとにしたスタイリングをしてきました。これは、文書内にあるその要素すべてをおなじ見ばえにしたいときには有効です。しかしそんな場合はほとんどないので、ほかを変えずに一部の要素だけを選ぶ方法を知っておく必要があります。もっとも一般的なのが、HTML 要素にクラスを追加し、それに焦点をあてる方法です。</p>

<p>HTML 文書の 2番目のリストアイテムへ、こんな風に <a href="/ja/docs/Web/HTML/Global_attributes/class">class 属性</a>を加えてください:</p>

<pre class="brush: html; highlight[3] notranslate">&lt;ul&gt;
  &lt;li&gt;Item one&lt;/li&gt;
  &lt;li class="special"&gt;二つ目の項目&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;三つ目&lt;/em&gt;の項目&lt;/li&gt;
&lt;/ul&gt;</pre>

<p>ピリオドから始まるセレクタを作ることで、<code>special</code> クラス に焦点を当てることができます。以下を CSS に加えてください:</p>

<pre class="brush: css notranslate">.special {
  color: orange;
  font-weight: bold;
}</pre>

<p>保存してからブラウザーを更新し結果を見てみましょう。</p>

<p>ページ上でおなじ見た目にしたいリストアイテムに対して <code>special</code> クラスを適用できます。たとえば、段落内にある<code>&lt;span&gt;</code> 要素にも同じく、オレンジの太字にしたいかもしれません。これにも <code>class</code> 属性の値として <code>special</code> を加えてみてください。上書き保存後にページを再読み込みして結果を確認してみましょう。</p>

<p>HTML 要素セレクタに続けてクラスセレクタが記述されているのを時々見るかもしれません:</p>

<pre class="brush: css notranslate">li.special {
  color: orange;
  font-weight: bold;
}</pre>

<p>この構文は、「<code>special</code> クラスをもっている <code>li</code> 要素へ焦点をあてろ」という意味です。もしそうなっていたらもう、<code>&lt;span&gt;</code> 要素やほかに <code>special</code> クラスにした要素には適用できません。セレクタのリストに次を付け加える必要があります:</p>

<pre class="brush: css notranslate">li.special,
span.special {
  color: orange;
  font-weight: bold;
}</pre>

<p>いくつかのクラスがたくさんの要素に適用され、スタイリングが必要になる度に CSS を編集し続けることを望まないかもしれません。したがって、ある要素だけに特別なルールを作成し、他の要素に適用されないようにする場合を除き、要素をバイパスしてクラスを参照することが最善の場合があります。</p>

<h2 id="Styling_things_based_on_their_location_in_a_document" name="Styling_things_based_on_their_location_in_a_document">文書内の場所に基づいてスタイリングする</h2>

<p>文書のどこにあるかで見栄えを変えたい時があります。それを助けるセレクタはいくつかありますが、いまは 2種類だけ見てみましょう。HTML 文書には 2 つの <code>&lt;em&gt;</code> 要素があります — ひとつは段落の中に、もうひとつはリストアイテムの中に、です。<code>&lt;li&gt;</code> 要素の中にある <code>&lt;em&gt;</code> だけを選びたいとき、<strong>ディセンダント・コンビネーター</strong> と呼ばれるセレクタを使うことができます。これは2つの異なるセレクタのあいだにスペースを設けることで設置できます。</p>

<p>CSS につぎのルールセットを追加してください。</p>

<pre class="brush: css notranslate">li em {
  color: rebeccapurple;
}</pre>

<p>このセレクタは <code>&lt;li&gt;</code> 要素の中にある <code>&lt;em&gt;</code> 要素を選択します。よって HTML 文書の中で、3番目のリストアイテム内にある <code>&lt;em&gt;</code> 要素はパープルに変わっていますが、段落内にある <code>&lt;em&gt;</code> 要素は変更されていません。</p>

<p>HTML ドキュメント内で、見出しの直後に来る段落を見出しとおなじ階層レベルにしたいと思うことがあるかもしれません。このときはセレクタ同士の間に <code>+</code>  を入れます(<strong>adjacent sibling combinator</strong>:アジェイセント・シブリング・コンビネーター)。</p>

<p>いま扱っている CSS につぎのルールセットを追加してみてください:</p>

<pre class="brush: css notranslate">h1 + p {
  font-size: 200%;
}</pre>

<p>下のライブ例では、上に挙げた2つのルールセットが含まれています。ここに、段落内にある <code>span</code> 要素を赤くするルールセットを追加してください。正しくできれば第一段落の <code>span</code> 要素は赤くなり、最初のリストアイテムは色が変わらないはずです。</p>

<p>{{EmbedGHLiveSample("css-examples/learn/getting-started/started2.html", '100%', 1100)}}</p>

<div class="blockIndicator note">
<p><strong></strong>: ごらんの通り、CSS には要素に焦点をあてるための方法がいくつかあります。ここに挙げたのと、もっとたくさんのセレクタをこのコースの後にある<a href="/ja/docs/Learn/CSS/Building_blocks/Selectors">セレクタ</a>の記事で見ていきます。</p>
</div>

<h2 id="Styling_things_based_on_state" name="Styling_things_based_on_state">状態に基づいてスタイリングする</h2>

<p>最後にこのチュートリアルで取り上げるのは、状態に基づいてスタイルを設定する方法です。かんたんな例はリンクのスタイリングです。リンクをスタイリングするとき、<code><a href="/ja/docs/Web/HTML/Element/a">&lt;a&gt;</a></code> (anchor) 要素に焦点をあてる必要があります。リンクされたページを開いていなかったり、開いた後だったり、マウスの矢印を置いたり(ホバー)、キーボードで選択したり、クリックしたりといったように状態が変わります。こうしたさまざまな状態を CSS で選ぶことができます。— 以下だと、リンクされたページを開く前はピンクに、開いた後は緑になります。</p>

<pre class="brush: css notranslate">a:link {
  color: pink;
}

a:visited {
  color: green;
}</pre>

<p>ユーザーがリンクの上にマウスの矢印を持っていく(ホバー)とリンクの見た目を変えるようにできます。たとえばつぎのルールセットだと、リンクの下線が消えます:</p>

<pre class="brush: css notranslate">a:hover {
  text-decoration: none;
}</pre>

<p>下のライブ例では、プロパティ値をいろいろ変えることでさまざまなリンクの状態を試せます。すでに加えられているルールセットをみると、ピンクがとても明るくて読みづらいことがわかります。もっといい色に変えてみましょう。太字に変えられますか?</p>

<p>{{EmbedGHLiveSample("css-examples/learn/getting-started/started3.html", '100%', 900)}} </p>

<p>リンクをホバーすると下線が消えるようにしていますが、どんな状態でも下線が消えているようにできます。ただし実際のサイトでは、ページを見ている人に、リンクはリンクであることを知らせるのを忘れないようにしてください。下線を残すのは、ユーザーが慣れているように、テキスト内にリンクがあることを伝える重要な手掛かりになります。CSS にふくまれるあらゆるものには、変更によって文章を使いづらくするおそれがあることを強調しておきます。</p>

<div class="blockIndicator note">
<p><strong></strong>: MDN の記事で、<a href="/ja/docs/Learn/Accessibility">アクセシビリティ</a> についての注意をたびたび目にするでしょう。これについて語る時は、ウェブページがどんな人にも理解でき、使えるものである必要性に言及しています。</p>

<p>訪問者はマウス付きコンピューター やタッチスクリーン付き電話で見ているかもしれません。あるいはスクリーンリーダーで文章を読んでいることや、大きな文字をつかう必要があることや、キーボードだけを使っていることもあるでしょう。</p>

<p>プレーンな HTML ドキュメントは一般的にあらゆる人に対してアクセシブルですので、スタイリングするときはアクセシビリティを下げないようにするのが大切です。</p>
</div>

<h2 id="Combining_selectors_and_combinators" name="Combining_selectors_and_combinators">セレクタとコンビネーターを組み合わせる</h2>

<p>複数のセレクタとコンビネーターを組み合わせることができます:</p>

<pre class="brush: css notranslate">/* &lt;article&gt; 要素の内側にある &lt;p&gt; 要素の &lt;span&gt; 要素に焦点を当てるとき  */
article p span { ... }

/* &lt;h1&gt; 要素の直後に来る &lt;ul&gt; 要素の、そのまた直後に来る &lt;p&gt; 要素に焦点を当てるとき */
h1 + ul + p { ... }</pre>

<p>複数の形のセレクタも組み合わせられます。以下のコードを CSS に追加してみてください:</p>

<pre class="brush: css notranslate">body h1 + p .special {
  color: yellow;
  background-color: black;
  padding: 5px;
}</pre>

<p>これは <code>&lt;body&gt;</code> 要素の中にある <code>&lt;h1&gt;</code> 要素の直後に来た <code>&lt;p&gt;</code> 要素の中にある <code>special</code> クラスの要素をスタイリングします。</p>

<p>HTML のうち、スタイルが適用されるのは <code>&lt;span class="special"&gt;</code> のみです。</p>

<p>現時点では複雑に思えても心配しなくて大丈夫です。CSS を書いていくうちにすぐに理解できるようになります。</p>

<h2 id="Wrapping_up" name="Wrapping_up">まとめ</h2>

<p>このチュートリアルでは、CSS によるドキュメントのスタイル設定の仕方をいくつか見てきました。残りのレッスンでさらに深堀りしていきます。あたなはもうすでに、テキストのスタイリングや要素のさまざまな指定の仕方、さらには MDN ドキュメント内でのプロパティと値の調べ方といったことも理解したはずです。</p>

<p>次のレッスンでは、CSS の構造を見ていきます。</p>

<p>{{PreviousMenuNext("Learn/CSS/First_steps/What_is_CSS", "Learn/CSS/First_steps/How_CSS_is_structured", "Learn/CSS/First_steps")}}</p>

<h2 id="In_this_module" name="In_this_module">このモジュールの記事</h2>

<ol>
 <li><a href="/ja/docs/Learn/CSS/First_steps/What_is_CSS">CSS とは何か?</a></li>
 <li><a href="/ja/docs/Learn/CSS/First_steps/Getting_started">CSS 入門</a></li>
 <li><a href="/ja/docs/Learn/CSS/First_steps/How_CSS_is_structured">CSS の全体像</a></li>
 <li><a href="/ja/docs/Learn/CSS/First_steps/How_CSS_works">CSS はどう働くか?</a></li>
 <li><a href="/ja/docs/Learn/CSS/First_steps/Using_your_new_knowledge">新しい知識を使う</a></li>
</ol>