過去ログ表示


過去ログ 39 を表示

トピック内全 8 記事中の 1 〜 8 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0]

愛知県のページで表示不具合
(#5547) このトピック中1番目の投稿

2点、Mozillaでは意図通り表示されない問題があるようですね。
1点目、上フレームがS-JISで書いてあるのに
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-2022-JP">
となっている点、
2点目、imgタグのwidth属性が設定されている点。
前者は単なる不具合として、後者はIEなどとMozillaで解釈が違うようですね。
後者は何をもって正しい表示とすべきか、どうなんでしょう???
width属性はずしても困らないようには見えますが。
Mozilla 1.4b/WinXP


Re[1]: 愛知県のページで表示不具合
(#5548) このトピック中2番目の投稿

そう、ついでに上フレームのimgのwidth属性、12.5%ですけど、
「ページを名前を付けて保存」したファイルを見ると、12%に
なってしまいました。Mozilla的にはwidth属性は整数Only切り捨て
なんすかねぇ、それとこれは仕様???


Re[2]: 愛知県のページで表示不具合
(#5567) このトピック中3番目の投稿

> そう、ついでに上フレームのimgのwidth属性、12.5%ですけど、
> 「ページを名前を付けて保存」したファイルを見ると、12%に
> なってしまいました。Mozilla的にはwidth属性は整数Only切り捨て
> なんすかねぇ、それとこれは仕様???

<IMG WIDTH="12.5%">の場合ですが、DOM inspectorで見ると、WIDTHの属性値には"12%"が入っていました。
DOMには、HTMLの指定そのままではなく、JavaScriptで言うparseIntの結果(すなわち小数点以下切捨て)で保存しているようです。
View Page(Frame) Source だと"12.5%"のままなのにHTMLをローカルに保存すると"12%"になるのは、この部分は元のHTMLから持って来ているのではなく、DOMに保存した値から再現しているからでしょうね。

HTML 4.01 Specificationでは、「長さ」は、
1.Pixels = 整数
2.Length = Pixelsの値、あるいは、パーセントの値(数字+%)
3.MultiLength = Lengthの値、あるいは、relative length(整数)
であり (http://www.w3.org/TR/html401/types.html#h-6.6 )、
http://www.w3.org/TR/html401/struct/objects.html#adef-width-IMG には、<IMG>のWIDTHは(HEIGHTも)、"Length"であると書いてあります。
Pixelsとrelative lengthについては「整数」と明記してあるんですが、パーセント値については書いてないですね(意味的に整数値しかとれないものではないので当然ですが)。
ただ、 http://www.w3.org/TR/html401/sgml/dtd.html#Length には、
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
とあるし、DTPソフトではなくブラウザーですから、パーセントの値も整数というのはごく自然な実装だと思います。

保存すると元のHTMLと異なるのも、元々HTMLをローカルに保存する場合は、SRCやリンクのURIなどはローカルのものに変換する必要があって必ずしも元のHTMLと同じではないですから(MozillaでもIEでも)、おそらく「仕様」だと思います。
こちらは、現在のコーディングだとこうなるから、という、MS的な「仕様」ですけどね(^^;

IEの場合は、WIDTHの値をDOMにはHTMLの指定のまま保存していてレンダリングの時点で整数にするとか、小数での指定も受け入れているとか、outerHTMLなどで持っている元のHTMLから作っているとかがあって、元のHTMLの指定通りになっているのかもしれませんね。

Re[1]: 愛知県のページで表示不具合
(#5568) このトピック中4番目の投稿

> 1点目、上フレームがS-JISで書いてあるのに
> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-2022-JP">
> となっている点、

ばぐじらに、プロダクト=Web標準化、で報告するといいでしょう。

画像が右に行くほど小さくなるという点は
(#5570) このトピック中5番目の投稿

> 2点目、imgタグのwidth属性が設定されている点。

画像が右に行くほど小さくなるという点も問題にしているのであれば、
http://bugzilla.mozilla.org/show_bug.cgi?id=97695 ですね。

HTMLの規定が曖昧なので、個人的にはMozillaも間違ってはいないと思いますけど、互換性という意味では要望はありそうです。

Re[2]: 愛知県のページで表示不具合
(#5573) このトピック中6番目の投稿

>>1点目、上フレームがS-JISで書いてあるのに
>> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-2022-JP">
>>となっている点、
>
> ばぐじらに、プロダクト=Web標準化、で報告するといいでしょう。
最近、Web標準化担当が活動停滞気味で、この問題は明白で
バグトラックするまでもなく私が自分でメールすればいいレベルの
ことなのであえて報告しませんでした。
報告しようとしたところ、imgの問題が出てきたので、bugか判別する
前にBBSで識者(?)の皆様方のご意見を聞いたわけです。
(といいつつ、前者はとっととメールしてしまいました。直してくれるかな?)


Re[2]: 画像が右に行くほど小さくなるという点は
(#5574) このトピック中7番目の投稿

>>2点目、imgタグのwidth属性が設定されている点。
>
> 画像が右に行くほど小さくなるという点も問題にしているのであれば、
> http://bugzilla.mozilla.org/show_bug.cgi?id=97695 ですね。
>
> HTMLの規定が曖昧なので、個人的にはMozillaも間違ってはいないと思いますけど、互換性という意味では要望はありそうです。

ページの問題としては、
・この場合imgのwidthを使うことは正しいのか?
というのがあり、HTMLの規定上はグレーなのですね。その場合は標準化問題では
なく、「Mozilaでの表示に問題があるから直してくれ」な訳ですね。

そしてブラウザの問題として
・mozilaのimgのwidthの解釈は規定として正しいのか
・互換モードのimgのwidthの解釈はIE互換にすべきかどうか
と2点あるのですね。

さて、こういう場合はどういうバグをBugzillaにたてればよいのでしょう?


Re[3]: 画像が右に行くほど小さくなるという点は
(#5580) このトピック中8番目の投稿

> ページの問題としては、
> ・この場合imgのwidthを使うことは正しいのか?
> というのがあり、HTMLの規定上はグレーなのですね。その場合は標準化問題では
> なく、「Mozilaでの表示に問題があるから直してくれ」な訳ですね。

> そしてブラウザの問題として
> ・mozilaのimgのwidthの解釈は規定として正しいのか
> ・互換モードのimgのwidthの解釈はIE互換にすべきかどうか
> と2点あるのですね。

> さて、こういう場合はどういうバグをBugzillaにたてればよいのでしょう?

IMGのWIDTHに%を指定すると、ウィンドウ幅に応じてイメージが拡大・縮小されるので、画像を並べた時にウィンドウの大きさによらずほぼ同じレイアウトにできます。
画像をサムネール的に並べたい時や、棒グラフの値を画像の%幅にし、ウィンドウの大きさに応じてグラフを自動的に拡大縮小というような時に便利です。
愛知県のサイトの場合は、想定している画面サイズよりも小さい場合でも、リンクのイメージデータを一行に収め、しかも画面からはみださないように、ということなんでしょうね。

同じ画像を、<IMG WIDTH=10%>で並べた場合(Case-1)と、<A><IMG WIDTH=10%></A>で並べた場合(Case-2)の比較を、
http://www.ops.dti.ne.jp/~muttley/test/image-width.html におきました。
(表示のされ方はQuirksとStandardで変わらなかったので、strict.dtdにしてあります)
HEIGHTの指定は無いので画像全体が縮小され、現象がわかりやすくなりました。
<SPAN><IMG WIDTH=〜%></SPAN>の場合(Case-3)も、<DIV><IMG WIDTH=〜%></DIV>でDIVにdisplay:inline;を指定した場合(Case-4)も、<A>〜</A>と同じ結果でした。

Mozillaで<A><IMG WIDTH=〜%></A>を並べた時に右に行くほど小さくなるのは、CSS的には、<A>〜</A>などのインライン要素の中の<IMG WIDTH>のパーセント指定は、IMGの上位の<A>〜</A>で定まるボックスの幅に対するパーセントになり、インライン要素の<A>〜</A>で許される幅はその行の残りの幅になるので、段々狭くなっていく、という現象なのだと思います。

CSSの規定では、WIDTHのパーセント指定は、その上位のボックスの幅に対するものなのか、その上位のブロックレベル要素の幅に対するものなのか、どっちなんでしょうかね。
多数決だと、<A><IMG WIDTH=〜%></A>で並べても同じ大きさ。
Bug-org 97695 ではMozillaのバグだと言っていて、CSSの標準に準拠しているからMozillaが正しい、というような書き方のコメントは見られません。
Mozillaのバグだとすると、widthの解釈というより、<A>〜</A>などで囲むと、パーセント指定のWIDTHの基準の幅のとり方を間違ってしまう、ということなのかもしれません。

ばぐじらへのバグの報告としては、IEやOperaと異なる表示がされるという時点での問題提起でもいいのではないでしょうか。
その中で、標準はどうなっているか、Mozillaの解釈や実装が正しいかどうか、などを明らかにし、標準に準拠している場合でも、実用上IE互換を取り入れるべきかどうか、標準を正すべきか、などを議論していけばいいと思います。

なお、<DIV>に10%より少し多めのWIDTHを指定し、その中に<A><IMG WIDTH=80%></A>を入れ、各DIVをfloat:leftで流し込むと(テスト用HTMLのCase-7)、実際のDIVやIMGの大きさはブラウザーによって多少異なりますが、Mozilla/IE/Operaでほぼ同等の表示が得られました。
WIDTHの%指定については、ブラウザーによる解釈・実装の違いにぶつからないように、安全・確実な範囲でHTMLやCSSを書くのが現時点では無難なんでしょうね。





このトピックの全ページ / [0]

返信不可


- Child Tree -