• ベストアンサー

ie9でimgの高さがheight属性と異なる

お世話になっております。 ie9でimgのheight属性の指定が効かず、指定値より大きく表示されてしまいます。 widthは効いています。 (確認はVBで同じ大きさの画面を表示して確認しています) 同じhtmlをie8で表示させると正しく表示されます。 heightの指定を変更すると大きくなったりしますが、適正な大きさで表示されません。 100%表示ですのでheight属性を削除してみましたが同じ状態です。 よおしくお願いいたします。

  • HTML
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

HTML <table class="t100tbl">   <tr>     <td class="td1">      <div id="menu">        <table class=t100tbl><!-- ;は余分 -->          <tr>            <td class=tpdg>              <a href=""><!-- ここ抜けてませんか? -->                <img src="../Images/aaa.png" alt="aaa"                 name="aaa" class="bdr" />              </a>            </td>          </tr><!-- \n";これも -->        </div><!-- 対応するdivがありません。 -->      </td><!-- 対応するtdがありません。 -->       ・       ・       ・とりあえず、 Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html )などで構文チェックをしてください。 【引用】____________ここから メモ: CSSスタイルシートを意図した通りに機能させるには、正しい文書解析木が必要です。つまり、正当なHTMLを用いるべきです。.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[W3C CSS 検証サービス( http://jigsaw.w3.org/css-validator/#validate_by_input )]より  さて、とりあえず td.tpdg img{ display:block;}を入れてみてください。これでセルの内寸に合わせてwidthが決まり、heightは、本来のサイズに合わせて伸縮されるはずです。    

papope
質問者

お礼

時間がかかりまして申し訳ございません。 いろいろと試したところ、単純に画像を表示してもサイズが崩れます。 他のサイトの画像を確認しても同様の状態です。 ノートPCを使用しているのですが、グラフィックドライバの関係で画像を正しく描画できていないのかもしれません。 (VBの画面などは正しい表示ですがWEB内の画像はサイズがズレます) 最新のドライバを探しましたが、存在しません。(Windows7対応のものが存在しません) 以上のことからやむを得なく、デスクトップを何とか購入して試してみようと思います。 ありがとうごじざいました。

papope
質問者

補足

ご回答ありがとうございます。 HTMLの件、申し訳ございません。 PHPで記入しているものからコピーしたため、抜け、対応タグ漏れがあるように 見えていますが、HTML自体には問題無いことを再度、目視にて確認しました。 また教えていただきました td.tpdg img{ display:block;} を入れましたが結果は変わらない状態です。 HTML5で削除された属性をCSSに移行することが最終目的です。 どうしてもimgの画像のheightが合いません。 何か判りましたら、よろしくお願いいたします。 当たり前のことですが、私も調査してみます。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

HTML/CSSには、サイズを参照するときの規則があります。  imgは、置換インライン要素ですから、そのままでは置換される画像のサイズを参照するはずですが、ブロック要素に変更するとその親コンテナブロックのサイズを参照します。  詳しくは 10.5 内容領域の高さ(Content height: the 'height' property) ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/visudet.html#the-height-property )  以降をご覧ください。  IE8でも、標準モードで起動するとIE9と同じになるはずです。  そのimg周辺のタグがわかりませんが、 div.section table td img{display:block;width:100%;;height:auto;}とブロックに変更すると、ブロック要素はそれが置かれている親コンテナブロックの内寸を参照して割り出しますから、本文(section)中のtableのセルについては、画像はセルの横幅(内寸)の幅一杯にその画像比率で表示されます。  

papope
質問者

お礼

お礼を前のご意見につけてしまいました。 申し訳ございません。 ありがとうございました。

papope
質問者

補足

早々のご回答ありがとうございます。 IMG周辺のタグは <table class="t100tbl">   <tr>     <td class="td1"><div id="menu">     <table class=t100tbl>;      <tr><td class=tpdg><img src="../Images/aaa.png" alt="aaa" name="aaa" class="bdr" /></a></td></tr>\n";     </div></td>       ・       ・       ・ t100tblはwidth100%のcellpadding=0 cellspacing=0 td1はwidth100px height未指定 td2はwidth100% height未指定 bdrはborder-style: none;padding: 0;vertical-align: bottom; となっており、div要素はすべてAJAXで部分置換のための名称としてのみ使用していました。 この状態でIE8では正しく、IE9ではheight属性よりも高く表示されます。 ブロック要素の中のtableなのでマズイのでしょうか? 教えていただいたサイトを参照させていただきましたが、はっきりしません。 ヒントで構いませんのでよろしくお願いいたします。

関連するQ&A

  • img要素のwidth属性 height属性

    img要素のwidth属性 height属性にはpxを付けるのは正しくないと聞きました。 pxを付けてもよさそうに思うのですが、なぜ正しくないのでしょうか?

  • Safariのalt属性

    img要素のalt属性で質問があります。 今windows環境のSafari3.1で確認済みなのですが、ある一定のwidthとheightを指定してやらなければsafariの場合は画像オフ(リンク切れ)の場合にalt属性が見えません。 ですが、さすがにフォントサイズと画像の大きさにによってはwidthやheightが対応できません。 これを常に見えるようにコントロールする方法はないでしょうか? できるだけコントロールするほうが好ましいですが、safariでのアクセシビリティを上げるためにできそうなことでもかまいません。

  • IMGタグごとにCSSを設定する方法

    自分でGoogleやYahoo検索をしても見つけられなかったので、どなたかお教えください。 現在、HTML内に以下のようにIMGタグで画像添付しています。 -------- <img src="***" width="160" height="140" /><br /> <img src="***" width="32" height="30" /> <img src="***" width="32" height="30" /> <img src="***" width="32" height="30" /> -------- 最初に大きな画像を表示し、その下に並列するかたちで小さいサムネイルを並べています。 普段はCSSでレイアウトをして、画像それぞれにstyle属性やclass、ID属性などを付けています。それが、今回は上述のHTMLを外部サイトのPHPから出力しているもので、一切触れない(編集できない)状態にあります。 このような状態の場合でも、画像それぞれにCSSを設定することは可能なのでしょうか?最低限の希望は、大きい画像(160px*140px)をひとかたまり、サムネイル画像(32px*30px)をひとかたまりとして、それぞれのかたまりにCSSを設定できれば良いと思っています。 可能であればHTML+JavaScript+CSSで実現できる方法を希望します。 どなたかお教えください。よろしくお願いいたします。

  • IE8でのバグ?

    IE8でのバグ? テーブル内に設置している <img src="../img/space.gif" width="100%" height="10" />が IE8だけ(mac/win safari,FireFox,IE7は確認)height="10"が20くらいになってしまうのですが どうすれば回避できますか?

    • ベストアンサー
    • HTML
  • imgタグについて

    imgタグについて http://okwave.jp/qa/q5970749.html この件で質問させていただいてましたが、気になる事がありましたのでアドバイスください。 最初のタグーーーーーーーー img{border: 0; vertical-align:bottom;} ーーーーーーーーーーーーー <img src="/img/space.gif" width="100%" height="10px"/> IE8でimgタグのvertical-align:top;が反応して1px×1pxの透明の画像が縦に10px以上伸びてしまっていました。 ↓そこで、このように分ければいいとアドバイスいただきましたが、 .img1{border: 0;} .img2{border: 0; vertical-align:bottom;} imgタグは他のページでも使用しているため img{border: 0; vertical-align:bottom;}は変更出来ませんでした。 そこで、img2{border : 0;} とcssに書き込み <img2 src="http://www.itumonavi.jp/img/space.gif" width="100%" height="10px" /> にするとバグは解消されました。 ですが、html的に<img2~ というタグは見た事無いのですが、これは使っておいても問題ないのでしょうか? もし他に方法がございましたら教えてください。 【css】-------------------------- img { border: 0; vertical-align:top; } .img1 { border: 0; } 【html】-------------------------- <table width="635" height="31" border="0" cellspacing="0" cellpadding="0" bgcolor="#999999"> <tr> <td width="635">タイトル</td> </tr> </table> <table width="635" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="3"><img src="/img/space.gif" width="100%" height="10px" class="img1"/><!-- スペース --></td> </tr> <tr> <td width="170" rowspan="2"><img src="img/sample.gif" width="170" height="170" alt="test" /></td> <td width="20" rowspan="2"><img src="img/space.gif" width="20" height="170" class="img1" /><!-- スペース --></td> <td width="445" style="vertical-align:text-top"><img src="img/space.gif" width="100%" height="5" class="img1" /><!-- スペース -->コピー<div class="guide-line"></div><!-- ライン --> </td> </tr> </table>

    • ベストアンサー
    • HTML
  • IE6で表示画像サイズが微妙に大きくなってしまいます

    WindowsXP、IE6.0を使用しています。 ブラウザ上の表示だけ、画像のサイズが微妙に大きくなります。 例えば、200×100のGIF画像を表示させると(もちろんwidth、height属性で指定)すると、250×125の画像として表示されます。見え方はブラウザ上で無理矢理サイズを変更したように、画像も荒くなります。JPEGでも同じような現象が起こります。 NN7.1では起こりません。あとFLASHは大丈夫なようです。 どなたか解消方法を教えてください。 よろしくお願いいたします。

  • <IMG> には ALT 属性が必要です。と判定されました。

    初めて質問します。 http://umasi.web.fc2.com/ 上記のサイトをAnother HTML-lint gateway「HTML文書の文法をチェック」したところ <IMG> には ALT 属性が必要です。と判定されました。 該当箇所 <td><img src="img/point_l" width="15" height="15" border="0"></td> ホームページ用テンプレートですので普通くらいの採点かと思いましたが がんばりましょうでした、これを機会にHTMLを勉強しようと思います。 上記の質問理解しがたいところが多々あると思いますがよろしくお願いします

  • heightの指定が無視される

    現在wordpressでサイトを作っているんですがimg画像の大きさを指定するのに width指定の方は大きさが変わるんですがheightの指定が無視されて困っています。 CSSの設定でheightだけ無効にするような方法があるのでしょうか。 よろしくお願いいたします。

  • ホームページビルダーV9のALT属性で長文を入力した場合について

    はじめまして。 HPビルダーV9、標準モードを使用してHP作成をしています。(以下の例のように)外部のURLの画像を指定して、そこに代替テキスト(ALT属性)に長文を入れると、ページ編集の画面に、チューリップに×がついたマークがALT属性の文字数分、横に長く表示されてしまいます。 それをしない方法、を知りたいのです。 【例】 <img src="http://URL/○○.jpg" alt="あああああああああああああああああああああああああああああああああ"> width、height属性で画像の幅と高さのサイズを指定すれば、編集画面で、チューリップのマークの大きさを変えることができることは知っていますが、外部リンク先の画像の大きさをいちいちプロパティで確認するのが、(同じ作業を繰り返すため)大変手間なため、その他の方法を以前IBMヘルプデスクに聞いたところ、 どこかをいじったらたまたま出来た。ということがありました。 (それを忘れてしまったのです・・) その出来た時、確かチューリップマークの上に表示されている代替テキストが折り返して表示されていた覚えがあります。 長くなりわかりにくくすみませんが、width、height属性を指定することなく、代替テキストによって長くなってしまうチューリップマークを長くしない方法を教えてください。 または、代替テキストのフォントを小さくするとか、代替テキストを折り返して表示する方法などでもかまいません。 困っています。どうぞよろしくお願いします。

  • IE7での画像表示について

    IE7上で以下のように画像を表示させているのですが 再現性がないのですが、たまに、画像が画面いっぱいの表示されてしまうのですが 何が原因でしょうか? 画面のサイズが任意のため、height を固定値でなく,以下のように80%にしたいのですが (画面の下の部分を空けたいため) <img name="dspimg" src="aaa.jpeg '" alt="aaa.jpeg '" width=100% height=80% " /> IE8では問題ないのですが? 何か解決方法がありましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう