― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - <table>~</table>内で、<pre>を使うと空行が
作成者 メッセージ
  記事の件名:  このページの右側のようなものですか?  引用付きで返信する
http://headlines.yahoo.co.jp/hl

上記をトップページにしているのですが、1.5から右側が間延びするようになりました。
投稿記事 Posted: 2005年12月02日(金) 12:30
  記事の件名:  ありがとうございました  引用付きで返信する
的確な解決策をお示しいただき、ありがとうございました。

 HTTP_USER_AGENTで表示部分を変更するように
 cgiを書き換えているところなので、助かりました。

 CSSですか・・・オヤジの頭には厳しいですが、頑張ってみます。

 ありがとうございました。m(..)m
投稿記事 Posted: 2005年12月02日(金) 08:42
  記事の件名:  義理より実利優先の解決策  引用付きで返信する
再現しました。

空行があくというより、pre 要素に対して CSS での margin が body 要素の直下にあるときと同じような値で設定されているようです。

例示された HTML には DOCTYPE 宣言がないから下方向だけなんですが、HTML 4.01 Strict など Strict モードが有効になる DOCTYPE 宣言があったりすると、上方向にも同じ margin が設定されて、td の中だろうがお構いなしにいつもの pre が中におしこまれた形になります。

義理を考えず実利優先の解決策をとるとすると、HTML の head 要素内か外部スタイルシートで次のように指定することになります。

引用:
/*
* td の中にある pre は margin を CSS で設定する
* 値はお好みで
*/
td pre { margin: 0 }


Firefox 1.5 (のレンダリングエンジン Gecko 1.8)がおかしい、となると、「Quirks モードでの後方互換がなっとらん」という理由でバグ登録できるか探ることになります。ただ、過去に気付いた人と開発スタッフが議論をやった可能性は十分にあって、過去に報告がないか Bugzilla 本家Bugzilla-jp を丹念に探したほうが行儀がいいです。私は今はその気力がないので騒ぐのはこれで止めにします。

# トリビアとしては </pre> は必須で </td> は省略可なので <tr><pre></pre> なら valid になるという話はあり、私も気になるから書いたのですが、画面デザインには関係ありませんでした
投稿記事 Posted: 2005年12月01日(木) 16:55
  記事の件名:  これでわかりますでしょうか?  引用付きで返信する
↓こんな感じのhtmlです。IEやFirefox1.0.7では、空行は表示されないと思います。

<table border=1>
<tr>
<td><pre> 1</td>
<td><pre> 2</td>
<td><pre> 3</td>
<td><pre> 4</td>
<td><pre> 5</td>
</tr>
<tr>
<td><pre> 1111</td>
<td><pre> 2222</td>
<td><pre> 3333</td>
<td><pre> 4444</td>
<td><pre> 5555</td>
</tr>
</table>
投稿記事 Posted: 2005年12月01日(木) 10:06
  記事の件名:  Re: <table>~</table>内で、<pre>を使うと空  引用付きで返信する
どういう HTML ソースを書きましたか? ここにサンプルを書くことはできますか?

タグの組み合わせには個性が出るので、他の人の書いたソースを見たとき思いもよらぬ組み合わせにびっくりすることがしばしばあります。
投稿記事 Posted: 2005年12月01日(木) 09:56
  記事の件名:  <table>~</table>内で、<pre>を使うと空行が  引用付きで返信する
Firefox1.5(rc1,正式版共)以降での不具合です。
<table>~</table>内で、数値を桁揃えして表示するため
に<pre>タグを使用していたのですが、Firefox1.5になって
以降、表示した部分の下側に空行が1行挿入されてしまい、
セルの高さが2倍で表示されるようになってしまいました。
<tt>タグだと複数の半角スペースが1つになってしまい、
代用できそうにありません。

Firefox1.0.7迄やI.E.だと不具合は発生しないのですが、
そもそも、<table>~</table>内で、<pre>タグを使用して
いる事がマズイのでしょうか?(^^;
投稿記事 Posted: 2005年12月01日(木) 09:40

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean