アカウント名:
パスワード:
ざっとGoogleで検索した限りは、Netscape Navigator 4.xは対応しておらず、Internet Explorer 3 が最初のようですから、Microsoftなんじゃないですかね。
参考:みんな、Firefoxを褒め過ぎだ [itmedia.co.jp]
itmedia の記事の中で、
テーブルのcontent 領域内にはdivタグを入れて幅と高さを100%に設定し、CSSのoverflowの値をautoにすることで自動スクロールバーを付けた。 :(中略) IEではちゃんとページを表示できた。だがFirefoxでは、divタグが親テーブルに合わせてリサイズしてくれない(スクロールバーも表示しない)。だから、下のツールバーは画面の外に消えてしまう。
テーブルのcontent 領域内にはdivタグを入れて幅と高さを100%に設定し、CSSのoverflowの値をautoにすることで自動スクロールバーを付けた。
:(中略)
IEではちゃんとページを表示できた。だがFirefoxでは、divタグが親テーブルに合わせてリサイズしてくれない(スクロールバーも表示しない)。だから、下のツールバーは画面の外に消えてしまう。
と書かれている。
そこで示されてる先のページが今なぜか見られないのでソースが確認できないんだが、もじら組 [mozilla.gr.jp]の Web 標準化 Tips [mozilla.gr.jp] - height: n%;の正しい仕様 [mozilla.gr.jp] で紹介されている間違いを犯している可能性もある。
もしそうだとすると、「おらが仕様にあわせろ」ってのは IE の方ってことになるなぁ。
まあ、ソースが見られないので IE と Firefox のどちらのせいか分からないし、文句を言う先も記事を書いた人(ZDNet/USA の John Carroll って人)になるんだろうけど、ちょっと気になったので……。
ソース見られた人います?
ちょっと仰ることが良く判らないのですが。
下を IE で表示させると最初の div 要素の 内容だけスクロールで見えます。 でも firefox だと scroll が無効になって、 最初の 20pt 文の内容だけしか 見ることができません。
ということは、overflowプロパティが兄弟要素にも継承しないといけない、ということでしょうか。
いずれにしろ、物理的な表示領域を越える内容が存在する場合、 overflow: scroll は有効にならないとおかしいですね。
手許では有効になっていて、内側の前のdiv要素はスクロール表示されます。後ろのがoverflow: hiddenの影響で表示されないのは正しいのではないのですか。外側のoverflowプロパティを外すとこんな感じになります [ttcn.ne.jp]。 それを高さ20ptのボックスで切り取るとFirefoxでの描画結果になる [ttcn.ne.jp]かと思います。
cite: 11.1.1 オーバフロー( 'overflow' 特性) [y-adagio.com]
hidden この値は,内容が切り取られること及び切取り領域外で内容を表示するためのスクロール機構を提供しないほうがよいことを示す。結果として,利用者は切り取られた内容にアクセスできない。
内側の後ろのdiv要素は、外側のoverflow: hidden;の影響によりアクセスできなくなってると思います。
で、もって、なんとなく分かってきたのですが、以下でやっぱり firefox でスクロールバーが出ず、 IE で出ます
はい。再現しました。
で、何が問題なのですか。overflow: auto;でスクロールバーが表示されるのは必須ではないそうです。原文では "should" ですが。Mozillaではスクロールバーが表示されない挙動をするのは仕様です。
Bug 68390 [mozilla.org] - "overflow: auto" should always display a vertical scrollbar
もう一度書きますが、どのように描画されるべきで、Firefox (Gecko/1.7) が間違っているのかをお教え願いたいです。WinIEが、を抜きにして。
少しくどく。 heightプロパティ [y-adagio.com]は継承せず、デフォルト値はautoです。id="3"なdiv要素 (以下要素名省略) にはheight: 100%が指定されていますが、包含ブロック (id="2") はデフォルトのheight: autoなので明示的に指定されていない、つまり (id="3"の) 内容の高さに依存します。というわけでid="3"は内容すべてを含む大きさになります。すべてが含まれる大きさのブロックになったので、overflow: autoであってもスクロールバーが表示されなくても間違いは無いと思います。id="2"はautoなので3と4の両方を含める高さになり、id="1"については高さが明示的に指定されているのでその大きさでクリッピングされます。
手元のWinIE6は、id="1"の高さが (2を経由して) id="3"に継承されているように見えます。外側のブロックから順に計算していけばWinIE6のようになりますが、これじゃ継承しないという定義に反するように見えます…。順序ってどこに書いてあるのかな。
私のような素人が書く文章より、heightプロパティの注意点~内容が大きい場合 [mozilla.gr.jp] / height: n%;の正しい仕様 - Web標準普及プロジェクト [mozilla.gr.jp]あたりも参考になるかと思います。
結局あの「firefoxを褒めすぎだ」で使われているスタイルシート では、はみ出た部分は隠しなさいと主張しているってことですね。 で、著者がやりたい内容のスタイルはどう書けばよいやら……
ただ、overflow 属性の hidden を読むと、firefox で ドラッグすると 隠れた部分が見えてしまうのは仕様に反するようです。 (まあ should ですが……) IE では height:auto とすれば隠れた部分を見ることができず、 仕様通りです。
このへん [srad.jp]でいろいろ書かれてた。
上のストーリーから順に読んでたから、気づかなかったよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy
そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1, 興味深い)
Microsoftか?
W3Cか?
表現なんだからCSSでどうにかしろよ。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
ざっとGoogleで検索した限りは、Netscape Navigator 4.xは対応しておらず、Internet Explorer 3 が最初のようですから、Microsoftなんじゃないですかね。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
ブラウザもサーバを扱ってた都合、サーバーの負担を減らす為
バナーの部分を他に振り分けるために作ったのが理由だと思います。
ま、直後に掲示板荒らしに使われましたけど
ブラウザの環境変数にタグ入れて、
そのページをIFRAMEで再帰させるように書くと落ちます。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
MSのページの広告がIFRAMEをふんだんに使ったページなの
IEを使わないと不味いわけです。
思うのですがFirefoxが普及するとIFRAMEが消えると思いますね。
画像のブロック機能があるんですが、広告のアドレスが外部に
なっているものをブロックしてしまえば広告だけ消えます。
広告を出したければ自前で出すようにしないと出ませんから
おのずとIFRAME自身減少傾向になると思います。
<Firefoxが有効な所>
毎日
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
サイボウズに代表されるintranetポータルって、iframeを使う作りの物が多いと思います。
情報量、デザインの統一性、他ドメイン情報のリンク、iframeを使わないとひどくやっかいな代物になりますよ。
(templateはまだマシで他サイトからのresponseをはめ込むのが…)
逆に企業ユースでは「iframeをサポートしないブラウザが採用されない」ことになりそうですが。
むしろゾーニングの問題でしょ。
---- 何ぃ!ザシャー
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
IEがいいとか悪いとかFireFoxがいいとか悪いとか以前に、
この意見にあるようにおらが仕様にあわせろって言う意見は
どうも身勝手な気がしてなりません。
この場合、FireFoxのとるべき行動は、「IFRAME無くせ」ではなく
「IEより優れたIFRAMEタグへの対応」だと思います。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:2, 興味深い)
itmedia の記事の中で、
と書かれている。
そこで示されてる先のページが今なぜか見られないのでソースが確認できないんだが、もじら組 [mozilla.gr.jp]の Web 標準化 Tips [mozilla.gr.jp] - height: n%;の正しい仕様 [mozilla.gr.jp] で紹介されている間違いを犯している可能性もある。
もしそうだとすると、「おらが仕様にあわせろ」ってのは IE の方ってことになるなぁ。
まあ、ソースが見られないので IE と Firefox のどちらのせいか分からないし、文句を言う先も記事を書いた人(ZDNet/USA の John Carroll って人)になるんだろうけど、ちょっと気になったので……。
ソース見られた人います?
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
overflow: scroll が効かなくなって、
親要素の overflow: hidden がなぜか有効に
なってしまうようです。
下を IE で表示させると最初の div 要素の
内容だけスクロールで見えます。
でも firefox だと scroll が無効になって、
最初の 20pt 文の内容だけしか
見ることができません。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head>
<title></title>
<body>
<div style="height:20pt; overflow: hidden">
<div style="height:100%; overflow: scroll">
A<br>B<br>C<br>D
</div>
<div>
A<br>B<br>C<br>D
</div>
</div>
</body>
</html>
-- 哀れな日本人専用(sorry Japanese only) --
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
# head の閉じタグを忘れたり、日本語のコンテンツでもないのに lang="ja" を指定しているのは多めに見て下さい。(_O_) チェックが甘かったです。
-- 哀れな日本人専用(sorry Japanese only) --
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
ちょっと仰ることが良く判らないのですが。
ということは、overflowプロパティが兄弟要素にも継承しないといけない、ということでしょうか。
手許では有効になっていて、内側の前のdiv要素はスクロール表示されます。後ろのがoverflow: hiddenの影響で表示されないのは正しいのではないのですか。外側のoverflowプロパティを外すとこんな感じになります [ttcn.ne.jp]。 それを高さ20ptのボックスで切り取るとFirefoxでの描画結果になる [ttcn.ne.jp]かと思います。
cite: 11.1.1 オーバフロー( 'overflow' 特性) [y-adagio.com]
内側の後ろのdiv要素は、外側のoverflow: hidden;の影響によりアクセスできなくなってると思います。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
HTML 4.01のようなので、head要素の終了タグは省略できます。問題ありません。
>日本語のコンテンツでもないのに lang="ja" を指定している
この場合であってもlang="ja"で問題ありません。いわ
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
で、親div で hidden を指定し、子の最初の div で親の height を
越えてしまえば、二番目の div は表示されないで正しいです。
さて、スクロールバーがでないと騒いでしまいましたが、
親のdiv で height を 40 pt にしたら出てしまいました。
これは firefox が悪いのか、Windows98SE が悪いのかよく
分からなくなりました。:-)
で、もって、なんとなく分かってきたのですが、以下でやっぱり
firefox でスクロールバーが出ず、 IE で出ます
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title></title>
</head>
<body>
<div style="height:40pt; overflow: hidden" id="1">
<div id="2">
<div style="height:100%; overflow: auto" id="3">
A<br>B<br>C<br>D
</div>
<div id="4">
E<br>F<br>G<br>H
</div>
</div>
</div>
</body>
</html>
これで、id=3 の div の overflow を scroll にするとわかるの
ですが、id=2 の div の height の計算がどうなっているかが
問題なんじゃないかなぁと思います。
firefox では見えないところもマウスでドラッグして選択しようと
するとスクロールバー無しでスクロールしますし。
-- 哀れな日本人専用(sorry Japanese only) --
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
はい。再現しました。
で、何が問題なのですか。overflow: auto;でスクロールバーが表示されるのは必須ではないそうです。原文では "should" ですが。Mozillaではスクロールバーが表示されない挙動をするのは仕様です。
Bug 68390 [mozilla.org] - "overflow: auto" should always display a vertical scrollbar
もう一度書きますが、どのように描画されるべきで、Firefox (Gecko/1.7) が間違っているのかをお教え願いたいです。WinIEが、を抜きにして。
少しくどく。 heightプロパティ [y-adagio.com]は継承せず、デフォルト値はautoです。id="3"なdiv要素 (以下要素名省略) にはheight: 100%が指定されていますが、包含ブロック (id="2") はデフォルトのheight: autoなので明示的に指定されていない、つまり (id="3"の) 内容の高さに依存します。というわけでid="3"は内容すべてを含む大きさになります。すべてが含まれる大きさのブロックになったので、overflow: autoであってもスクロールバーが表示されなくても間違いは無いと思います。id="2"はautoなので3と4の両方を含める高さになり、id="1"については高さが明示的に指定されているのでその大きさでクリッピングされます。
手元のWinIE6は、id="1"の高さが (2を経由して) id="3"に継承されているように見えます。外側のブロックから順に計算していけばWinIE6のようになりますが、これじゃ継承しないという定義に反するように見えます…。順序ってどこに書いてあるのかな。
私のような素人が書く文章より、heightプロパティの注意点~内容が大きい場合 [mozilla.gr.jp] / height: n%;の正しい仕様 - Web標準普及プロジェクト [mozilla.gr.jp]あたりも参考になるかと思います。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
結局あの「firefoxを褒めすぎだ」で使われているスタイルシート では、はみ出た部分は隠しなさいと主張しているってことですね。 で、著者がやりたい内容のスタイルはどう書けばよいやら……
ただ、overflow 属性の hidden を読むと、firefox で ドラッグすると 隠れた部分が見えてしまうのは仕様に反するようです。 (まあ should ですが……) IE では height:auto とすれば隠れた部分を見ることができず、 仕様通りです。
-- 哀れな日本人専用(sorry Japanese only) --
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
このへん [srad.jp]でいろいろ書かれてた。
上のストーリーから順に読んでたから、気づかなかったよ。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:1)
>「IEより優れたIFRAMEタグへの対応」だと思います。
そうですね。
iframeはHTML 4.01やXHTML 1.0のTransitional/Framesetという標準仕様に含まれる要素ですし。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
うちのFirefoxでは、ちゃんと表示されますよ。
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
組織風土の違いによるブラウザの好き嫌いって話、
IFRAMEって結局そんなに必要な機能なのって話ではなく、
今回のIFRAMEを始めとして、進化を止めたブラウザ・それでいて
OS根幹と結びついているモノを使いつづけるのはセキュリティ的に
リスクが大きいって話なんですよね。
IFRAMEがどのようなものであれ、セキュリティが潜んでいようとも
少なくとも直ぐに対策がとられるという事実。
IFRAMEをまともに実装する以上に、頻繁にメンテナンスされている
という事実が何者にも変えがたい。しかも、そ
Re:そもそもIFRAMEなんて考えたヤツ誰だ? (スコア:0)
おめーら餅つけ (スコア:0)
Firefoxが画像のあるサーバーを非表示にできる。
つー話し
大雑把なつくりのページで広告を出す場合毎回書きかえるより
IFRAME作って外部のサイトを強制的にいれているわけですね。
所が、表示しているページと広告のページのサーバが異なるので
この部分を利用してブロック可能