スタイルシート

					2012年05月18日
情報科学類 コンピュータリテラシ

                                       筑波大学 システム情報系 情報工学域
                                       新城 靖
                                       <yas@cs.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2012/2012-05-18
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/

■連絡事項

■補足

■スタイルシート

HTML は、「本来は」、文書の構造を記述する。

HTML で記述できる文書の構造:

HTML では、文書の構造を記述することができるが、「表示の方法」 を記述することは、本来はでない。 ワープロは、紙に印刷した時の、このような表示の方法を設定す るためのプログラムである。

表示の方法:

表示の方法を記述するには、スタイルシートを用いる。

◆XML (eXtendible Markup Language)

XML は、タグが定義できるマークアップ言語(<−>HTMLはタグが固定)。プ ログラム間でデータの交換に用いる。

■カスケーディング・スタイルシート

◆例

H1の見出しを青くする。
<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-2022-jp">
<TITLE>スタイルシートの例題:タグへの設定</TITLE>
<STYLE TYPE="text/css"><!--
H1 { color: blue; }
--></STYLE>
</HEAD>

<BODY>

<H1>青いH1の見出し</H1>

<H2>普通のH2の見出し</H2>

</BODY>
[表示例]

◆カスケーディング・スタイルシートで記述できること

段落書式 文字書式 箇条書き イメージ その他:

◆スタイルシートを書く場所

(1) HTML のヘッダ

<HTML>
<HEAD>
<TITLE>タイトルです。</TITLE>
<STYLE TYPE="text/css"><!--
(ここにスタイルシートを書く)
--></STYLE>
</HEAD>

(2) 別のファイル

「スタイルシートのURL」は、filename.css のようなファイル名が多い。
<HTML>
<HEAD>
<TITLE>タイトルです。</TITLE>
<LINK rel="stylesheet" type="text/css" href="スタイルシートのURL">
</HEAD>
<HTML>
<HEAD>
<TITLE>タイトルです。</TITLE>
<STYLE TYPE="text/css"><!--
@import url(スタイルシートのURL);
(別ファイルに加えてここにもスタイルシートを書くことができる)
--></STYLE>
</HEAD>

(3) HTML のタグの属性

<P STYLE="color:blue">文。文。文。</P>

◆カスケード

複数のスタイルは、混ぜられる(カスケード)。 対立する定義は、後から出てきた方が有効になる。

◆コメント

コメントとは、ある コンピュータ言語の中に記述する、人間が読むために書かれた部分。 CSS では、/**/ で括った部分がコメントとなる。 この表記法法は、C言語やJava言語と似ている。 (他の言語では、この表記法は使えないことがある。) コメントは、デバッグ時など一時的に コンピュータ言語の機能を無効にしたい時にも使える。

◆基本的な文法

次のような規則の並び
セレクタ  { 宣言;  }
セレクタ, セレクタ, ..., セレクタ { 宣言;宣言;宣言;  }
1つひとつの宣言は、次の形式。
プロパティ:式
「式」には、数、文字列、%、単位つきの長さ、URL などが書ける。

◆書式の有効範囲(セレクタ)

クラスは、 <DIV>タグや<SPAN>タグとともに利用 されることがある。

◆クラスの利用例

<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-2022-jp">
<TITLE>スタイルシートの例題:クラスの利用</TITLE>
<STYLE TYPE="text/css"><!--
.important    { color:red; }  /* class="important" と指定したものだけ */
--></STYLE>
</HEAD>

<BODY>

<H1>普通のH1の見出し</H1>

<P>
普通のパラグラフ
</P>

<P class="important">
重要なパラグラフ
</P>

<H2>普通のH2見出し</H2>

<H2 class="important">重要な普通のH2見出し</H2>

<P>
普通の言葉。<SPAN class="important">重要な言葉。</SPAN>普通の言葉。
</P>

</BODY>
[表示例]

◆WWWページデザインの手順

  1. HTML で全部の表示したい内容を記述する。
  2. スタイルシートを埋め込み、見栄えを調整する。
スタイルシートをうまく活用すると、見た目を一度に調整できる。 いちいち <font> で指定すると、変更したくなった時には、 全部変えなければならない。 <span class="classname">のように、クラスを使ってマークして おけば、1個所クラスの設定を変更するだけで全部統一的に変る。 (同様に、ワード・プロセッサでも、スタイルをうまく活用したい。)

注意点

複数のブラウザ(違うバージョンも含む)で表示を確認したい。

◆CSSのセレクタ

◆CSSの利用例

◆その他のCSSの利用例

その他、次のページが参考になる。

◆テーブル・レイアウト

スタイルシートを使わずに、 <TABLE> タグ を使って配置する方法がある。

■Emacs

◆Emacs を使ったコピー&ペースト

The Unix Super Text 12.4.3項 参照, The Unix Super Text 12.4.5項 参照 手引き 3.2.7項 参照。 Emacs のキーボードの操作だけで、編集中のファイルの一部をコピー&ペース トを行うことができる。
  1. コピーしたい部分の先頭にカーソルを移動する。
  2. C-SPC または C-@ でマークを設定する。マークは画面に は表示されない。マークが設定されると、一番下の行に「Mark set」と表示さ れる。
  3. カーソルを、コピーしたい部分の末尾に移動する。
  4. M-w または Esc w でコピーする。
  5. カーソルを、ペーストしたい部分に移動する。
  6. C-y でペーストする。
ヒント

◆Emacs のバッファとウィンドウ

The Unix Super Text 12.1.2項 参照。 Emacs のバッファは、ハードウェアのメモリを抽象化したもの。ファイルの内 容を読み込み、編集できる。保存しなければ、失われる。

Emacs でウィンドウとは、バッファの一部を表示する画面。 The Unix Super Text 12.1.2項 参照

Emacs のウィンドウ、一部表示、バッファ、ファイル、読み込み、保存

図? Emacsのウィンドウとバッファとファイルの関係

◆Emacs のバッファとウィンドウの使い道の例

■実習

実習時間中には、 以下の課題をできるだけ多く行いなさい。全部を行う必要はない。

★練習問題(901) Firefoxのウィンドウ

Firefox で複数のページを同時に表示するには、ウィンドウが便利である。た とえば、講義のページを表示しながら、自分が作成中のページを表示する時に、 この機能を使うと便利である。このことを確認しなさい。
  1. 「ファイル」メニューから「新規ウィンドウ」を選ぶ

★練習問題(902) Firefoxのタブ

Firefox で複数のページを同時に(切り替えながら)表示するには、タブが便 利である。このことを確認しなさい。
  1. 「ファイル」メニューから「新規タブ」を選ぶ
  2. タブを切り替えるには、ウィンドウの上部にあるタブのタイトルの部分を クリックする。

★練習問題(903) CSSの観察

自分がよく見る WWW ページについて、スタイルシートが使われているかを観察 しなさい。 Firefoxブラウザを操作して、元の HTML (ソース)を表示させなさい。
  1. 観察したいページを開く。
  2. ページのソースを表示する。
  3. 「表示」メニューから「ページのソース」を選ぶ。
  4. HTML の記述の上部の <head> の中に<style>や <link rel="stylesheet" ..>の記述がないかを調べる。

★練習問題(904) 学類コンピューティング環境が利用しているCSS観察

学類コンピューティング環境 のページ で利用されているスタイルシートを表示しなさい。そして、どのよ うな機能が利用されているかを調べなさい。
  1. http://www.coins.tsukuba.ac.jp/ce/,学類コンピューティング環境 のページ を開く
  2. ページのソースを表示する。
  3. <head>にある <link rel="stylesheet"...> の href を得る。 これは、 相対形式 になっている。 ( "skin/pukiwiki_gs2.css.php?charset=Shift_JIS&amp;gs2color=" )
  4. これに、元のページの URL を合わせて、 絶対形式 に変換する。 http://www.coins.tsukuba.ac.jp/ce/"skin/pukiwiki_gs2.css.php?charset=Shift_JIS&amp;gs2color=" を合わせて
    http://www.coins.tsukuba.ac.jp/ce/skin/pukiwiki_gs2.css.php?charset=Shift_JIS&gs2color= となる。
  5. こうして得られた URL を、Web ブラウザのURL が表示されている所(ロケー ション・バー) に打ち込み、リターンキー(エンターキー)を押す。

★練習問題(905) Emacs でコピー&ペーストで用いるキー

Emacs で、次のキー操作の動作を調べなさい。
キー 説明
C-SPC または C-@ コピーする領域の先頭を決める(マークを設定する)
C-w マークした部分とカーソルの間の領域をカットする
Esc w または M-w マークした部分とカーソルの間の領域をコピーする
C-y コピー、または、カットしたものをペーストする

★練習問題(906) Emacs でのコピー&ペースト

The Unix Super Text 12.4.3項 参照, The Unix Super Text 12.4.5項 参照 手引き 3.2.7項 参照。 Emacs で、キー操作よるコピー&ペーストの練習をしなさい。 同様に、次の操作を確認しなさい。

★練習問題(907) Emacs で複数のウインドウとバッファの操作

Emacs で、次のキー操作の動作を調べなさい。
C-x 2 ウインドウを2つに分割(現在のバッファを複数ウインドウで表示)
C-x 1 ウインドウを1つにする(他のウインドウを閉じる)
C-x 0 現在のウインドウを閉じる
C-x o 他の(other)ウインドウにカーソルを移動。
C-x C-b バッファのリストを表示
C-x b 別のバッファを表示する

★練習問題(908) Emacs で長いファイルの編集

Emacs のウインドウを開く機能(C-x 2)は、1画面に入らないような大 きなファイルを部分的に表示する時に有用である。このことを確認しなさい。

★練習問題(909) Emacs で複数のファイルの編集/2つのウインドウ

次の手順で、Emacs で複数のファイルを同時に編集してみなさい。

★練習問題(910) Emacs で複数のファイルの編集/見えないウインドウ

次の手順で、Emacs で複数のファイルを同時に編集してみなさい。

■課題9 スタイルシート

以下の問題、および、回答をテキスト・ファイルに記述し、 レポート提出ページから提出しなさい。

(1) HTML と CSS で次のような条件を満たす WWW ページを作成しなさい。

  1. 課題8(1)の条件を すべて満たす。(同じページを、提出してもよい。)
  2. 2つ以上のタグのスタイルを変更する。そのうち1つ以上は、class を使う。
  3. 同じ class のスタイルを、2個所以上で利用する。 2カ所としては、1つのHTML文書の内部でもよく、また複数の HTML 文書に またがっていてもよい。
作成した WWW ページの URL (http:// から始まるもの)をレポートに含めなさい。 なお、この提出する WWW ページは、 ホーム・ページでな くともよい。

(2) The Unix Super Text の次の部分を読みなさい。

そして、項目についてついて調べて、簡単に説明しなさい。 (3) The Unix Super Text の次の部分を読みなさい。 そして、項目についてついて調べて、簡単に説明しなさい。 (4) [加点] (1) で、このページの説明の範囲を超えたスタイルシートの機能を 利用しなさい。そして、その機能の説明、どこに利用しているか、および、そ の機能の有用性を書きなさい。 ( CSSの利用例 や、 その他のCSSの利用例 で紹介されているものを利用してもよい。 )

(5) [加点] CSS にはブラウザによる互換性の問題があり、様々な種類のブラウ ザで見た時にまったく異なる表示になってしまうことがある。様々な種類のブ ラウザで表示が似ていると期待されるCSSの機能を 10-15 行でまとめなさい。 また、表示が大きく異なってしまうような CSS の機能としては何があるか、 3-5 行でまとめなさい。「表示が大きく異なる」ようなCSS の機能を用いた WWW ページを 1 つ作成し、その URL、および、表示に用いるべきブラウザの種 類をレポートに含めなさい。


Last updated: 2012/05/17 14:46:52
Yasushi Shinjo / <yas@cs.tsukuba.ac.jp>