Explorer」の略です。ブラウザ名で特に指定が無いものはWindows版についての記述です。スタイルシートについては、特に断りの無い限り互換モードについての記述です。互換モードやモードの区別のないブラウザ(IE4-5.5,NS4)では異なります。font-familyのみ継承するようです。モードの区別のないIE4-5.5,NS4も同様です。うち幾つかを継承しています。テーブル内部にfont-sizeは継承していません(IE3.0以外)。算出後の数値「40px」が継承されます。子要素で「font-size:10px」だったらline-heightは「20px」となります。値が「normal」の場合は親要素からの継承をしません。ブラウザ毎に動作を見てみるとNS4:normalを指定しても親要素のline-heightを継承してしまう。NS4:数値で指定した場合に計算後の高さを継承してしまう。NS6.1:パーセントで指定した場合に割合を継承してしまう。NS6.0,7.0は大丈夫。Opera6.01,6.03:normalを指定しても継承してしまう。Opera7.0は大丈夫。動作にばらつきがあります。normal,数値,[em][ex]で指定すると行が重なってしまいます。相対値(キーワード,[%][em][ex])による指定が推奨されています。親要素のfont-sizeになるので注意が必要です。NS4では直前の要素のfont-sizeが基準値になる事があります(バグ)。70%だったら「70%×70%=49%」となります。同じ指定をしても、このように親要素によって文字サイズが変わってしまいます。49%だと8px程度になり判読が難しくなります。残念ですがタグの入れ子をやりにくいです。毎回タグを閉じた方がいいかも知れません。(互換モード(デフォルト)時)。パーセントによる相対指定では算出時に継承値を使いません。利用してもいいかも知れません。NS6,7,Opera6ではブロックのborder値とpadding値を除いた幅になるようです。追加:Opera7.0(正式版)ではIEに合わせてブロック全体の幅になったようです。サイズをピッタリ揃えたレイアウトをしたい時には注意が必要です。border-box;」の独自拡張)が使えます。インライン指定時にハイフンで始まる属性を使うと指定無視の為スタイル全体が適用されません。「-moz...」を使う時はインライン指定をしないようにした方がいいでしょう。Opera6、Opera7.0Beta1では何れも効かないようです。そこでwidth値のみを指定したdivタグで全体を囲ってみます。ブロックのデフォルトの幅が小さいの為、幅が小さくなります。width:100%ではなくmargin:0px;を使ってみるとうまく行くようです。外側の幅を正確に指定したい場合の記述。実際のブロックサイズからborder,padding値を差し引いたものになっています。width,heightで指定するのはブロックの中身の大きさです。そのためCSSの仕様上はNetscape6+、Opera6の動作が正しいものになります。ついでながらtableタグではどうなってるか見てみましょう。width=300borderの外側で測られます。width=100tdではpaddingを除いた内側の大きさになっています。混乱しやすいので注意しましょう。その大きさが親要素の幅にピッタリ合うことが期待されます。結果的に親要素の幅を超えてしまいます(NS6,NS7)。Opera6の場合にはmarginの分だけ大きくなります。追加:Opera7.0(正式版)ではこの問題は発生しないようです。ことに関係しています。親要素にdivタグを使った場合の例を扱いました。ここではテーブルを使った場合の例を示します。width:100%を指定したブロックが親要素の幅を超えていることが分かります。padding,border指定分がはみ出る問題は解決できます。margin値だけはみ出てしまいます。入れ子テーブルでmargin指定すると横幅超過(IE4,5,6)横幅を指定したtdセル内にテーブルがある場合を考えます。(横幅の小さなテーブルは除く)。widthを指定したdiv要素内にテーブルがある場合は起こりません。mnomarginの指定をtableタグではなく外側に囲ったdivタグで行っても発生します。下の例ではmargin:20pxとしていますがpadding:20pxとしても発生するようです。IE5.0,IE5.5,IE6.0ではうまく行くようです。mno上の例をIE4.0で表示させると右側にはみ出ているのが分かります。大きなマージンが出来ているのが分かります。width=...>などと幅を指定したテーブルはレイアウトによく使われます。レイアウトがずれる可能性があるので注意が必要です。全体を幅を指定したdivタグで囲ってもいいでしょう。以下の方法を考えてみました。外側をwidth:100%のブロックで囲みます。それ以外の指定はしません。これにmarginを指定します。mno「border:none」はNS4のバグ対策です。これがないと右側の余白ができません。中身がはみ出さないように配慮した方法。予想外の表示がなされることがあります。「style="float:right;"」を指定した場合ウィンドウ幅を大きくしても常に横スクロールバーが表示される(IE4)float:rightを指定した要素が親要素の枠の外に表示される(NS4)背景(色,画像)が指定されている場合に一部の文字列が消えることがある(IE6)03/05/18更新:・line-heightが指定されていると消えない模様。tableタグを使用。これらは親要素でwidthを指定(auto以外)すれば解決するようです。style="clear:both;"></div>...</div>これはfloat:right指定されたブロックの前にある文字列です。IE6では表示されません。width:200px;">指定これは回り込んでいる文字列です。IE6では表示されません。style="clear:both;">を置き回りこみ解除。回り込み指定をHTMLオプション「align="right"」で行っても発生するようです。clear="all">...</div>これはalign=rightとした画像の前にある文字列です。IE6では表示されません。これは回り込んでいる文字列です。IE6では表示されません。clear="all">を置き回りこみ解除。これらはボックスにwidthを指定すると解決できます。width:100%;">...</div>これはfloat:right指定されたブロックの前にある文字列です。IE6では表示されません。width:200px;">指定これは回り込んでいる文字列です。IE6では表示されません。style="clear:both;">を置き回りこみ解除。再度表示されたり消えたりする。マウスをドラッグしてテキスト色を反転させても同じような現象が発生。再読み込みするとまた消えます。IE4では「float:right」を指定したボックス内の文字列も右寄せされています。そのため必要に応じて「text-align:left」も指定します。「cursive」「fantasy」を指定すると日本語が文字化けします。文字化けしてしまうようです。