• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSSを使うと<IMG>タグのHSPACEとVSPACEは無視されるのでしょうか?)

CSSを使うと<IMG>タグのHSPACEとVSPACEは無視される?

このQ&Aのポイント
  • CSSを使うと<IMG>タグ内のHSPACEとVSPACEは無視されるのか?
  • ウェブブラウザでCSSを使って<IMG>タグのHSPACEとVSPACEの間隔が空かない
  • CSSを使った代替え手段はあるのか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>CSSを使うと >HSPACEとVSPACEは無視されるのでしょうか? まずは、HSPACEとVSPACEはどの様な機能でしょうか? 縦,横の違いはありますが余白(マージン)の指定ですよね。 そしてスタイルの指定ですが全称セレクタでマージンの指定があります。 という事はIMG要素に於いてHSPACE属性,VSPACE属性によるマージンの指定と全称セレクタによるマージンの指定があります。さてどちらが採用されるのでしょう。 まずHSPACE属性,VSPACE属性の重みはいくつかというと「0(ゼロ)」です。そして,変換された規則は文書制作者のスタイルシートの先頭にあるものとみなし,競合する後続の規則はそれよりも優先することになるそうです。 そしてSTYLE要素で記述されている全称セレクタの重みも「0(ゼロ)」です。 しかし全称セレクタでの記述の方が後の記述とみなされますので、こちらが優先されます。 尚、注意する点は これは提示されている規則であり ブラウザがその様に振る舞ってくれるかは別で・・・。 (WinのIE6.0はHSPACEとVSPACEの値が採用されていたりしますし・・・。) >代替え手段を教えて戴けないでしょうか? もっと重みのある指定方法を採用するか、全称セレクタによる指定をやめて個々に指定するかです。 >* { MARGIN: 0%; PADDING: 0%; FONT-STYLE: NORMAL; FONT-WEIGHT: NORMAL; } これを BODY, P, HR, DIV, A { MARGIN: 0%; PADDING: 0%; FONT-STYLE: NORMAL; FONT-WEIGHT: NORMAL; } と、IMGを除いて全て列挙するという方法で書き換えるとか・・・。 もしくは、 IMG { MARGIN: 5px 10px; } (特定したい場合は、ID なり class なりを付加) でHSPACE属性,VSPACE属性の指定をスタイルシートで行う様に変更する。 そもそも、CSSを用いながらもHTMLでデザインに関わる記述をしているのが中途半端で 今回の様な状況になっていると思います。 尚、私の方での動作確認(質問で提示の内容)は WindowsXP SP2 による IE6.0 Slepnir2.0 でHSPACE属性,VSPACE属性の値が常に有効であり、 Firefox1.0.6 Mozilla1.7.5 Opera8.01 ではHSPACE属性,VSPACE属性の値は採用されず全称セレクタのマージンの値が採用されました。

参考URL:
http://hp.vector.co.jp/authors/VA022006/css/cascade.html#precedence_of_non-CSS
noname#164148
質問者

お礼

koutarou504さま、初めまして。 > しかし全称セレクタでの記述の方が後の記述とみなされますので、こちらが優先されます。 その通りでした。全称セレクタでの記述を外したら、HSPACE、VSPACEともに有効になりました。 全称セレクタは、自分のHPの他の部分でのウェブブラウザ間の差を消すために記述しました。それがHSPACE、VSPACEにも影響するとは知らずに使っていました…。(^^ゞ > HSPACE属性,VSPACE属性の指定をスタイルシートで行う様に変更する。 全称セレクタの記述を残したまま、この方法でうまく行きました。ありがとうございました。 > そもそも、CSSを用いながらもHTMLでデザインに関わる記述をしているのが中途半端で > 今回の様な状況になっていると思います。 おっしゃる通りです。 このような中途半端な記述をしている理由は、WDG(ウェブデザイングループ)が主張する「アクセシビリティ」を自分なりに解釈した結果です。 WDGは「ウェブページを見る側が独自のCSSを使う場合とか、CSSを使用しない場合、あるいはCSSをサポートしないウェブブラウザで見た場合に配慮すべきだ」と言っています。 そのためCSSを無効にされても、ある程度自分の意図どおりの表示ができるように、HTML内にデザイン要素を組み込んでいます。 しかしながら、本当はどうすべきなのか迷っているというのが私の本音です。 ご回答ありがとうございました。

その他の回答 (1)

  • kwgm
  • ベストアンサー率24% (170/703)
回答No.1

>CSSを使うとHSPACEとVSPACEは無視されるのでしょうか? スタイルの指定は、後から読み込まれたものが優先されます。 ですので「属性」で指定された「HSPACE="10" VSPACE="5"」が優先されます。 http://www.kanzaki.com/docs/html/htminfo17.html

noname#164148
質問者

お礼

kwgmさま、初めまして。 > ですので「属性」で指定された「HSPACE="10" VSPACE="5"」が優先されます。 参照URLの「カスケーディングと継承」の項も読みました。ですが、残念ながら、ご指摘の通りにはならず、Mac OS Xの代表的なブラウザでHSPACEとVSPACEが無視されているのです。 よく分かりもしないでCSSを使っている罰があたったのかも…です。(^^ゞ ご回答ありがとうございました。

関連するQ&A