• 締切済み

html css スマートフォン作成方法について

html cssを使って、スマートフォンサイトのトップページを作成しています。 と言っても超がつく程の素人で、htmlもcssもhp作成等、経験した事がありませんでした。 訳あってスマートフォンサイトを作る事になり、htmlとcssの入門編のような参考書とネットで調べて、四苦八苦で試しております。 htmlとcssで作成し、一応はPCで見れるようにはなりましたが、スマートフォン用に変換する時に初期画面が、上手く画面に収まらない状態になります。 調べた結果、<head>の中に<meta name="viewport" content="width=device-width,……>というので指定すると、画面に収まるようになると記してあり、色々試した結果全然変わりませんでした。 user-scalable=yesにすると、最初の画面が大きく表示され、タップするとぴったりのサイズになりました。noにすると勿論ですが大きいままです。 最初から、画面サイズはぴったりに、ユーザーに拡大させないように作りたいのですが…。 全体の幅は640pxで作ってありまして、画像部分に引っ張られて全体が大きく表示されている感じがします。 htmlで、tableを組んでそこにボタン等の画像を埋めこんでいるせいなのかもとも思いました。 下記のソースで、ページ上部のhead部分にtableを組んでロゴとテキストを置いています。 <div id="header"> <table bgcolor="#ff0000" border="0" width="640px"> <tr> <td><img src="img/rogo.png" alt=ああああああ></td> <td valign="bottom" align="center"> <h3>あああああああああ</h3></td> </tr> </table> </div> ロゴの画像は幅255×80です。 その下に、幅640pxのメインになる画像をそのまま置いています。 さらに、その下には下記のように、またtableを組んで、横2列のボタンを画像で置いてます。 <div id="menu">  <table align="center"> <tr> <td><a href="img/aaaaa.html"><img src="img/ボタン1.png" style="border-style:none;" /></a></td> <td><a href="img/bbbbb.html"><img src="img/ボタン2.png" style="border-style:none;" /></a></td> </tr>  </table> </div> ボタンのサイズは310×80pxです。 <div>タグでグループ化してcss幅の設定しても上手く表示されず…。 ネットで調べてみても、次々新しい言語でパンク状態で…。自分の頭の悪さに飽きれてしまいます。勉強はかなり必要なのは覚悟していますが、とりあえずはなんとか、今スマートフォンでぴったりに表示させたいです。 とても質問内容が解りずらく、お見苦しいのですが、どなたかアドバイスを頂けないでしょうか。とても困っています…。

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

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5083/13283)
回答No.1

viewport の記述を下記のようにしてみて下さい。 <meta name="viewport" content="width=640, maximum-scale=0.5, minimum-scale=0.5"> スマートフォンのブラウザは初期状態で横幅320pxを前提に動作します。 width=device-width と指定した場合、表示開始時は横幅320pxで表示しようとしますので、640pxでデザインされているのであれば640pxであることを指定します。 maximum-scale と minimum-scale はdevice-width(320px)に対する表示倍率の最大と最小です。 閲覧者に表示の拡大縮小をさせたくなければ上記のような指定をします。 自由に拡大して見てもらっていいのであれば指定をしなくても構いません。

kassiy
質問者

お礼

t ohta様 早朝からご丁寧なアドバイス、本当に本当にありがとうございました。  早速試したところ縦の表示に関しては、おかげさまでよくなりました!ただ…横型に持ち変えて表示にしますと、縦そのままのサイズで大きく表示されないようです…。 他にも、私の間違いがあるのかも知れません。横のサイズは諦めるほか無いのでしょうか…

関連するQ&A

  • CSSでの画像の自動縮小について

    あるホームページを作成しているのですが、ブラウザを縮小した時、画像を自動で縮小したいのですがうまくいきません。 テーブルのレイアウトを崩したくないので、幅は固定したまま、かつ画像はブラウザサイズによって自動縮小にするようにしたいのですが、どうやってもうまくいきません。 ソースコードは下の通りです。 やはり、フレームレイアウト(waku)と、テーブルの幅を可変(パーセント表示)にしないと、画像の伸縮は難しいのでしょうか。 **** HTML部分(CSSは外部) ***** <body> <div id="waku"> <div id="a"> <table border="1" width="100%"> <tr> <td>ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ</td> </tr> <tr> <td> <div id="b"> 画像の説明 <img src="01.jpg"> </div> </td> </tr> </table> </div> <div id="c"> <table border="1" width="100%"> <tr> <td>ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ</td> </tr> </table> </div> </div> </body> **** style.css(CSS部分) ***** #waku { width:900px; border: 1px solid #000; } #a { width:800px; } #b img { max-width: 600px important!; width: 100% important!; max-height: 300px important!; height: 100% important!; } #c { width:800px; }

    • ベストアンサー
    • HTML
  • css で指定した div と table の幅が

    html と css の勉強中です。 スタイルシートで次のように同じ幅を 指定したのですが、表とブロックの幅が 揃いません。 <style><!-- #a {width:300px;border:solid 2px} #b {width:300px;border:solid 2px} --></style> <div id="a"> <p> a b c d </p> </div> <table id="b" border="1"> <tr> <td>a</td><td>b</td><td>c</td><td>d</td> </tr> </table> ブラウザは IE6と opera で見てみました。 お願いします。

    • ベストアンサー
    • CSS
  • CSSの設定方法について

    CSSは外部ファイルにし、十数枚あるHTMLに「div id=contents内にあるTableは全て共通のレイアウト」 となるよう下記のCSSを設定しました。 --------CSS----------------------------------------- #contents{margin-left: 70px;} #contents table{width: 650px; border: solid 1px #B1B2B2; border-collapse: collapse; margin: 15px 0px;} #contents tr, td ,th{padding: 4px; border: solid 1px #B1B2B2; border-collapse: collapse;} --------HTML----------------------------------------- <div id="contents">  <table>   <tr>    <th>項目</th>   </tr>   <tr>    <td>項目1</td>   </tr>  </table> </div> ------------------------------------------------------- しかし、どうしても違うレイアウトにしたいTableが出てきた為、下記CSSを追加、 HTMLは<div id="contents">の部分を<div id="login">に変更したのですが 追加CSSが反映されず、id=contentsの設定が残ったままになってしまいます。 色々いじってみたのですが、どこが間違っているのやら皆目見当がつきません。 --------追加CSS----------------------------------------- #login{text-align: center; } #login table{width: 450px; border: solid 2px #666666; border-collapse: collapse;} #login tr, td ,th{border: solid 1px #666666; border-collapse: collapse;} --------HTML----------------------------------------- <div id="login">  <table>   <tr>    <th>項目</th>   </tr>   <tr>    <td>項目1</td>   </tr>  </table> </div> 拙い文章で恐縮ですが、ご助言いただけると大変助かります。 説明不足や意味不明箇所は補足させていただきますので、どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • css

    <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <table width="300" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="110"><img src="a.gif" width="100" height="100" border="0" /></td> <td > <div class="ab">left</div> <p>説明文 </p> </td> </tr> </table> </td> <td width="20"></td> <td> <table width="300" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="110"><img src="b.gif" width="100" height="100" border="0" /></td> <td> <div class="ab">right</div> <p>説明文 説明文 </p> </td> </tr> </table> </td> </tr> </table> .ab { border-bottom:1px solid #E3E3E3; padding-left:5px; margin: 0px 0px 10px 0px; テーブル内の文字数が変わると片方が上から下に下がってきます。両方上に揃えるには どうすればいいんでしょうか。よろしくお願いします。

    • ベストアンサー
    • CSS
  • フルCSSプロフェッショナルテンプレの表作成

    ビルダー15に同梱のフルCSSプロフェッショナルテンプレートで、まったく別の色の表を作成したいのですが、フルCSSのせいで、背景色が反映されません。 1、まったく別の表のためのCSSはどのように書けばいいのでしょうか? 2、それをどのように記述すればよいでしょうか? 3、または、フルCSS”表のデザイン”で選んだ表は、文字が小さく嫌なので、文字を大きく表示する方法はあるのでしょうか?(文章ごとにフォントサイズの変更しなきゃだめ?) ↓↓こんな感じで書いてみたのですが・・・。 CSSコード .example table { width: 640px; border: 1px #ff6347 solid; border-collapse: collapse; } .example td { border: 1px dashed; background-color: #ff6347; padding: 0 6px; } .example th { border: 1px dashed; background-color: #9acd32; } HTMLコード <div class="example"> <table> <tr> <th>1-1</th> <th>1-2</th> <th>1-3</th> <th>1-4</th> </tr> <tr> <td>2-1</td> <td>2-2</td> <td>2-3</td> <td>2-4</td> </tr> <tr> <td>3-1</td> <td>3-2</td> <td>3-3</td> <td>3-4</td> </tr> </table> </div>

  • <img>タグにCSSのclass設定可能?

    <img>タグにスタイルシートのclassは、直接設定できるのでしょうか? 例えば,以下のようにテーブルの中にexample.jpgという画像があるとします。 <table border="4" width="250"> <tr> <td align="left"> <img src="example.jpg" width="100" height="100" borde="0"> </td> </tr> </table> この場合、<td align="left">とあるのでexample.jpgはセルの中で左揃えになって表示されます。 質問1: ここで、スタイルシート使用して、<td align="left">のまま、example.jpgをセルの中で中央揃えにして表示したいとします。また、スタイルシートを使用して、example.jpgの上下には10pxのマージンを設定します(ここでは、スタイルシートに関する質問のため、あえてhspaceは<img>タグに使用しません。)。スタイルシートの指定は、<head></head>内で行なうことにします。 この場合、以下のように<img>タグの中に直接classを設定できますか?できない場合は、その理由、正しいやり方等をお教え下さい。 <head> <style type="text/css"> .abc{ text-align:center; margin-top:10px; margin-bottom:10px: } </style> </head> <table border="4" width="250"> <tr> <td align="left"> <img class="abc" src="example.jpg" width="100" height="100" borde="0"> </td> </tr> </table> やはり、<div></div>で<img>タグを囲んで、 <head> <style type="text/css"> .abc{ text-align:center; margin-top:10px; margin-bottom:10px: } </style> </head> <table border="4" width="250"> <tr> <td align="left"> <div class="abc"> <img src="example.jpg" width="100" height="100" borde="0"> </div> </td> </tr> </table> などとするしか方法がないのでしょうか? 質問2: また、スタイルシートを使用せずに、上記のテーブルで<td align="left">のままexample.jpgを中央揃えにする方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • モバイルサイト作成 Docomoのborder表示について

    DocomoのモバイルサイトでCSSのborderをつけたい場合、どのようにすればいいか教えてください。divでもtableでもいいです。 <table style=\"border:1px solid #ff6633 outset;\"> <tr> <td> あああああああああああああああああ </td> </tr> </table> このようにしてもborderが表示されません。 outsetはあってもなくても変わりません。

  • CSSでdiv内を下揃え

    CSSでdiv内を下揃えは出来ないものでしょうか? テーブルを使った時の以下の表現をCSSで表現したいです。 <TABLE border="0" height="200"> <TR> <TD>ここは上から●pxに画像配置</TD> </TR>  <TR> <TD valign="bottom">ここを下揃えで画像表示</TD> </TR> </TABLE> テーブルならすぐできるのですが… 下揃えの方法があれば教えてください。

    • ベストアンサー
    • CSS
  • css テーブルについて

    よろしくお願いします。 2だけを300pxと100pxに2分割にできないでしょうか。 <div class="aa"> <table> <tr> <th>1</th> <td>2</td> </tr> <tr> <th>1</th> <td>1</td> </tr> </table> </div> .aa table { width: 500px; height: 100px; border: 1px #000000 solid; border-collapse: collapse; } .aa th { width: 100px; border: 1px #000000 solid; } .aa td { width: 400px; border: 1px #000000 solid; }

    • ベストアンサー
    • CSS
  • cssで<div>にpaddingを指定したとき

    下のように、cssで<div>にwidth720px、padding10px,background-color: #00FFFF;と指定して、 IE6とoperaで表示してみたところ、widthが740px、padding10pxになってしまいます。 divの下に740pxのテーブルをおいて確認してみました。 これは、こういうものと、思うしかないのでしょうか? また、こうなるのは、私だけなのでしょうか? <style type="text/css"> <!-- #contents { width: 720px; padding: 10px; background-color: #00FFFF; } --> </style> </head> <body> <div id="contents"> あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ </div> <table width="740" border="0"> <tr> <td bgcolor="#0000FF">あ</td> </tr> </table> </body>

    • ベストアンサー
    • HTML

専門家に質問してみよう