• ベストアンサー

画像の表示をリキッドにする方法

android端末向けのHPを作成しています。 viewport を以下のように書きリキッドレイアウトで作成しているのですが、img srcで貼っている画像のサイズが変わらず横のスクロールバーがでてしまいます。 画面サイズに変更するにはどうすれば良いでしょうか?(BG指定でしか画像のサイズは変わらない?) <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">

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

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

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

IMG要素は置換インライン要素ですから、サイズは画像サイズに依存します。 ブロック要素にしてから、コンテナブロックの大きさを参照すれば良いです。 先日回答した ★1カラムのリキッドレイアウトについて。 - Webデザイン・CSS - 教えて!goo ( http://okwave.jp/qa/q7292209.html#a3 ) を参考に・・ セレクタ IMG{display:block;width:100%;height:auto;} が基本です。  スマートフォン、およびモダンブラウザのみ対応でよければ、background-size:プロパティでも良いでしょう。  私は、スマートフォン用のみのページを作ることはないので、PC用/スマートフォン用、携帯用、印刷用など用にスタイルシートを切り替えられるようにすることが多いですね。

inko_027
質問者

お礼

お礼が遅くなり申し訳ありません。 早速試してみたいと思います。 ありがとうございました。

関連するQ&A

  • スマートフォンの画像サイズ

    スマートフォンのデザインを640pxで制作し、スマートフォンサイトを構築中です。 viewport の設定を <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes" /> とし、画像を640pxで制作したサイズで切り出していますが スマートフォンで実機確認すると、縮小されず、倍のサイズで表示されてしまいます。 幅640pxで作成したデータを、半分に縮小したもの(320px)を画像として切り出すのが正しい方法なのか、それとも、切り出した画像の<img … width=" 半分のサイズ ">にするのでしょうか? それとも、幅640px で作成した画像を切り出して、自動的に縮小されるようにする方法があるのでしょうか? いろいろ調べたのですが、よくわからず(調べ方も分からず…)困っています。 無知で申し訳ないのですが、よろしくお願いいたします。

    • 締切済み
    • CSS
  • 画像メインの1カラムのリキッドデザインができません

    画像をメインにした1カラムのリキッドデザインを作成したいのですが、画像の縦横比が崩れて縦長になりながら可変してしまいます。どのようにcssを設定したらよろしいでしょうか?いろいろ検索したりしましたが、うまくできません。 また、こちらの質問機能じたい初めてさせていただいています。至らないことがあるかもしれませんが、ぜひともよろしくお願い致します。急ぎで解決したいです。^^; ---------------- <html> <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width,maximum-scale=1.0,minimum-scale=0.5,user-scalable=yes,initial-scale=1.0"/> <link rel="stylesheet" href="css/a3.css" type="text/css" > <title></title> </head> <body> <div id="wall" > <div id="box"> <img src="css/images/main.jpg"> </div> </div> <div id="footer"><img src="css/images/foot.jpg"></div> </body> --------------------------- body{ width:100%; height:100px; max-height:720px; } #wall{ display:block; width:100%; height:100%; margin:0 auto; min-width:720px; min-height:325px; max-width:1440px; max-height:650px; background-image:url(images/G1.jpg); background-size: 100% 100%; } #box{ width:100%; height:100%; min-width:720px; min-height:325px; max-width:1440px; max-height:650px; } #footer { width:100%; margin:0 auto; min-width:720px; min-height:35px; max-width:1440px; max-height:70px; }

    • ベストアンサー
    • CSS
  • スマホサイトでrotate();を使いたい。

    スマホサイトで、下記の様に背景をposition:fixedを使い固定させて表示しているのですが、 -webkit-transform: rotate(); が使えない、というところでつまずいています。 viewportの user-scalable=no を user-scalable=yes にすると、 rotate(); は使えるのは分かったのですが、position:fixedが使えなくなります。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> </head> <body> <div style="position:fixed;top:0;"> <p class="img01"><img src="images/dammy.jpg" id="img01"style="position:fixed; top:0; -webkit-transform: rotate(10deg);" /></p> </div> </body> </html> 苦肉の策で、下記の様に書いてみましたがダメでした。。 <script> if (navigator.userAgent.indexOf('iPhone') > 1 || navigator.userAgent.indexOf('Android') > 1 || navigator.userAgent.indexOf('iPod') > 1 ) { document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /><meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=yes" /></head><body><p class="img01"><img src="images/dammy.jpg" id="img01" /></p></body></html>'); }else{ document.write('<p class="img01"><img src="images/dammy.jpg" id="img01" /></p>'); } </script> どなたか良い方法があればご教授頂けると大変助かります。 よろしくお願いします。

  • タグを入れてるのにスマホ用サイズで表示されない

    スマホならスマホ用サイズで表示されるように、 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,user-scalable=no" > を入れていて、今まで問題なく表示されていたのですが、 タグをいじったら、スマホでもPCサイズで表示されるようになってしまいました。 上記のコードはいじってないので、入れっぱなしです。 タグヲいくつか変更したので、どれが原因なのかわからないのですが、 今までは同じページ内にスタイルシートを書いてたのですが、 <link rel="stylesheet" type="text/css" href="http://Server/test.css">" のようにして、読み込むように変更しました。 これが原因なのでしょうか?

    • 締切済み
    • CSS
  • viewport

    <meta name="viewport" content="width=device-width, initial-scale=1.0"> と <meta name="viewport" content="width=device-width, initial-scale=1" /> は意味は同じですか? 違いは 1.0か1かと 最後にスラッシュがあるかです。

    • ベストアンサー
    • HTML
  • body内にmetaタグを記述は問題ありますか?

    宜しくお願い致します。 某ネットショップASPを使用してECサイトの構築を行っているのですが、 注文手続きの画面はほぼカスタマイズ不可です。 この注文手続きのページでは metaタグが下記の内容に設定されています。 <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0"> この記述を下記のように変更したいです。 <meta name="viewport" content="width=device-980, user-scalable=yes, initial-scale=1.0, maximum-scale=1.6,minimum-scale=0.25"> ですが、メタタグの変更は出来ない仕様のため、 body内に希望のmetaタグを記述してそちらを適用するようにできればと思っています。 そこで質問なのですが、 ●body内にmetaタグを記述するとスパム扱いあれたり、  seo面で問題などありますでしょうか? (注文画面のため、このページが検索上位になる必要はないのですが、  他のページに影響があったら問題あります・・・。) ●body内にmetaタグを記述する方法以外に、  元々入っているmetaタグを適用させない方法はありますでしょうか? 何か良い方法がありましたら、教えていただけますと嬉しいです。 どうぞ宜しくお願いします。

  • ホームページの頭の記述

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> という書き方を消して、 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UFT-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> と書いたところ、 今までスマートフォンにきっちり表示されいたホームページが、 急に倍のサイズに表示され、ピンチしても縮小されません。 いろいろやってみたところ、 <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> の一行を <meta name="viewport" content="width=device-width,initial-scale=1"> に変えると、表示をピンチで縮小できる事が分かったのですが、 最初から縮小した表示を出したい場合、 何と書けば良いでしょうか?

    • ベストアンサー
    • HTML
  • 表示がされません。

    なぜでしょうか。 <pre> <code> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>タイトル</title> <meta name="description" content="練習サイトそのいち"> <link rel="icon" type="image/x-icon" href="img/favicon.ico"> <meta name="viewport" content="width=device-width, initial-scale=1"> </code> </pre>

  • ジオシティーズ 横幅 広告のサイズになる

    ジオシティーズでHPを作っているのですが <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="format-detection" content="telephone=no" /> を入れているのに、 スマホで表示するサイズが 広告のサイズより小さくなりません。 <div id="main"> にたしいて #main{ width: 200px; } としているのですが、添付画像の様になってしまいます。 広告に合わせて作るしかないのでしょうか?

  • スマートフォンの画面サイズに合わせてページを表示

    スマートフォンの画面サイズに合わせてページを表示させるために「viewport」 <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> 上記のタグを使用したのですが、iPhoneの場合は大丈夫なんですけれど、アンドロイドの場合、スクリーンサイズよりも大きく表示されてしまい困っています。 この「viewport」のタグを<head>~</head>内に入れるだけではダメなのでしょうか?  webでの検索で探し方が悪いのか「viewport」の紹介してあるページにしかたどりつけていません、こちら以外の方法もあるのでしょうか? もし解決方法をご存知の方がいましたら解答お願いします。

専門家に質問してみよう