「進捗度」をトップページに移動しました。(2004-03-02)
Mac Opera6.03で@importが効かないのはガイシュツ?
@import url("");と@import "";の両方とも駄目。
Win版ではリロードすると処理される、とあったけどMac版ではリロードしても駄目でした。
ちなみにIE5.2,Netscape7.1,Mozzila1.6では問題無し。
回避方法は@import自体を使わない、しかないのだろうか。
Mac版Opera6ではこのような現象が発生するらしい。他に置く場所がないのでここに。
バグかどうか分からないのですがNN7.1で外部スタイルシートで
指定した一番目の要素が無視されてしまいます。IE6では問題ないです。
body {
background:url(background.gif);
font-size:10pt;
}
↑の場合だと背景、文字サイズ共に無視され
body {font-size:10pt;}
body {
background:url(background04.gif);
font-size:10pt;
}
↑のように最初に適当なのを加えると、どちらも反映されます。
再現できず。
JavaScript で table 要素の中に tr ・ td 要素を追加しても IE 6.0 sp1 でだけ
表示に反映されずにつまっているところです。
MozillaFirebird 0.6.1、Opera 7.23 ja では無事動作。
table要素に対してtr要素をappendChildするとこの現象が発生します。しかし、table要素の直下にtr要素を置くことはできません。thead, tbody, tfoot要素に対してtr要素をappendChildしてください。
WinIE6にて。
#id {position:absolute; position:fixed; top:50px; left:0;}
これはposition:fixed;(未実装)に上書きされてposition:absolute;は無効になる。
したがってtop:50px;も効かない。
IE独自拡張のCSS関数構文を使って同じ事を指定してみる。
#id {position:expression('absolute'); position:fixed; top:50px; left:0;}
これだとposition:absolute;として有効、top:50px;に配置される。
なんかヘンですね。
上記の例に含まれるダイナミックプロパティは、以下のようなスタイルシートとスクリプトの組み合わせであると考えればよいかと。
<style type="text/css">#id {position:fixed; top:50px; left:0;}</style>
<body onload="document.getElementById('id').style.position='absolute'">
この場合はMozillaやOperaでも固定配置ではなく絶対配置されます。
結論だけ言うと、offsetHeightの算出法がStrictモード時に他のUAと違うことが原因。
ただoffsetHeightはもともときちんと標準化されたプロパティではないので
バグとみなすには無理があるだろう。
box-sizingプロパティの値によってbottom (right) プロパティの作用が異なることも原因?
<div style="position:relative; width:100px; height:100px; background:lime;"> <div style="position:absolute; left:0; right:0; top:0; bottom:0; border:10px solid blue;">C</div> </div> <div style="position:relative; width:100px; height:100px; background:aqua;"> <div style="position:absolute; left:0; right:0; top:0; bottom:0; border:10px solid red; box-sizing:border-box; -moz-box-sizing:border-box;">B</div> </div>
Opera標準モードでは、
絶対配置要素のtopプロパティ値を親要素の高さと絶対配置要素の高さの差に更新する作業を繰り返す場合、border-boxでは絶対配置要素の下ボーダー外辺と親要素の内容領域の下辺との間に常に20pxの空間が確保されるため、ボックスの高さは低くなってゆく。結果、内容物は下方に移動する。
Opera互換モードでは、どちらの値も80になるが20pxの空間は確保しないため、ボックスの高さは変化しない。
※Mozillaは標準・互換ともにOpera標準モードと同じ。
#navbar {
position:fixed; z-index:5;
bottom:0; left:0;right:0;
margin-bottom:0;
}
<table id="navbar"><tr>
<th>menu</th>
<td>
<a href="1.htm">menu1</a> <a href="2.htm">menu2</a> <a href="3.htm">menu3</a> ……以下略
</td>
</tr></table>
また、これはtableの問題になるが、上掲のソースで
#navbar td {text-align:right;}と追加指定して、
a要素を列べた後ろにaaaaaaa0000000......と半角英数字を長く長く長く書くと、
その英数字だけが表示されてa要素が消える困った現象が起きる。
長い1バイト文字列によって表の幅が閲覧領域の幅を超えているために右寄せの文字が見えなくなっていると思います(以下はイメージ図。半透明になっている領域は閲覧領域からはみ出した部分を表す)。

固定配置は閲覧領域に対する位置を指定するものであり、閲覧領域からはみ出した部分を表示することはできないのは妥当でしょう。
■修正済!(1.2で再現しない)
空白文字のみのテキストノードを正常に取得できない
ねこめしにっきでは「変わりばえの無いトコ」とされているのですが、実際のところはどうなのでしょう?