Web力向上ポータル、納得発注道しるべ

CSS基礎講座 CSSで楽しよう!vol.6 各要素編(2008/6/4)

グリニッジ有限会社 金井佳子 
記事のカテゴリ: CSS講座 | No Comments

レイアウトが出来た所で、画面のキャプチャを見てみましょう。現在こうなっています。
ここまで完成

後は、各々の要素を、完成図に近付けていくだけです。早速スタイル指定をしていきましょう!

まずは、見出しであるh3です。
ここを見てみると、文字サイズが大きく、各ブラウザ間でもサイズの差がありますので、フォントのサイズ指定をする必要がありそうです。左側につけるハートのアイコン画像も用意しましょう。

フォントサイズの指定はfont-sizeプロパティ、背景の指定はbackgroundプロパティで指定します。CSSはこうなります。

CODE:
  1. /*文字のサイズを文章と同じサイズに調整。
  2. 背景にアイコン画像をつけ、余白もつけます。*/
  3. h3{
  4.     font-size:100%;
  5.     background:url(ico_h3.gif) no-repeat left center;
  6.     padding:10px 0 10px 20px;
  7. }

font-sizeプロパティ

CSSで文字のサイズを何も指定しない場合、一部を除いて16pxがデフォルト値です。ですので、100%を指定すると16pxなのですが、この「px」でサイズ指定をした場合、IEではユーザー側でフォントサイズを変更する事が出来ず、アクセシビリティの点で問題がある事から、サイズ指定は「%」に代表される相対指定が一般的です。

相対指定では他にも「em」や「ex」がありますが、IEでのバグが報告されていますので、問題の少ない「%」をお勧めします。(小さいサイズでは%表示にもバグがあるようですが・・)

今回はbodyタグに基本となるフォントサイズを、80%と指定しています。

デフォルト16pxの8割なので、12.8、これを四捨五入して13pxの指定となります。
基本となるサイズが13pxで、今回のh3に100%指定しているので、h3も13pxの指定、つまり文章と同じサイズになるように指定をしました。h3にはもともと太字のスタイルがかかっていますので、13pxの太字で表示されるという事になります。

backgroundプロパティ

backgroundプロパティは背景を指定するプロパティです。背景には、色々と指定出来る事が用意されており、まとめて指定したい場合に使用します。指定できるのは以下の通りです。

背景色、画像の指定、繰り返しの有無と方向、固定の有無、画像の位置

これらは順番は自由、必要のない物は省略できます(その場合はデフォルト値が指定されます)。ですが、間違いを防ぐために、順番のルールは、自分で持っていた方が良いでしょう。

また、これらを一つずつ指定する事も出来ます。例えば、背景に色をつけたい場合、他の指定は必要なければ、

background-color:#f63;

とした方が、視覚的にも解りやすいでしょう。詳しくは[2] TAG index等のリファレンスをご覧ください。

今回はハートのアイコン画像を指定して、繰り返しはせず(デフォルト値はrepeat、つまり繰り返しありです。)、画像の位置は横方向で左、縦方向で中央という指定です。

画像を指定すると、画像と文字とがぶつかってしまうので、画像の分、余白を取って左にずらす事にします。また、上下も詰まった印象を与えるので、少し間隔をとりましょう。

準備編でもお伝えした通り、padding指定された領域には背景がつきますので、今回の余白はpaddingで間隔をとります。

随分、完成図に近くなってきました!もう一息です。

borderプロパティ

次にtableタグのスタイルをつけていきましょう。
まずは、枠線をつけます。オレンジ色の枠線がtable全体を囲っています。

今回のCSSはこうなります。このままでは幅が狭いので、width指定もつけました。

CODE:
  1. /*テーブルに外枠をつけて幅も設定*/
  2. table{
  3.     border:1px #f63 solid;
  4.     width:80%;
  5. }

borderプロパティは、先ほどのbackgroundプロパティと同じく、複数指定できる枠線の指定をまとめて行う場合に使用します。指定できるのは、

「太さ、色、スタイル」です。

各々のデフォルトは「medium 、指定する要素の色、none(なし)」です。今回は、「太さ1px、オレンジ、実線」の指定です。
このborderプロパティは、上下左右、個別に指定も出来ます。実に様々なスタイルが用意されていますので、サンプルなどを参考に、自由にデザインしてみて下さい!(しかし、ブラウザ間で表示に差が出ますので、主要ブラウザでのチェックをお忘れなく。)

次にcaptionのスタイルを指定しましょう。captionタグはテーブルの見出しという意味でした。色をオレンジに、太字にして、左に寄せましょう。CSSはこうなります。

CODE:
  1. /*オレンジ色で、太文字にして強調、左寄せに。*/
  2. caption{
  3.     color:#f63;
  4.     font-weight:bold;
  5.     text-align:left;
  6. }

colorプロパティ

フォントの色なので、font-color:と書きたいところですが、フォント色の指定は「color:」と書きます。間違いやすいので気を付けて下さい。
colorプロパティに色を指定する代表的な方法は、「カラーネーム」と「カラーコード」があります。

カラーコードを、「赤・緑・青」を表す数字に分け、各々が同じ場合、一つに省略できます。

#00ffffの場合、00とffとffに分解、0ffに省略出来る事になります。

ですから今回の指定は、#ff6633と同じ意味になります。

ちなみに、この省略が出来る色は、Webセーフカラーです。
現在では、Webセーフカラーにこだわる必要はないとされていますが、携帯電話用や、全ての環境で同じ色表示であって欲しい時は、ここから選ぶと安心です。

text-alignプロパティ

デフォルトの指定では、キャプションは中央ぞろえになっています。ここでは左に寄せたいので、text-alignプロパティを使いました。

text-alignプロパティは、

ブロック要素の内容(テキスト、画像などのインライン要素)

の配置を決めるプロパティです。あくまでも中身だけです。
指定できるのは、左揃え(left)、中央ぞろえ(center)、右揃え(right)です。

IEのバグに注意!

IEでは、このtext-alignプロパティを使って、ブロック要素の配置制御が出来てしまいます。そのため、他のブラウザでテストを行わなかった場合等、意図しないデザインになっている事がよくあります。
あくまでもバグですので、ブロック要素の配置を決める場合は、余白(marginプロパティ)で制御するようにして下さい。IEが次のバージョンでバグを直すと、CSSも変更しなくてはいけない事になってしまい、無駄が生じます。

さあ、あと一息です。テーブルのthに幅を指定して、読みやすい表に仕上げましょう!

CODE:
  1. /*各項目の幅を調整。余白や左寄せなど、読みやすく調整*/
  2. table th{
  3.     width:20%;
  4.     text-align:left;
  5.     padding:2px;
  6. }

幅を指定して、左揃え、余白も指定しました。
出来上がりです!

最終的なCSSとHTMLファイルはこうなりました。

CSS:

CODE:
  1. @charset "shift_jis";
  2. /* 余白を初期化 */
  3. * { margin:0;    padding:0}
  4. /* 基本の設定 テキストのサイズやフォントの種類を設定しておきます */ 
  5. body {
  6.     font-size:80%;
  7.     font-family:"MS Pゴシック", "ヒラギノ角ゴ Pro W3" , sans-serif;
  8.     padding:20px;
  9. }      
  10. /* 全体を囲うdiv */
  11. #container{
  12.     width:550px;
  13. }
  14. /* 画像の部分 */
  15. #pic_area{
  16.     width:210px;
  17.     float:left;
  18. }
  19. /* 文章の部分 */
  20. #text_area{
  21.     width:330px;
  22.     padding-left:10px;
  23.     float:left; 
  24. }
  25. /*文字のサイズを文章と同じサイズに調整。
  26. 背景にアイコン画像をつけ、余白もつけます。*/
  27. h3{
  28.     font-size:100%;
  29.     background:url(ico_h3.gif) no-repeat left center;
  30.     padding:10px 0 10px 20px;
  31. }
  32. /*テーブルに外枠をつけて幅も設定*/
  33. table{
  34.     border:1px #f63 solid;
  35.     width:80%;
  36. }
  37. /*テーブルの題名は色をつけて左寄せに。太文字にして強調*/
  38. caption{
  39.     color:#f63;
  40.     text-align:left;
  41.     font-weight:bold;
  42. }
  43. /*各項目の幅を調整。余白や左寄せなど、読みやすく調整*/
  44. table th{
  45.     width:20%;
  46.     padding:2px;
  47.     text-align:left;
  48. }

HTMLファイル:

CODE:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
  5. <title>商品ページサンプル</title>
  6. <link rel="stylesheet" type="text/css" href="style2.css" />
  7. </head>
  8. <body>
  9. <div id="container">   
  10.     <div id="pic_area">
  11.         <img src="cup.jpg" alt="シンプルカップ" />
  12.         <img src="cup2.jpg" alt="シンプルカップ2" />
  13.     </div> 
  14.  
  15.     <div id="text_area">
  16.         <img src="h2_text.gif" alt="気が付けばいつもコレ・・なんでかな?" />
  17.    
  18.         <h3>シンプル・イズ・ザ・ベスト♪</h3>
  19.         <p>
  20.             シンプルな真っ白のコーヒーカップは、朝食の食卓にも、リビングでゆっくり
  21.             読書をする時もしっくりマッチ。
  22.             丸っこい可愛いフォルムは、見る人を癒します。
  23.         </p>
  24.        
  25.         <h3>可愛いだけじゃない、優れもの!</h3>
  26.         <p>
  27.             しかし、この形、実は「持ちやすさ」と「飲みやすさ」を考えつくしたメーカーの出した
  28.             最善の答えだったのです。
  29.             可愛いだけじゃない、この機能性。うんちく好きにもピッタリ!?
  30.         </p>
  31.        
  32.         <h3>プレゼントにも!</h3>
  33.         <p>
  34.             シンプルで飽きのこないデザインだから、プレゼントにも最適。
  35.             余計なデザインがないから、年齢問わず気に入っていただけそう♪
  36.             勿論、ご夫婦やカップルでさりげなくおそろい!なんて、いうのも可愛い!
  37.         </p>
  38.    
  39.         <table>
  40.         <caption>スペック</caption>
  41.             <tr><th>素材:</th><td>磁器</td></tr>
  42.             <tr><th>カラー:</th><td>ホワイト</td></tr>
  43.             <tr><th>直径:</th><td>10cm</td></tr>
  44.             <tr><th>高さ:</th><td>10cm</td></tr>
  45.         </table>
  46.     </div>
  47. </div>
  48.    
  49. </body>
  50. </html>


Web力向上ポータル、納得発注道しるべ: http://www.webryoku.jp

記事のURL: http://www.webryoku.jp/news-and-tips/tips/css/p/141

記事中のlink:
[1] PLAIN TEXT: #
[2] TAG index: http://www.tagindex.com/stylesheet/box/background.html
[3] PLAIN TEXT: #
[4] PLAIN TEXT: #
[5] PLAIN TEXT: #
[6] PLAIN TEXT: #
[7] PLAIN TEXT: #

Copyright © 2008 Webの仕事力向上ポータル、納得発注道しるべ. All rights reserved.