*情報デザインB 第12回 [#j22b151f]
:「classを使う -レイアウト編-」|
今回は、
前回の課題を応用して、classを使ったレイアウトの課題を行います。
#contents
**classの利用(前回の復習) [#d56d3029]
今回は、前回の課題で作ったファイルを使って、
classとdiv、span要素を用いたWebページのレイアウトを行います。
>
classを使えば、同じ要素でも異なったデザインを指定することができます。
htmlファイル内ではタグの属性としてclass名を指定し、デザインはcssで指定します。&br;
&color(red){div,spanとclassを合わせて使うと、新しいタグを自分で作り出すのと同じことができます。};
classは p, h1 などほとんどの要素に用いることができますが、今回はdivとspanだけを使います。
使い方は [[第7回CSS(2):http://arena.hyogo-dai.ac.jp/~kawano/?Lecture%2FInfoDesignB2005%2F7th]]を参考にしてください。
<
>
('''[[第11回の説明より:http://ei-www.hyogo-dai.ac.jp/~masahiko/syll05/designB11.html#p2]]''')
<
**前回の課題 [#ccdac6ac]
今回の課題を行うには、''&color(red){前回の課題として作成したHTMLとスタイルシートの2つファイルが必要です};''。
前回の課題がまだ出来ていない人は、
[[第11回の説明:http://ei-www.hyogo-dai.ac.jp/~masahiko/syll05/designB11.html#p2]]を見て、課題を作成してください。
:注意|
divを使ってパラグラフ(段落)に分けるには、コピーした文章にいちいちdiv要素を入力しなければなりません。しかし、次のような終了タグと開始タグの2行を、文章の行間ごとにコピーしてやれば、割と早く作業ができます。ただし、いらないタグを削除するのは忘れないでください。
</div>
<div>
**今回の課題 [#g5404121]
***セリフにスタイルを設定する [#p4bfd533]
[[前回の課題:http://ei-www.hyogo-dai.ac.jp/~masahiko/syll05/designB11.html#p3]]では、主な登場人物であるさるとかにのセリフにスタイルを設定しました。
今回は、ほかの登場人物(栗、蜂、昆布、うす)のセリフにもスタイルを設定してください。
たとえば、次のようになります。
#pre(novervatim){{
...
''<div>''
するとそこへ栗(くり)がぽんとはねて来(き)て、
''</div>''
''<div class="kuri">''
「かにさん、かにさん、なぜ泣(な)くの。」
''</div>''
''<div>''
と聞(き)きました。
''</div>''
...
</pre>
}}
#ref(css00.JPG,nolink);
スタイルシート(ファイル名:sarukani.css)にスタイルを設定してください。
栗のスタイルの名前は「.kuri」、蜂は「.hachi」、昆布は「.konbu」、うすは「.usu」とします。
#pre(novervatim){{
...
.kuri { '''スタイルの指定''' }
.hachi { '''スタイルの指定''' }
.konbu { '''スタイルの指定''' }
.usu { '''スタイルの指定''' }
...
</pre>
}}
***目次を作る [#l67934ee]
[[「猿かに合戦」(青空文庫):http://www.aozora.gr.jp/cards/000329/files/18334_11947.html]]の文章は、
「一」「二」「三」「情報」(底本以下の部分)の4つで構成されています。
それぞれの部分の小見出しを作成し、見出しのスタイル(スタイル名:.komidasi)を作って、スタイルを設定してください。
それぞれの部分へジャンプする目次を、
''div、a要素だけを使って''、作成してください。
-それぞれの部分の小見出しにアンカーを設定する(参考:[[第4回:http://arena.hyogo-dai.ac.jp/~kawano/?Lecture%2FInfoDesignB2005%2F4th%2Fanchor]])
-タイトル・著者の下に、「目次」という見出しをつくる
-目次の下にそれぞれの部分へジャンプするリンクをつくる
#ref(css01.JPG,nolink);
***レイアウトを設定する [#s4f7bfd6]
次の図のような、目次を左や右に配置するレイアウトを、
スタイルシートを使って設定します。
#ref(layout.png,nolink);
説明にしたがって、設定をしてください&br;
まず、HTMLファイルのbody要素内に、div要素を次のように追加します。
これは、中身を「コンテンツ全体」「タイトル」「目次」「文章」の4つのブロックにわけるための設定です。
#pre(novervatim){{
&color(red){<div class="all">};
&color(#0099FF){<div class="title">};
('''タイトル・著者名の部分''')
&color(#0099FF){</div>};
&color(#009999){<div class="menu">};
('''目次の部分''')
&color(#009999){</div>};
&color(#FF6600){<div class="contents">};
('''文章の部分''')
&color(#FF6600){</div>};
&color(red){</div>};
</pre>
}}
次に、スタイルシート(ファイル名:sarukani.css)に、
次の設定を追加します。次のような設定です。
-ブロックごとのmarginとpaddingを0に設定
-タイトルのブロックは、幅を100%にする(全体のブロックの横幅にする)
#pre(novervatim){{
.all, .title, .menu, .contents
{
margin: 0;
padding: 0;
}
.all {position: relative;}
.title {width: 100%;}
</pre>
}}
次に、目次を左右のどちらかに設定します。
[[第8回で説明した:http://arena.hyogo-dai.ac.jp/~kawano/?Lecture%2FInfoDesignB2005%2F8th]]
幅の設定や左右への配置・回り込みの設定を使います。&br;
目次を左に配置する場合は、次のようにスタイルシートに設定を追加します。
「180px」の部分は、自由に大きさを変えてください。
#pre(novervatim){{
.menu
{
float: left;
width: 180px;
}
.contents
{
margin-left: 180px;
}
</pre>
}}
これは、次のような意味になります。
-目次のブロックを左に配置(その後のブロックは右に配置)
-目次のブロックの幅を180pxに指定
-文章のブロックの左マージンを180pxに指定&br;(文章のブロックを180px分右にずらす)
また、目次を右に配置する場合は、次のようにスタイルシートに設定を追加します。
#pre(novervatim){{
.menu
{
float: right;
width: 180px;
}
.contents
{
margin-right: 180px;
}
</pre>
}}
これは、次のような意味になります。
-目次のブロックを右に配置(その後のブロックは左に配置)
-目次のブロックの幅を180pxに指定
-文章のブロックの右マージンを180pxに指定&br;(文章のブロックを180px分左にずらす)
また、次のように.allスタイルを設定すれば、
全体をセンタリング(中央揃え)することができます。
試してみてください。
#pre(novervatim){{
.all
{
position: relative;
margin: 0 auto;
width: 80%;
}
</pre>
}}
***感想を書く [#w810cf64]
最後に、前回と今回の課題の感想を書いてください。
-「連絡」の下に「感想」という小見出しを作り、アンカーを設定する
-目次に「感想」へジャンプするリンクを作る
-感想を書く
**課題の提出 [#ca5dc2d7]
***HTMLファイルの文法をチェックする [#vee4d976]
[[Another HTML-lint gateway:http://openlab.ring.gr.jp/k16/htmllint/htmllintl.html]]をつかってチェックします。
「よくできました」と表示されるまで修正すること。
***提出方法 [#ne627bdd]
学籍番号を名前とするフォルダに必要ファイルをすべて入れたものを提出します。
***提出先 [#a90c7be1]
いつもと同じ場所にあります。
***締め切り [#q7c81879]
1月13日(金)13:00
}}
|