933 :
24:03/04/12 15:11 ID:???
スタイルシートスレからきました。
問題はIE5.0/Win98で巨大空白が生じる現象です。
この問題はIE5.5/IE6.0/NS7.02/OP7.10では起こりません。
htmlソース(配置には青ボーダーを追加しました)
http://morrie.mallkun.to/kanasii/index.html cssソース(問題に気づく前段階。IE5.0のみで問題発生)
http://morrie.mallkun.to/kanasii/tobira.css 巨大空白は#uewakuの閉じ</div>と次のブロック<div id="hizuke">の間に
生じます。要因は複合で全幅→(下がる)→右→左→右→(下がる)→全幅
という多少複雑なレイアウトも要因ですが、#uewakuのwidthとheightが
決定的な障害要因になっていることは確かです。この二つさえなければ問題は
起こらないわけですから。しかし、#uewakuからwidthとheightを取り除くと
意図したレイアウトに戻すのに悲しい手段を講じなければならないという
お話です(スタイルシートスレ)。
934 :
24:03/04/12 15:36 ID:???
ちなみに多少複雑な配置計画になっているのは、
htmlの構造を文章のフローに合わせたかったからです。。
文章のフローを崩してレイアウト優先に組替えれば問題はありません。
>>935 いや、だから、そこでのddは「フロート」じゃないだろ。
フロートではない場合を考えれば理解が深まる、と言ったのはそういうことでもある。
ここでは物理的に無理があるし、そもそもスレ違いなんで、これ以上は書かないが。
これ以上書かないと言ったが。通りすがりの私がバグ報告以前のことでスレを汚して申し訳ない。
そのリンク先を57n-87nまで読んでみて、笑えなかった。途中で正しいことを言った奴が間違った意見に流されている。
簡単なことだが、正しくは、ddもfloat:leftして、対になるdtとddが横幅を目いっぱい使えば、57nの目的は達成される。
>>936-937 つまり、これでもいいわけだろ? IE6・NN7で確認。
<dl>
<dt style="float:left; width:4em; clear:left;background:aqua;">長い長い長い長い長い長い名前</dt>
<dd style="/*float:left;*/ margin-left:4.5em; background:lime;">短いセリフ</dd>
<dt style="clear:left;float:left; width:4em; background:fuchsia;">短い名前</dt>
<dd style="float:left;min-width:1em; margin-left:0.5em; background:red;">セリフが2行セリフが2行セリフが……</dd>
</dl>
……と思ったら、Opera 7だけうまくゆかないや。
【MacIE5.16】
http://pc2.2ch.net/test/read.cgi/hp/1050086156/l50/115-118 より
いわゆるナビゲーションバーとしてul要素をdisplay : inlineで
使ったとき、中央寄せと背景色指定をしていると、リストの最後
のアンカーしか見えなくなる。
# で、記述があっているのかは未確認です
# 当方、Macを持っていないため、原因を最小限に絞ることが出来ないことをお許し下さい。
以下の記述でのサイト内リンクが、「最後の一つだけしかアンカーが見えない」
状態になりました。
HTML4.01Strictでも、XHTML1.1でも同様でした。DOCTYPEは両方とも
公開識別子 + システム識別子を記述しています。
>939の続き
ul.navigate{
border-style : solid none solid none;
border-width : thin;
margin : 2em 0em 0em 0em;
padding : 0.5em 0em 0.5em 0em;
text-align : center;
border-color : #000099;
background-color : #e6e6fa;
color : #000000;
}
ul.navigate li {margin : 0em 0em 0em 0em;display : inline;background-color : #e6e6fa;color : #000000;}
ul.navigate li:before {content : "[ ";}
ul.navigate li:after {content : " ]";}
a:link {color : #0000ff;}
a:visited {color : #004080;}
<ul class="navigate">
<li><a href="../hoge/index.html">hogeコーナーへ</a></li>
<li><a href="../sitemap.html">サイトマップ</a></li>
<li><a href="../index.html">トップに戻る</a></li>
</ul>
この例ですと、「トップに戻る」だけが表示されて、前の2つは
透明アンカーになっていました。一応マウスを持っていけば
ステータスバーにリンク先URIが表示されてリンクとして利くこと
は利くのですが非常に分かりづらくなります。
この場合ですと、
1. ul.navigate の text-align : center; を取る
2. ul.navigate li の background-color : #e6e6fa; を取る
のどちらかで、全てのアンカー文字列が表示されるようになるそうです。
>>940 ちょっと調べてみました。
IE 5.2.2 (Mac OS X 10.2.4)で検証。
単純化してみると、以下で症状が再現しました。
-------
ul{
text-align : center;
/*text-align : right; でも同様。*/
}
li{
display : inline;
background-color : #ffffff;
}
-------
liのbackground-colorが、
transparentまたはinheritでは、問題無し。
li要素の中にaやspanなどinline要素が無ければ、問題無し。
まとめると、
ulのtext-alignがcenterまたはrightで、
liにdisplay : inline;を指定した場合、
li要素にbackground-colorを指定するのは避けましょう。
つーことでよろしいか。
>>942 少なくとも【MacIE 5.x】ではできません。
WinIE の方の実装についての記憶が曖昧だったので
「気がする」という書き方をしました。
全称セレクタにdisplay:noneを指定するとOpera7がフリーズする。これもバグか?w
945 :
山崎渉:03/04/17 15:31 ID:???
(^^)
947 :
366 :03/04/17 23:51 ID:???
>920 → WinIE096, Mozilla052
>930, >933 → WinIE097
>939 → MacIE035
>942 → MacIE035, WinIE098
>944 → Opera046
それぞれ追加しました。
>>938が「Opera 7だけうまくゆかない」のはバグか?
>>930-934のバグには発展形も。
b097には「幅や高さを指定した要素の下に」とあるが、「要素の中」でもなるらしい。
http://pc2.2ch.net/test/read.cgi/hp/1050086156/23-39 また幅や高さを指定しなくてもなる場合もあるとのこと。
#uewaku { background-color: #333000; color: #b7a800; }
#migiue { float:right; width:50%; text-align: right;}
#hidariue {height: 41px;}
<div id="uewaku">
<div id="migiue">
<div class="annai"><a href="../index.html" class="kurozi">扉</a> > 目次</div>
</div>
<div id="hidariue">
<a href="index.html" class="kirikae"><img src=".画像.gif" alt="画像" width="100" height="40" class="画像" /></a>
</div>
</div>
>#uewakuにwidthもheightもないのに、もう訳がわかりません。
>もちろんIE5意外ではきちんと表示されます。
【MacOSX 版 (Carbon) IE5.1】
http://www.remus.dti.ne.jp/~a-satomi/nikki/2001/10c.html#day26num02 1.
vertical-align : inherit 以外の正当な値;
任意の正当なプロパティ: inherit;
…という値とプロパティの組が、単一のセレクタブロック内に記述された CSS 。(別のセレクタ内でそれぞれ別個に指定してる場合は OK )
2.
このセレクタの適用先となる要素が HTML 中に出現する
上記の条件が満たされるページを表示しようとすると、MacOSX 版 (Carbon) の IE5.1 はクラッシュする。ただし Classic MacOS 版 IE 5.1, IE5.0 は平気。
960 :
959:03/04/18 13:46 ID:???
961 :
959:03/04/18 13:52 ID:???
ちなみに個別指定で
ul {margin-left;auto; margin-right:auto;}
としてから
li {text-align:center;}
とすると、WinIE6、Netscape7、Opera6では綺麗にセンタリングしてくれるが
MacIEだけはリストマーカーがテキストと一緒に中央揃にならず、
左端にリストマーカーだけ離れて表示されて格好悪くなる罠が。
対処法は、見つかってない。
>>938が「Opera 7だけうまくゆかない」のはバグですか。
IE6(Win)のみでしか確認していないんですが、
見出し要素(h1とかh2とか)に対してfirst-letter擬似要素を適用させると、
後続するブロック要素のboxから要素内容が飛び出るんです。それも左右。
現象が起きる時と起きないとき(ブロック要素の並べ順によって違う)があってよくわかりません。
互換モード標準モード共に試しましたが、どちらでも起きるようです。
「同一要素を繰り返して置いたときにその要素が次第に左へ寄っていく」ってIEのバグかと
思ったんですが、左右から飛び出ちゃうので違うのかと。
[HTML]
<h1>foo</h1>
<p>hogehogehogehoge</p>
<h1>bar</h1>
<p>hogehogehogehoge</p>
[CSS]
h1:first-letter {color:#ffa500;}
p{margin:2em;background:#ffddcc;}
バグなのか表記の仕方が間違っているのか、対策等あったら教えて下さい。
>>963 このソースだけでその現象起きる?
俺も見出しにfirst-letter使うけどそんなことなかったけどなあ。
他のスタイルが影響してると思うんだけど…。
966 :
山崎渉:03/04/20 03:12 ID:???
∧_∧
( ^^ )< ぬるぽ(^^)
967 :
山崎渉:03/04/20 03:45 ID:???
∧_∧
( ^^ )< ぬるぽ(^^)
h2:first-line,h3:first-letter{font-size:170%}
のように、擬似要素の指定をまとめて行うと
WinIE6は最後に記述した擬似要素にしかスタイルを反映しないようだ。
別々に書けば問題は起こらない。
>>970 実際にはタブが入ってるんだけど書き込むときに無効になったらしい……。
……ていうかまさに
>>970のバグだ_| ̄|○
カンマの直前にタブ置いたら複数同時に指定しても反映された。
お騒がせしました。
つまり
>>970のバグへの補遺ってことだね。
>>972 まとめると、
擬似要素と中括弧の間に、またセレクタをグループ化する際はカンマの前に空白類文字を置かないと擬似要素が認識されない(IE6)
977 :
366:03/04/23 06:40 ID:???
>963 WinIE099に追加。
>968 WinIE079を修正。
>969 WinIE055を修正。
>974 NN010を修正。
>976 これから…。
979 :
978:03/04/23 10:04 ID:???
あ、一応修正されたのか。更新履歴に出てないだけで。
でも、バグへの対処法は「マージンを指定すること」ではなくて
「マージンとborderを“共に”指定すること」なんですよ。
border無しで背景色だけ指定したブロックにマージンを指定しても無効でして。
cf.
http://www.hajimeteno.ne.jp/stylesheet/actually/bgcolor.html#5 >具体的には、「margin」プロパティを指定(必要なければ幅0に)、「border」
>プロパティを指定(必要なければ線種noneに)することで、諸処の不具合を多少
>押さえながら、行間を指定し、更に綺麗に背景色を指定することが可能になりま
>す。上記の「margin」「border」の何れが欠けても、前後の要素までに影響を及
>ぼすこととなりますので注意が必要です。
980 :
366:03/04/27 00:20 ID:???
>>976 MacIEの方は「CSS仕様通り」に変更しました。
>>979 もう一度修正してみました。
WinIEが一番バグ多いのか……