質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2910閲覧

レイアウトの崩れ

revoiot

総合スコア188

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/03/21 08:52

編集2017/03/21 09:16

レスポンシブデザイン対応のwebサイトを作成しているのですが、わからないことがでてきたため、質問させていただきます。

レスポンシブデザインでスマホを対応させたいのですが、ズームすると画像②のように崩れてしまいます。

インターネットでこのことについて調べた結果、cssでの長さの表記を%でなく、px(実値)で表記するようにありました。websiteのみ対応であれば、全てpxで表しても、問題はないと思うのですが、今回PC、スマホ、タブレットを対応させたレスポンシブデザインでは、すべてpx表示するのはベターではないとおもいました。

768pxまでは、画像①のような表記をさせたいのですが、どういうコードを加えれば、レイアウト崩れを防ぐ事ができるでしょうか?

大変恐縮ですが、お分かりになる方ご教授頂けると幸いです。

よろしくお願いします。

画像①
イメージ説明

画像②
イメージ説明
HTML

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Webデザインラボ</title> <meta name="description" content=""> <meta name="keywords" content=""> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> <![endif]--> <script src="sample.js"></script> <!-- ※2.メディアクエリの設定でウインドウサイズに応じて読み込むスタイルを切り替える。 --> <!-- ※デフォルトのスタイル(layout.css)を1024px以上のウインドウサイズの場合に読み込ませる。 --> <link rel="stylesheet" type="text/css" media="screen and (min-width: 1024px)" href="box.css" /> <!-- ※タブレット用のスタイル(tablet.css)を1024px以下のウインドウサイズの場合に読み込ませる。 --> <link rel="stylesheet" type="text/css" media="screen and (max-width: 1023px) and (min-width: 769px)" href="box-tablet.css" /> <!-- ※スマートフォン用のスタイル(sp.css)を768px以下のウインドウサイズの場合に読み込ませる。 --> <link rel="stylesheet" type="text/css" media="screen and (max-width: 768px)" href="box-sp.css" /> <!-- ※3.IE6~8に対応するrespond.jsを入れる。 --> <!--[if It IE 9]> <script src="js/respond.js"></script> <![endif]--> <div class= "boxall"> <div class="boxsidebar"> <img src="box img/box sidebar/search-in.gif" alt=""> <img src="box img/box sidebar/category.gif" alt=""> <div class="categorylist"> <ul> <li>ネックレス</li> <li>リング</li> <li>ピンキーリング</li> <li>ピアス</li> <li>ブレスレット</li> <li>チャーム</li> <li>チェーン</li> <li>メンズ</li> <li>キャンドル</li> <li>ボックスフラワー<br>ブリザーブドフラワー</li> <li>ワンピース</li> <li>クローズ</li> <li>その他</li> <li>全ての商品</li> </ul> </div> <img src="box img/box sidebar/press-news.gif" alt=""> <img src="box img/box sidebar/search-scene.gif" alt=""> <img src="box img/box sidebar/search.gif" alt=""> <img src="box img/box sidebar/free-shipping.gif" alt=""> <img src="box img/box sidebar/shipping-guide.gif" alt=""> <img src="box img/box sidebar/blog.gif" alt=""> <img src="box img/box sidebar/facebook.gif" alt=""> <img src="box img/box sidebar/twitter.gif" alt=""> <img src="box img/box sidebar/line.gif" alt=""> <img src="box img/box sidebar/instagram.gif" alt=""> <img src="box img/box sidebar/qrcode.gif" alt=""> </div> </div> </body> </html>

CSS

@charset "utf-8"; header{ width:100%; background-color:#7FFFD4; margin:0 auto; } .categorylist{ list-style:none; font-size:12px; width:100%; display:table; text-align:center; padding:0; margin:0 auto; } ul li{ border-bottom:1px dashed black; list-style:none; text-align:center; margin:0 auto; display:block; } ul { width:100%; text-align:center; margin:0 auto; padding:0; } .maincontents{ width:100%; background-color:#FFB6C1; margin:0 auto; } .boxsidebar{ background-color:#228b22; width:100%; margin:0 auto; text-align:center; clear:both; } .boxall{ width:100%; text-align:center; margin:0 auto; } .boxmainpic{ margin:0 auto; width:100%; } .boxpreservedflower{ margin:0 auto; } .boxnews{ margin:0 auto; } .boxrank{ margin:0 auto; } .boxslidebar{ width:100%; display: block; margin:0 auto; text-align:center; } .boxslide{ margin:0 auto; }

ここに私のwebsiteのURLを載せさせていただきます。
URL

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

いろいろ別途指摘したい事もありますが、そういうのが好きな人におまかせして。

###768pxまでは、画像①のような表記をさせたい
とりあえずコレを解決しましょう。

###原因
原因は、薄々感じているかと思いますが、
ul li の項目は全て横一列なのに対して、imgの要素だけが横に並んでる状況です。

これは、liはブロック要素なのに対して、imgはそれ自体がインライン要素のために、必然的に右側に障害物(ウィンドウ端)が無いかぎり横に並ぼうとします。これが原因です。

###解決法
解決方法としては、それぞれがブロック要素になれば良いので、

一つの方法として
もしこれがバナーの一覧なのであれば、

html

1<ul class="bannerlist"> 2<li><img src="box img/box sidebar/press-news.gif" alt=""></li> 3<li><img src="box img/box sidebar/search-scene.gif" alt=""></li> 4<li><img src="box img/box sidebar/search.gif" alt=""></li> 5<li><img src="box img/box sidebar/free-shipping.gif" alt=""></li> 6<li><img src="box img/box sidebar/shipping-guide.gif" alt=""></li> 7<li><img src="box img/box sidebar/blog.gif" alt=""></li> 8<li><img src="box img/box sidebar/facebook.gif" alt=""></li> 9<li><img src="box img/box sidebar/twitter.gif" alt=""></li> 10<li><img src="box img/box sidebar/line.gif" alt=""></li> 11<li><img src="box img/box sidebar/instagram.gif" alt=""></li> 12<li><img src="box img/box sidebar/qrcode.gif" alt=""></li> 13</ul>

のようなul liでリストとして表現して、CSSを

CSS

1ul.bannerlist li {text-align:center;}

とすれば、ウィンドウ幅にかかわらず①と同じような表示になるかと思います。

ニュースエリアなどもあるようなので、liではなく各自をdivで区切ってしまっても大丈夫です。

全てのレスポンシブデザイン化となると、もう少し超えるべきハードルもあるかと思いますが コツを覚えるとトントン拍子でいけると思うので頑張ってください。

投稿2017/03/21 10:01

編集2017/03/21 10:07
iss

総合スコア506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

revoiot

2017/03/21 10:13

ご回答ありがとうございます。全く考えつかなかったご回答で驚きました。大変丁寧なご回答ありがとうございます。
iss

2017/03/21 10:23

丁寧なお礼ありがとうございます。 ちなみに、「cssでの長さの表記を%でなく、px(実値)で表記するように」については、その考え自体は好ましくはありますが、レスポンシブ対応を考えるとpxと%との併用がどうしても必要になりますので、完全に鵜呑みにしなくても大丈夫ですよ。
revoiot

2017/03/21 14:52

ご親切に連絡をいただきありがとうございます。 pxと%の併用ができるようにこれからも勉強して参ります。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問