重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

HTMLソースの中で、画像を表示する場合、サイズ、高さにPXをつけないのはなぜでしょうか。

たとえば、<img src="画像名" width="300" height="200" alt="xxx">と記述します。
なぜ、"300px" "200px" としないのでしょうか。pxがつくと画像が表示されないからということではなく、そもそもpxを省略している理由ってあるのでしょうか。

A 回答 (2件)

#1です。


単位指定(単位識別子)はHTMLとCSSとでは厳密には違ってきます。
質問者さんは理解されてるようなので、その解釈で良いと思いますよ。

(↓既に学習済みなら読み飛ばしてください)
CSS2の仕様書を見てみましょう。
「CSSによる長さの値には必ず単位識別子を付けなければならない」
と明記されています。
しかし実際にはIEやFirefoxなど単位識別子を付けなくても指定値通り表示しますね。
これはブラウザが持つ冗長性によるものだと考えられます。
    • good
    • 0
この回答へのお礼

コメントくださってありがとうございます。

>「CSSによる長さの値には必ず単位識別子を付けなければならない」
そういう決まりがあったんですね。たしかに、CSSではpxなどとつけないで数値のみにすると、反映されないです。

HTMLではどちらでも(書いても書かなくても)、おっしゃる冗長性?とかで表示上は問題ないのですね。
DOCTYPEの種類によって、ゆるいもの、きびしいもの、あるいは互換モードや標準モードとありますが、このあたりで変化があるかと思いましたが、DOCTYPEは関係ありませんでした。

XHTMLではどうかわかりませんが、とりあえずHTML上のこの件についてはやっとスッキリしました。ブラウザ側がまだまだあいまいな状態ですので、厳密に結論を出せない部分も多いかと思います。

細かい疑問にも関わらず、教えていただきましてありがとうございました。

お礼日時:2010/07/11 18:46

省略するというか、そもそも仕様書には「属性値:整数(pixels)及びパーセンテージ(%)」とあります。


つまり「整数(数値)のみでpx指定とする」ってことです。
    • good
    • 0
この回答へのお礼

ありがとうございます。いつも、「そういうもの」と思って書いていたのですが、CSSでは、widthはpx指定の場合「width:200px;」とpxを書くので「あれ?」と思いました。

単純に、cssのときは指定があれば200pxや200%と書いて、
htmlソース上では、width:200 と書けば、pxのことと受け止めてもらえるということですね。

違っていたらまた教えてください。

お礼日時:2010/07/11 07:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!