2011年9月7日水曜日

十九日目!(フォント)

CSSつづきやっていきます。

●タイポグラフィスタイル
Webにおけるタイポグラフィには、さまざまな制約がある。ユーザーの環境(OSやブラウザ)の違い、グラウザの設定の違い、インストールされているフォントの違いなどが大きく影響する。

●フォントサイズの指定方法
フォントサイズの指定にはfont-sizeプロパティを使う。指定方法は単位やキーワードなどたくさんの種類がある。どの指定方法を使うかは、ブラウザの機能向上やアクセシビリティとの兼ね合いもあり、い
までも議論されている。
パソコンのモニタはドット(ピクセル)の集合体なので、ピクセル(px)での指定が一番わかりやすい。
画像やボックスのサイズなどもピクセルで指定するケースが多く、それらとの関係も壊れない。
ただし、ピクセルでの指定には問題があり、Internet Explorerでは、文字サイズが固定されてしまい、ユーザーが大きくしたり小さくしたりすることができなくなってしまう。オフィス文書などでなじみのあるポイント(pt)も同様。それに対して、キーワード(mediumなど)やパーセント(%)、相対単位であるエム(em)で指定されているフォントは文字サイズの変更可能。
 ここで考慮すべきは「可読性」。デザイナーやコーダーの意図通りのフォントサイズにするためにピクセルで固定することで、ブラウザによって文字サイズが変更できず、ユーザーが困るかもしれない。デザイナーやコーダーの仕事は、すべての環境でフォントサイズを統一させることではなく、可読性を保つことを必須条件にできるだけ最低限のコントロールにとどめるのが大切。
 そのため、パーセント、エム、キーワードなどの方法で指定するのが現実的な選択肢となるが、ピクセルと違い、ブラウザの種類やバージョンごとに表示サイズに差が出てしまう。差が出てオーケーな場合は良いのですが、デザイナーは通常、画像サイズのほかレイアウト要素との比率、1行の文字数などをきちんと考え、読みやすく伝わりやすいデザインしているはずなので、閲覧環境ごとに大きな差が出ることを歓迎しない。

「YUI Fonts CSS」 (Ver.2.5.2)でのフォントサイズ指定

body {
  font: 13px/1. 231 arial, helvetica, clean, sans-serif;  /*通常のブラウザは13px*/
  font-size: small;                                                 /* IE全般はsmall */
  font: x-small;                                                    /* IE 6/7後方互換モードはx-small */
}
/* IE 6以前でtableへフォントサイズの継承がうまくいかない問題を回避 */
table {font-size: inherit; font: 100%;}
/* IE全般でpreやcodeの等幅フォントサイズが小さくなるのを回避 */
pre,code,kbd,samp,tt {
  font-family: monospace;
    font-size: 108%;
  line-height: 100%;
}


●これからのフォントサイズ指定を考える
 ピクセル指定はIE6以前では文字サイズ変更ができないが、IE7、8では文字サイズ変更意外に「ページズーム」(拡大)機能がついたため、フォントサイズの相対指定や絶対指定に関わらず、文字や画像を含めたページ全体を拡大縮小できる。FireFoxもバージョン3からページ全体の拡大縮小が可能になったので、デザイナーの意図したレイアウトそのままで可読性が確保されることになる。

●フォントの種類の選択
フォントの種類(書体)の指定にはfont-familyのプロパティを使う。カンマで区切って複数指定でき、記述した順序でユーザーのパソコンにそのフォントがインストールされているか調べ、もしあればそれが適用されます。フォント名は環境の違いに配慮し、日本語名と英語名を書いておく。

body {
  font-family:
  " ヒラギノ角ゴ Pro W3", "Hiragino kaku Gothic Pro",
  "メイリオ", Meiryo,
  Osaka,
  "MS Pゴシック", "MS P Gothic",
  sans-serif;
}
 
フォントはOSに標準で入っているほかに、アプリケーションに同梱され、インストール時に自動的に追加されるもの、多数のフォントを収録したソフトウェアパッケージを購入して自分で追加するもの、Web上で配布・販売されているダウンロード可能なフォントなどがあり、どのようなフォントがユーザーのパソコンにはいっているかはさまざま。
WindowsXP以前では「MSPゴシック、MSP明朝」、Windows Vistaでは「メイリオ、MSPゴシック、MSP明朝」、Mac OS9では「Osaka、平成明朝」といったフォントが標準なので、そのサイトで利用するフォントがゴシック系なのか明朝系なのかによって、これらのフォント名をfont-familyプロパティで指定しておくのが基本。


font-familyプロパティでは、総称ファミリー(generic-family)で指定しておくことが推奨されている。指定したフォントがすべてユーザーのパソコンに存在しないこともあるので、総称ファミリーを指定しておくことで、”保険”になる。通常はゴシック体に相当する「sans-serif」か明朝体に相当する「serif」を、font-familyプロパティの最後に指定しておく。

font-familyプロパティで使用できる総称ファミリー(generic-family)
総称ファミリー表示
serif明朝体フォント(ヒラノギ明朝、MS P明朝、平成明朝など)
sans-serifゴシック系フォント(メイリオ、ヒラノギ角ゴ、MS Pゴシック、Osakaなど)
cursive筆記体・草書体
fantasy装飾フォント

●フォントの種類と可読性
フォントの種類を指定する際、フォントによって可読性が大きく変わるので、パソコンにインストールされているものならなんでもよい、というわけではない。
ゴシック体(sans-serif)か明朝体(serif)で考えると、たとえばパソコンのモニターでは小さい明朝体の可読性は非常に低いし、標準サイズ以上で使用したとしてもWindowsXP以前のブラウザの種類によっては、文字にアンチエイリアス(ジャギーと呼ばれる輪郭のギザギザを軽減して滑らかに表示すること。スムージング処理とも表現されることがある)がかからない。ゴシック体ならば、線の太さが一定なので、小さい文字やアンチエイリアスがかからない環境でも可読性は確保できる。

ゴシック体のなかでもWindows VistaやMac OS X、ブラウザの種類によってはアンチエイリアスのかかった読みやすいフォントで表示されるので、本文部分にはアンチエイリアス対応の「ヒラギノ」や「メイリオ」を適応しておくとよい。
「メイリオ」はWindows XPユーザーでもマイクロソフトのWebサイトから無償でダウンロードできるが、アンチエイリアスをかけるためにはフォントのインストールだけではなく特別な設定を行わなければならない。この設定を行わない場合アンチエイエイアスのかかっていない「ヒラギノ」や「メイリオ」が表示されてしまい、かえって読みにくい環境が生じる場合がある。
かといってfont-familyプロパティで先に「MS Pゴシック」を指定すればよいかというと、Mac OS X環境で問題が起きてしまう。

このようなフォントの複雑さをシンプルなCSSだけで解決するのはきわめて困難。また、IE6、IE7でfont-familyプロパティで最初に指定されているフォントがユーザーのパソコンに存在しない場合、ソースコードの書き方によっては、ブラウザのデフォルトのフォントを適用してしまう場合がある。したがって、フォントの種類についてかなりの精度で対応しようとすると、CSSハックを利用した詳細な設定と、さまざまな環境での念入りな検証が必要になる。

* {
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino kaku Gothic Pro",
    "メイリオ", Meiryo,
    Osaka,
    "MS Pゴシック ", "MS P Gothic",
    sans-serif;
}
/* IE 7に対するフォントの種類 */
*first-child-html * {
  font-family:
    "メイリオ", Meiryo,
    "MS Pゴシック", "MS P Gothic",
    sans-serif;
}
/* IE 6に対するフォントの種類*/
*html * {
  font-family:
    "メイリオ", Meiryo,
    "MS Pゴシック", "MS P Gothic",
    sans-serif;
}




あるいは、このような複雑さを嫌って、まったくの無指定にするか、「sans-serif」や「serif」などの総称ファミリー名のみの指定にとどめておく方法も利用される。(ただし古いブラウザでは総称ファミリー名の指定だけでは文字化けが起こることがあるので、ターゲットブラウザに含める場合は注意が必要。)


●太字や斜体、線の装飾
フォントを太字や斜体(イタリック体)にしたり、線の装飾などを加えることができるが、適切に使わないと、読みやすさが下がってしまう点に注意。
たとえば、address要素(制作者・保護者情報)やem要素(強調)など一部の要素はブラウザではじめから斜体で表示される。しかし日本語のフォントは欧文フォントと異なり、複雑な感じなどが含まれるので、斜体にすると文字がつぶれて読みにくい場合があるので、font-styleプロパティ「normal」と指定しておき、斜体を戻しておいたほうがいい。

address, em {
  font-style: normal;  /*斜体を通常体に戻す */
}


線の修飾については、text-decorationプロパティで「underline」「overline」「line-through」などが指定できるが斜体と同じく複雑な漢字などに線が引かれると読みにくくなる。さらに、下線を引いたテキストはリンクと見間違えてしまう(ユーザーのクリックを誘引してしまう)ので、極力使用は控えるべき。
太字については問題ないので、h1~h6要素(見出し)やstrong要素(より強い強調)を太字で表示し、「重要なテキストであること」を示してくれる。

単に制作側のニーズだけではなく、ユーザーの読みやすさや理解しやすさを考えてフォントに装飾を加えるのが大切。

今日はここまで。

2011年9月6日火曜日

十八日目!(CSSリセットスタイル)

CSSつづきです。

●リセットスタイル
ブラウザにはあらかじめCSSが用意してあり、自動的にXHTMLに適用してある程度読みやすい状態で表示する。たとえば、各要素にマージンやパディングを設定して間隔や余白をもうけたり、フォントの大きさや太さ、色、線など修飾を施してくれている。このようなブラウザがはじめから備えているスタイルを「デフォルトスタイル」という。
しかし、CSSで見た目を詳細に指定するとき、デフォルトスタイルが邪魔になることがある。全てのブラウザで、ページ全体(body要素)の内側の余白、見出し、(h1-h6)の大きさ、段落(p要素)と段落(p要素)の間隔などを同じにしたいと思ったとき、デフォルトスタイルが影響して思うようにいかないことがある。
このような問題を避けるために、デフォルトスタイルを初期化するためのCSSファイルを用意しておく方法がよく利用される。このスタイルを「リセットスタイル」という。ファイル名には「reset.css」や「default.css」などがよく使われる。このCSSファイルを最初に読み込んでおくことで、ブラウザ間での表示統一がラクになる。

さまざまなサイトやブログでリセットスタイルが提案されている。たとえばThe Yahoo! User Interface Library(YUI)に「YUI Reset CSS」や「YUI Base CSS」がある。

まず、「YUI Reset CSS」を適用して、要素のマージンやパディングを取り去ったり、フォントサイズを100%にしたりブラウザのデフォルトスタイルのうち主要な部分をリセットしたあと、「YUI Base CSS」を適用して、各要素の基本的なスタイルを再定義する、というかたちで利用。
ソースコードをコピー&ペーストで自分のCSSに取り込みカスタマイズして使うのが現実的。
他にもいろんな人のリセットスタイルが公開されているので、参考にしながら、自分なりのリセットスタイルや制作チームで定番のリセットスタイルを作っておくと便利。

●どこまでリセットするのか
デフォルトスタイルをどこまでリセットするのかについて、特に決まった方法はないが、以前はユニバーサルセレクタ(*)を用いてすべての要素のマージンやパディングをカットしたり、フォントやテキストのスタイルさえ詳細にリセットする方法もよく利用されていたが、スタイルの再定義が面倒でソースコードが大量になりがちなことや、一部のブラウザでフォームパーツに崩れやつぶれが発生すること、残しておいてもよいスタイルまでリセットされてしまうなどのデメリットがあるため、最近では必要な要素だけリセットしたり、利用頻度の高いブロックレベル要素中心にリセットすることが多くなった。指定するスタイルも、マージンとパディングのカット、プラスアルファで数個、ということが多いよう。

リセットスタイルを記述したファイルは、どのようなWebサイトをつくるときにも使いまわせるが、「できるだけ完全にブラウザごとの見た目を統一したい」という要望の元で強いリセットをかけたり、「デフォルトスタイルを活かし、見た目の統一よりも制作スピードや各デバイスで情報がとれることを優先したい」という場合はリセットなしで進めることもある。

●指定しておくと便利なリセットスタイル
ブラウザのスクロールバー表示の違いを解決
スクロールの必要がない短いページについて、スクロールバーを表示するかどうかはブラウザによって異なるが、おおくのブラウザが表示するのに対し、FireFox3は表示しないため、ページ遷移の際にスクロールバーの幅の分だけコンテンツが左右にずれてしまい、違和感を覚えることがある。この問題を解決するため、次のように指定し常にスクロールバーが表示されるようにする。

html {
  overflow: scroll;
  overflow: -moz-scrollbars-vertical;
  overflow-x: scroll;
}


表(テーブル)のボーダー表示の違いを解決
表のボーダーの表示方法は、各セルのボーダーを個別に引く方法(separate)と重ねて引く方法(collapse)のふたつがあり、border-collapseプロパティで指定できる。また別々に引く場合にどのくらい離すのかをborder-spacingプロパティで指定できるがブラウザによってこれらの設定が異なる場合があるので、次のように指定して統一する。

table {
  border-collapse: collapse;
  border-spacing: 0;
}


画像のリンクボーダーの非表示
画像にリンクを設定した場合、ブラウザ上で自動的にボーダーが引かれる。次のように指定して、画像リンクのボーダーが表示されないようにし、リンクボーダーが必要な画像は、あとから個別にボーダーを設定する。

img {
  border: 0;
}




今日はここまで。





2011年9月5日月曜日

十七日目!(~CSSファイル分割まとめ)

それでは、CSSつづき進めていきます。

●CSS分割の具体例
分け方
部品別header.css,footer.css,main.cssなど
要素別font.css,color.css,table.cssなど
ページ別top.css,category.css,page.cssなど
メディア別print.css,handheld.cssなど
ブラウザ別ie.css,firefox.css,safari.cssなど

実務的には、これらを組み合わせたファイル設計が行われるのが一般的。さらに、各ブラウザ間の誤差をなくすためのリセットスタイル、CSSハックのみを記述したファイル、モダンブラウザ用のリッチな表現を記述したファイルなどをプラスすることもある。

このような基本的な設計方法を覚えておき、あとはWebサイトの開発・運営体制にあわせてシンプルにしたり複雑にしたりと調整を行う。たとえば、季節ごとに見出しの色やヘッダー画像を変更するサイトでは、その指定だけを抜き出した「season.css」というファイルを用意しておけば、更新が効率的になる。
これらの複数のCSSファイルを一括して読み込むために、@importの記述用の「@import.css」というファイルがよく使われる。@importではあとから読み込まれたファイルが優先されるので、順序指定には注意。基本的に、おおまかなスタイルから個別的なスタイルへ、という順序で指定。


@charset  "UTF-8";
@import "reset.css";      /* リセットスタイル */
@import "layout.css";     /* レイアウト */
@import "header.css";    /* ヘッダー */
.....
@import "hack.css";       /* CSSハック(clearfix,ブラウザの表示調整など) */

共通のCSSファイルを一括して読み込むだけでなく、特定のページのみXHTMLにlink要素を追加して専用のCSSファイルを読み込んだり、@importの記述用のCSSファイルを複数用意して読み込みの切り替えを行う場合もあるが、管理が複雑になりがちなので、明確なルールを定めたりドキュメントを用意したりしてできるだけわかりやすくすることが重要。

また、印刷用のスタイルや携帯機器用スタイルを用意する場合は、XHTMLにlink要素を追加し、media属性で適用メディアを指定する。

<head>
....
  <link rel="stylesheet" type="text/css" href="css/import.css" media="screen,projection,tv" />
  <link rel="stylesheet" type="text/css" href="css/print.css media="print" />
  <link rel="stylesheet" type="text/css" href="css/handheld.css" media="handheld" />
....
</head>


@importに適用メディアを指定したり、@mediaという方法も利用できるが、ブラウザのサポート状況を考えて、link要素のmedia属性で指定しておくのが基本。


CSSファイルの分割のポイント
●ファイルを細かく分けすぎない
ファイルが多くなりすぎると、コーディングや修正時に混乱する可能性が高くなる、ファイル管理や バージョン管理がむずかしくなる、レスポンスが悪いといったデメリットがうまれる。

●直感的にわかるファイル名をつける
自分の為にも他人の為にも、ファイル名をわかりやすくしておく。

●@importにコメントをつける
「@import.css」に指定した@importそれぞれに、何に関するファイルなのか簡単なコメントをつけておくと便利。

●サイトにあわせてファイル設計を柔軟に変える
いつも同じ設計では多種多様なWebサイトに対応しきれない。サイトの規模、コンテンツの性格、量、更新頻度、更新担当者のスキルなどによってファイル設計を。

●最低限の構成は統一しておく
Webサイトによってファイルを変えるといっても、制作チーム内のルールや自分のルールとして、最低限ファイルの構成は統一しておく。

●最終更新日や総目次などの「インフォメーション」を記入する。
CSSファイルの上部に書いておくと便利なのは、「何のスタイルなのか」、「目次」、更新履歴として、「誰が」「いつ」「どこを」「どう更新したのか」という情報。

●ファイル設計はデザイナーとコーダーで
CSSファイルを分割するには、一定のレイアウトパターンだけでなくイレギュラーな部分を知る必要がある。XHTMLの構成上は同じパターンでも異なる見た目にしたい、特定のページのみ特別な指示を行いたいなど。
設計にはメンテナンス性も大きく関わってくるので、サイト公開後の運営体制がどうなるのかを確認しながら設計する。

今日はここまで。

2011年9月3日土曜日

十六日目!(反省、SEO対策など)

今日は、先週つくったHPのソースコードを見て今後もっと勉強して修正してかなければならないところをいくつか指摘して頂いていたので、そのあたりの復習をやりたいと思います。

まず、HTMLのtitleの中で1度だけ書き込まないといけないそのHPのタイトルですが、あまり何も考えずにそのHPのタイトルをなんとなくつけてましたが、SEO対策というものを考えてしっかりとつけないといけないようです。
SEO対策とは、グーグルなどで検索かけたときに、上位に来るようにするためもので、サーチエンジン最適化と言うようです。これは言うまでもなく、なにか調べ物をしようと検索かけた時、そんなに数ページも後ろにある場所まで見に行かない為、できるだけ検索結果の最初の方に表示されるように、ソースコード内のタイトルには気をつかってつけるようです。
これと同じ理由で、HP作成において”テキストサイズは大きくしないけど太字にしておきたい”という場所がいくつかあり、その部分を<h3></h3>で囲み、CSSで太字指定してましたが、SEO対策の観点から、タイトル名や、h1~h3要素で囲まれている部分は、検索で引っかかって欲しいようなワードを使うべきで、単語的にたいして意味はなく、単に太字にしたいだけのものに使うべきではないようです。もし使うのならば、h4~h6くらいでやるべきだったようです。

次に今回つくったHPは別ページで同じようなデザイン、構成のページで既にUPされているのがあったため、そのページのHTMLをコピーして、”必要を思われる場所だけを書き換える”というつくり方をしました。そのためソースコードを見て、「よくわからない所は触れないでいよう」という感じで作っていました。すると、必要のないコードが残っていたり、書き換えなければいけない部分が書き換えられていなかったりと、修正するべき点がいくつもあったようです。
その1つに、またもSEO対策に関連するのですが、title等を書き込むhead内にmeta要素が書き込まれていて、あまり理解できてないため書き換えたり消したりというのを全くしていなかったのですが、その中に

<meta name="description" content="ここにHPの内容や要約">

という部分がありました。しかしこの”HPの内容や要約”という部分が、先ほど書いたように、「既にあがっているHP」のHTMLをコピーを元に作成している為、この部分は私たちが作ろうとしているHPの内容や要約とは関係のない、「既にあがっているHP」の内容や要約が書き込まれたままになっていました。この場所も検索した場合のヒット率をあげる為に大切な部分なので、HPの内容や要約に添った言葉や文章に書き換えておかなければならない部分でした。



他にも、javascriptを読み込んでくるようなソースコードがあったのですが、作ったHP内では、javascriptは一切使っていないため必要なく、その部分のソースコードは消しておくべきだったんですが、何かイマイチわかっていなかったため、触れずにスルーしてました。
また、table要素において太字にしたい部分を<td><b>文字</b></td>という感じで書いてたのですが、table要素内で太字にしたいときは、<th>文字</th>を使うべきで、おかしな書き方をしていたようです。

とくにSEO対策の部分はまだ理解できておらず、何も考えずに作成していたため、今後はそういう面もしっかり考えていかなければならないと思いました。

今日はここまで。

2011年9月2日金曜日

十五日目!(CSSユーザースタイル、分割~)

つづき進めていきます。

●ユーザースタイルシート
CSSはWebページを製作する人ばかりでなく、ユーザーが自分でつくって閲覧するページに適用することができる。目が悪いためにフォントをかなり大きいサイズにしたい、色覚障害のための文字色や背景色をグレースケールにしたいなど、自分の好みの見た目でWebページを閲覧したい場合、ユーザーが自分で作る。

CSS適用の優先順位は

(ブラウザの)デフォルトスタイル < ユーザースタイル <製作者スタイル

となるので、製作者スタイルが最優先で適用されることになるが、ユーザースタイルを最優先で適用するために、プロパティに「!important」をつけることができる。製作者も「!important」をつけることができるが、ユーザーの「!important」つきスタイルが優先される。

!importantつき製作者スタイル < !importantつきユーザースタイル

●CSSファイルの分割のメリット
目的に応じたCSSのファイル設計をあらかじめきちんと考えておくことが大切。
CSSのソースコードをいくつかの部品に分解し、複数のファイルで管理する。


CSSファイルを分割することで、「作業が効率的」になる。コーディング時や修正時、問題が起こったとき、リニューアルのときなど素早く問題解決できる。

初期セッティングが早くなる。
何度も、XHTML+CSSコーディングを経験すると、「毎回使うスタイル」があるので、そういうものをファイルにまとめておけば、次回から使いまわせる。

修正時の検索性が上がる
複数のファイルでCSSを管理していれば、ファイル名から「何が記述されているか」想像できるので、目的のCSS記述場所がみつけやすい。

問題点を絞り込みやすい
問題がおきたとき、読み込んでいるCSSの1つずつ解除していけば、問題のあるCSSファイルがどれなのか原因が特定しやすい。

カテゴリーごとやページごとで違ったデザインにしやすい
CSSの後から読み込んだもので「上書き」する特徴を活かし、共通のスタイルを読み込んだあとで、カテゴリーごとなどで用意した、違うデザインのCSSで上書きを行えば簡単にできる。

CSSの差し替えや削除が簡単
Webデザインにはある程度決まったレイアウトパターンがあるので、あらかじめパターンごとのCSSファイルをつくっておけば必要に応じて差し替えるだけでレイアウト変更が可能。またキャンペーンなど一定期間が終われば丸ごとなくなるようなコンテンツの場合、その固有のスタイルを別のCSSファイルにまとめておくことで、コンテンツ削除時にCSSもファイルごと削除すれば済む。

CSSハックが管理しやすい
ブラウザごとの表示の違いを調整する「CSSハック」も独立したCSSファイルに記述しておくことで、作業が効率化できる。

複数のスタッフで作業しやすい
CSSが分割されていれば、複数のスタッフでコーディング作業がしやすくなる。

●ファイルの分割のデメリットと対策
CSSの分割は「細かく分ければおk」ではなく、適切に設計しなければならない。

混乱を招くことがある
記述場所の間違いや重複などがおこらないように、直感的にわかるファイル名をきちんとつけておくことが大切。

ファイル管理やバージョン管理が煩雑になる
ファイルの”先祖返り”や上書きミス、重複指定などを回避するために、更新履歴を書いておく。
CSSファイルの上部(@charsetのあとに)ファイル名や概要、更新日、更新者、ファイル名の目次などの「インフォメーション」をしっかり書いておく。

ページの表示速度に影響することがある
CSSファイルを細かく分けると、それだけHTTPリクエストの数が増えることになるので、ページの表示速度が遅くなってしまうので対策としては、製作段階では細かく分割していても、公開時には数ファイルに統合するという方法がある。

本日はここまで。

2011年9月1日木曜日

十四日目!(プロパティ、リスト、表、~スタイル)

前回からのつづきをすすめていきます。

●リストのプロパティ
リストの先頭に表示するマーカーの種類を指定するlist-style-type、マーカー画像を指定する
list-style-image、 マーカーの位置を指定するlist-style-positionプロパティがある。またこれらを一括指定するためのlist-styleというショートハンドプロパティが利用できる。

リストのプロパティ
プロパティ効果指定できる範囲初期値適用できる範囲
list-style-typeリストマーカーの種類disc,circle,square,decimalなど discdisplayプロパティで「list-item」と指定されている要素(li要素)
list-style-imageリストマーカー画像url(...),nonenone displayプロパティで「list-item」と指定されている要素(li要素)
list-style-positionリストマーカーの位置inside,outside outsidedisplayプロパティで「list-item」と指定されている要素(li要素)
list-styleリストマーカーに関する一括指定各プロパティの値をスペース区切りで各プロパティを参照displayプロパティで「list-item」と指定されている要素(li要素)

●表のプロパティ
表(テーブル)のキャプション位置を指定するcaption-side、表のレイアウト方法を指定する
table-layout、表ボーダーの表示方法を指定するborder-collapse、表ボーダー同士の間隔を指定するborder-spacing、空セルの表示方法を指定するempty-cellsプロパティがある。

表のプロパティ      
プロパティ効果指定できる範囲初期値適用できる要素
caption-side表のキャプション位置top,bottomtop caption要素
table-layout表のレイアウト方法auto,fixedauto table要素など
border-collapse表ボーダーの表示方法collapse,separate separatetable要素など
border-spacing表ボーダー同士の間隔長さ0 table要素など
empty-cells空セルの表示方法show,hideshow th、td要素

その他のプロパティ

●ユーザーインターフェイスのプロパティ
マウスカーソルの種類を指定するcursor,フォーカス時のアウトラインを指定するoutlineプロパティなどがある。

●contentプロパティ
生成する内容を指定するプロパティ。:before/ :after擬似要素とともに利用する。

 その他のプロパティ
プロパティ効果指定できる値初期値適用できる要素
cursorマウスカーソルauto,pointer,waitなどautoすべての要素
outline,widthアウトラインの太さ長さ、thin,medium,thickmediumすべての要素
outline-styleアウトラインの形状solid,dotted,dashed,noneなど noneすべての要素
outline-colorアウトラインの色invert,#rrggbb,#rgb,カラー名などinvertすべての要素
outlineアウトラインの一括指定太さ、形状、色をスペース区切りで各プロパティを参照すべての要素
content生成する内容none,normal,文字列,url(...)などnormal :before/:after擬似要素


●スタイルの優先順位
スタイルの適用対象が競合している場面、「詳細度」と「読み込み順序」という二つのルールによって、優先順位が決定される。この仕組みを「カスケード処理」という。

ユニバーサルセレクタタイプセレクタクラスセレクタ、属性セレクタIDセレクタ

●スタイルの読み込み順序
読み込み順序は「詳細度が同じスタイルについては、あとから読み込んだスタイルが優先される」というルール。

● スタイルの継承
CSSにはある要素に適用したスタイルは子孫要素に自動的に引き継がれるという特徴がある。
このしくみを「継承」といい、ほとんどのスタイルが自動的に引き継がれる。



 今日はここまで。

2011年8月29日月曜日

十三日目!(プロパティ~視覚整形、文字色・背景、フォント・テキスト)

少しテキストを使っての勉強は間があきましたが、続きをやっていきます。

●line-heightプロパティ
行の高さを指定単位はフォントサイズとの兼ね合い(フォントを大きくした場合にテキストの重なりが発生)の問題があるので、「1」や「1.5」といった実数でしておく方法がよく使われる。


●視覚整形モデルのプロパティ
プロパティ効果指定できる値初期値適用できる要素
displayボックスの種類inline,block,list-item,noneなど inlineすべての要素
positionボックス配置方法static,relative,absolute,fixedstaticすべての要素
top
right
bottom
left
ボックスの上下左右からの位置指定長さ、%,autoauto配置が決められている要素(positionプロパティの値が「static」以外の要素)
z-lineボックスの重なり順序整数、autoauto配置が決められている要素(positionプロパティの値が「static」以外の要素
floatボックスのフロートleft,right,nonenoneすべての要素
clearフロートのクリアleft,right,both,nonenoneブロックレベル要素
line-height行の高さnormal,実数、長さ、%normalすべての要素
vertical-align行内やセル内での上下関係baseline,top,middle,bottomなどbaselineインライン要素、th・td要素

●visibilityプロパティ
ボックスの可視・不可視を指定します。「visible」が可視、「hidden」不可視の値。
displayプロパティで「none」と指定した場合は「非表示化」であり、ボックスは生成されませんが、visibilityプロパティで「hidden」と指定した場合は「不可視化」であり、ボックスが生成されたうえで内容が見えない状態になる、という違いに注意。

 ●overflowプロパティ
ボックスの切り抜き方法(内容がボックスからはみ出す場合の表示方法) を指定。
「visible」「hidden」「scroll」などの値が指定できる。ブラウザに任せる場合は「auto」を指定。

●colorプロパティ
文字色をRGB値やカラー名で指定します。次に解説「背景」とのコントラストが保たれていないと、テキストが読みにくくなる点に注意。

●背景のプロパティ
背景を指定するには、さまざまなプロパティがあります。背景色はbackground-colorプロパティ、背景画像はbackground-imageプロパティで指定。さらに背景画像の繰り返し方法をbackground-repeatプロパティ、開始位置をbackground-positionプロパティ、スクロールに対する移動・固定をbackground-attachmentプロパティで指定できる。これらのプロパティを一括指定するためにbackgroundという「ショートハンドプロパティ」を利用し、値をスペース区切り・順不同で指定することができる。

文字色・背景のプロパティ
プロパティ効果指定できる値初期値適用できる要素
color文字色#rrggbb,#rgb,カラー名などブラウザに依存すべての要素
background-color背景色##rrggbb,#rgb,カラー名などブラウザに依存すべての要素
background-image背景画像url(...),nonenoneすべての要素
background-repeat背景画像の繰り返し方法repeat,repeat-x,repeat-y,no-repeatrepeatすべての要素
background-attachment背景画像の移動・固定scroll,fixedscrollすべての要素
background-position背景画像の開始位置left,right,center,top,bottom,%,長さ0% 0%すべての要素
background背景の一括指定各プロパティの値をスペース区切りで各プロパティを参照すべての要素

●フォントのプロパティ
フォントの種類を指定するfont-family、斜体や通常体などを指定するfont-style、太さを指定するfont-weight、大きさを指定するfont-sizeプロパティなどがある。

font-familyプロパティでは、フォント名をカンマ区切りで複数指定できる。その際は、最後に総称ファミリーである「serif」「sans-serif」「cursive」「fantasy」「monospace」いずれかを指定しておくことが
推奨されている。
一般的には、明朝体を指定している場合は「serif」、ゴシック体を指定している場合は「sans-serif」を最後に指定しておく。

フォント・テキストのプロパティ
プロパティ効果指定できる値初期値適用できる要素
font-familyフォントの種類フォント名をカンマで区切り複数指定ブラウザに依存すべての要素
font-styleフォントのスタイルnormal,italic,obliquenormalすべての要素
font-weightフォントの太さnormal,boldなどnormalすべての要素
font-sizeフォントの大きさ長さ、%、mediumなどのキーワードmediumすべての要素
fontフォントの一括指定各プロパティの値をスペース区切りで各プロパティを参照すべての要素
text-indentテキストの行頭の字下げ幅長さ、%0ブロックレベル要素、th・td要素など
text-alignテキストの行揃えleft,right,center,justifyテキストの表記方向に依存ブロックレベル要素、th・td要素など
text-decorationテキストの装飾underline,line-through,noneなどnoneすべての要素
text-transformテキストの大文字・小文字の変換capitalize,uppercase,lowercase,nonenoneすべての要素
letter-spacingテキストの文字間隔normal、長さnormalすべての要素
word-spacingテキストの単語間隔normal、長さnormalすべての要素



今日の投稿分から、途中、HTML編集に変えてtable要素を使って表を作りました。今までに勉強した内容にも表を作ったほうが分かりやすいと思うところがいくつかあるので、また過去の投稿分にも再編集して、表を追加しようと思います。

本日はここまで。