- ベストアンサー
HTMLソースの中で、画像を表示する場合、サイズ、高さにPXをつけない
HTMLソースの中で、画像を表示する場合、サイズ、高さにPXをつけないのはなぜでしょうか。 たとえば、<img src="画像名" width="300" height="200" alt="xxx">と記述します。 なぜ、"300px" "200px" としないのでしょうか。pxがつくと画像が表示されないからということではなく、そもそもpxを省略している理由ってあるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 単位指定(単位識別子)はHTMLとCSSとでは厳密には違ってきます。 質問者さんは理解されてるようなので、その解釈で良いと思いますよ。 (↓既に学習済みなら読み飛ばしてください) CSS2の仕様書を見てみましょう。 「CSSによる長さの値には必ず単位識別子を付けなければならない」 と明記されています。 しかし実際にはIEやFirefoxなど単位識別子を付けなくても指定値通り表示しますね。 これはブラウザが持つ冗長性によるものだと考えられます。
その他の回答 (1)
- torayoshi
- ベストアンサー率62% (910/1449)
回答No.1
省略するというか、そもそも仕様書には「属性値:整数(pixels)及びパーセンテージ(%)」とあります。 つまり「整数(数値)のみでpx指定とする」ってことです。
質問者
お礼
ありがとうございます。いつも、「そういうもの」と思って書いていたのですが、CSSでは、widthはpx指定の場合「width:200px;」とpxを書くので「あれ?」と思いました。 単純に、cssのときは指定があれば200pxや200%と書いて、 htmlソース上では、width:200 と書けば、pxのことと受け止めてもらえるということですね。 違っていたらまた教えてください。
お礼
コメントくださってありがとうございます。 >「CSSによる長さの値には必ず単位識別子を付けなければならない」 そういう決まりがあったんですね。たしかに、CSSではpxなどとつけないで数値のみにすると、反映されないです。 HTMLではどちらでも(書いても書かなくても)、おっしゃる冗長性?とかで表示上は問題ないのですね。 DOCTYPEの種類によって、ゆるいもの、きびしいもの、あるいは互換モードや標準モードとありますが、このあたりで変化があるかと思いましたが、DOCTYPEは関係ありませんでした。 XHTMLではどうかわかりませんが、とりあえずHTML上のこの件についてはやっとスッキリしました。ブラウザ側がまだまだあいまいな状態ですので、厳密に結論を出せない部分も多いかと思います。 細かい疑問にも関わらず、教えていただきましてありがとうございました。