レスポンシブサイトのスマホ表示で要素が画面に収まらない主な原因4つと解決策のまとめ
  • レスポンシブサイトのスマホ表示で要素が画面に収まらない主な原因4つと解決策のまとめ
  • 記事公開:2017/07/21
  • 最終更新:2017/08/13

レスポンシブサイトのスマホ表示で要素が画面に収まらない主な原因4つと解決策のまとめ

スマホサイトで要素が画面に収まらない主な原因4つと解決策をまとめてみました。レスポンシブサイトの制作時には頭を悩ませる問題かと思います。現に悩まれている方、このコンテンツで頭痛の種を取り除いてください。

この記事は約 6 分で読めます。

スマホサイトで要素が画面に収まらない問題

レスポンシブサイトを構築していると、スマホサイトで要素が画面に収まらないという問題に一度や二度はぶつかるものです。私も、制作の過程で必ず1回はスマホの画面に要素が収まらず、横スクロールが表示されてしまい、毎回閉口していました。

以前は、どこが原因で要素が画面に収まらないのかすぐに分からず、問題を解決するまでに長い時間を費やしたものです。そんな経験を何度もしているうち、今ではすぐに原因の箇所を突き止め、修正できる様になりました。

今回は、スマホサイトで要素が画面に収まらない主な原因と解決策をまとめてみました。
以下の内容を読めば、きっとあなたのサイトも要素が画面に収まるようになります!

原因1:要素の幅がデバイスの幅を超えている

解決策:スマホ表示の場合、要素の幅をpxではなく%で指定するようにする。

要素の幅がデバイスの幅を超える値になっている時、当然ですが要素は画面内に収まりません。

例えば、デバイスの横幅が【480px】、要素の横幅が【500px】であれば、オーバーしている【20px】だけ要素が画面からはみ出してしまいます。つまり、要素が画面に収まらなくなるわけです。

この解決策は、要素の横幅がデバイスの横幅を超えないようにすること。
具体的には、横幅の値を【px】で指定するのではなく【%】で指定してやることです。
そうしてやれば、要素の横幅がデバイスの横幅を超えることはありません。

原因2:margin、padding、borderが考慮されていない

解決策:要素のCSSに【box-sizing: border-box;】を加えてやる。

例えば、要素の横幅を【width:100%】と指定している場合で、その要素にmargin、padding、border(要素の横に対して)が設定されていると、その数値の分だけ画面からはみ出してしまいます。

例えば、margin-rightが10px、padding-rightが10px、border-rightが10pxだとした場合、3つの合計である30pxだけ画面から要素がはみ出すことになります。

【width:100%】と指定した場合でも、margin、padding、borderの値は【width:100%】に含まれませんので、要素が画面に収まらなくなるわけです。

この解決策としては、該当する要素に【box-sizing: border-box;】を加えてやることです。
これを加えることで、margin、padding、borderの値を含めて【width:100%】にすることができます。

原因3:画像のサイズがデバイスの横幅を超えている

解決策:画像タグに対してmax-widthを100%で指定してやる。

【原因1:要素の幅がデバイスの幅を超えている】と同じですね。
画像の横幅がデバイスの横幅を超えていると、その超えている分だけ画面からはみ出します。

この解決策は、PCとスマホで画像を切り替える、画像タグに対してwidthを100%で指定してやる、などいくつかの解決策が考えられますが、今回は【画像タグに対してmax-widthを100%で指定してやる】をお勧めいたします。

例えば、スマホ表示の画像タグに対して以下の様なCSSを設定してやります。

img{
max-width: 100%;
height: auto;
width /***/:auto; 
}

このCSSを設定してやると、画像がデバイスの横幅より大きい場合、デバイスの横幅に合わせて縮小されます。画像がデバイスの横幅より小さい場合は、元のサイズで表示されます。

こうしてやれば、画像のサイズが原因で【素が画面に収まらない】を回避することができます。

原因4:英文字やURLが改行されていない

解決策:要素のCSSに【word-wrap:break-word】を加えてやる。

ページ内に長い英文字やURLなどを記載していると、それらが改行されず、画面外にはみ出している場合があります。これが原因で、要素が画面に収まらないのです。

解決策としては、改行されていない英文字やURLの要素に対して、CSSで【word-wrap:break-word】を設定してやりましょう。これを設定する事で、長い英文字やURLが画面に収まるように改行されます。

まとめ

スマホサイトで要素が画面に収まらない主な原因4つと解決策をまとめてみました。

レスポンシブサイトの制作などで、頭を悩ませる問題かと思います。
今回紹介した原因と解決策を知るだけでも、問題解決に役立つかと思います。

ぜひ、参考にしてください。

この記事が気に入ったら【いいね】しよう!

あなたのWEBサイトをWordpressで
管理できるようにしませんか?

あなたのWEBサイトを見た目そのままでWordpress化いたします。
以下に興味のある方は、お気軽にご相談下さい。

  • あなたのWEBサイトを、Wordpressで運営できる様にいたします。ページの編集や追加も簡単に行えるようになります。
  • どの様な形式のサイト(例えば、アメブロ、MTサイトなど)でもWordPress化いたします。
  • Wordpress化でサイトのデザインが崩れるなどの心配は必要ありません。デザインもサイト構成もほぼ変わらない、高い再現率が自慢です。
  • 単にWordpress化するだけではありません。デザイン変更など+αの作業にも対応することも可能です。
  • 他案件との兼ね合いもありますが、最短即日であなたのサイトをWordpress化いたします。
  • 初心者でもWordpressが使えるよう、納品後に徹底的な操作サポートをご提供いたします。Wordpress化したけど操作できないと、あなたが頭を抱えることはありません。

興味のある方は、以下のリンクからチェックしてみてください。

詳細を確認する

著者:とあるWEBディレクター

岡山在住のWebディレクターです。Wordpressを使ったWEBサイト制作を中心に7年間ほど活動させていただいています。

Wordpress関連の記事でお役に立てれば幸いです。

【関連記事】あなたが興味のありそうな関連記事をご紹介します。

  • 知らずに損した!最初・最後・奇数・偶数・○番目など、要素を指定して装飾する方法

    2016-03-29

    疑似クラスを使うことで、CSSを複雑にすることなく指定要素を装飾することができます。「この3番目のliタグだけ色を変えたい」など特定の要素だけを装飾したいケースの参考にしてください。 記事を読む

  • CSSで背景を半透明にする方法

    2014-12-09

    「CSSで背景色を半透明する方法」をご紹介します。 記事を読む

  • 簡単便利!ダミー画像を作成するなら【placehold.jp】で決まり!

    2016-01-10

    ダミー画像を簡単に作成することのできる【placehold.jp】をご紹介します。簡単な操作でダミー画像がサクッと作成できる無料サービス。WEBサイトの制作などダミー画像が必要になったら【placehold.jp】がめちゃ便利です。 記事を読む

  • 3コピペだけ!アクセスから一定期間で消えるボックスを設置しよう。

    2015-11-11

    アクセスから一定期間で消えるボックスを設置する方法をご紹介します。コピペだけで設置できますのでどなたでも設置可能です。このコンテンツを確認して頂ければ、3分後にはアクセスから一定時間経過で消えるボックスが設置できてしまいます。 記事を読む

  • 【スマホサイト】iPhoneからフォームを入力するとき勝手に画面を拡大させない方法

    2016-02-09

    iPhoneでWEBサイトの検索フォームを利用する場合など、自動的に画面が拡大されてしまいます。この機能、便利に感じる場合もありますが、ちょっと【うっとおしい】とかんじる場合もあります。今回は、この画面拡大を回避する方法のご紹介です。 記事を読む

コメントを残す


(必須)

CAPTCHA