MENU
  • ブログ用語集(ガイド)
  • ブログ運営基礎知識
  • SEOノウハウ
  • ブログ収益化
  • WordPress
  • Webデザイン
  • PC
  • サービス一覧
  • 無料相談
セオリコ
  • ブログ用語集
  • 記事一覧
    • ブログ基礎知識
      • ブログ基礎知識
      • ブログの書き方
      • サーバー関連
    • ブログ収益化
      • Google AdSense
    • SEO
    • Webデザイン
      • CSSデザイン
    • WordPress
      • WordPress エラー修正方法まとめ
      • WordPressテーマ
      • WordPressプラグイン
      • ブログカスタマイズ
    • PC関連
      • OS・ソフトウェア
      • ハードウェア
  • サービス一覧
    • ブログ個別サポート(コンサルティング)
    • サイト診断(Google AdSense 審査対策)
    • Search Console データ分析
    • WordPress エラー修復
    • Link Map Insights
  • 無料相談
セオリコ
  • ブログ用語集
  • 記事一覧
    • ブログ基礎知識
      • ブログ基礎知識
      • ブログの書き方
      • サーバー関連
    • ブログ収益化
      • Google AdSense
    • SEO
    • Webデザイン
      • CSSデザイン
    • WordPress
      • WordPress エラー修正方法まとめ
      • WordPressテーマ
      • WordPressプラグイン
      • ブログカスタマイズ
    • PC関連
      • OS・ソフトウェア
      • ハードウェア
  • サービス一覧
    • ブログ個別サポート(コンサルティング)
    • サイト診断(Google AdSense 審査対策)
    • Search Console データ分析
    • WordPress エラー修復
    • Link Map Insights
  • 無料相談

スマホサイトの横揺れ・横スクロール・見切れ・はみ出しの原因と対策

2024 9/10
Webデザイン
2024/09/10

スマホ対応の WordPress テーマや HTML テンプレートを使っていても、広告や表が画面からはみ出してしまったり、ぐらぐらと横揺れしてしまうことがありますよね。

レスポンシブ web デザインはそうならないように設計されていますが、HTML タグの使い方や CSS の指定によっては表示が崩れてしまいます。

よくある横揺れの原因と具体的な対策方法、一発で解消できる CSS コードを見ていきましょう。

目次
  1. スマホの横揺れがおきる原因
  2. pre タグ内のテキストが飛び出してしまう原因と対策
    1. 01. 枠内でのみ横スクロールさせる方法
    2. 02. 単語の途中でも強制改行させる方法
    3. 03. プラグインで対応する方法
  3. 表(table)が崩れてしまう原因と対策
    1. 01. 画像にする(非推奨)
    2. 02. できるだけシンプルな表にする
    3. 03. セルの余白を削る
    4. 04. セルの幅は % で指定する
    5. 05. 表だけ横スクロールできるようにする
  4. 広告が見切れてしまう原因と対策
  5. 横揺れをほぼ防ぐ CSS
  6. スマホ横揺れ対策まとめ

スマホの横揺れがおきる原因

横揺れは、Web サイトの幅(≒ スマホの画面幅)より大きな要素があるときに発生します。

枠内におさまっているように見えても、はみ出している要素のぶんだけ横スクロールが発生してしまうわけです。

横揺れが発生している例

どの要素が飛び出しているか探るときは、以下の CSS を追加してみてください(色や太さはお好みで)。

* { outline: 2px solid red; }

各要素がラインで囲まれるので、識別しやすくなります。

outline追加例

横揺れの原因となっている要素を見つけたら、さらに詳細を調べて対応しましょう。

スマホの横揺れが発生する原因として、おもに以下の要素が考えられます。

  • コードなどを紹介する <pre>
  • 表で使う <table>
  • 広告などで使われる <iframe> や <img>

それぞれ詳細に解説していきます。

WordPress 前提で解説していきますが、他のブログサービスや HTML サイトでも原因と対策の基本は同じです。

pre タグ内のテキストが飛び出してしまう原因と対策

CSS や HTML のコードサンプルを載せるときに <pre> を使いますが、この中に長い単語が入っているとテキストが枠を突き抜けてしまいます。

世界一長い英単語として知られている「Pneumonoultramicroscopicsilicovolcanoconiosis」を入れて試してみてください。

URL も「長い単語」として扱われます。

HTML だと以下のような形。

<pre>Pneumonoultramicroscopicsilicovolcanoconiosis</pre>

<pre>https://example.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/</pre>

パソコンの表示でもテキストが突き抜けているサイトをたまに見かけるかもしれません。

この対策は CSS に数行追記するだけで OK です。

01. 枠内でのみ横スクロールさせる方法

まず、CSS で <pre> に overflow:auto を指定する方法。

pre { overflow: auto; }

以下のように枠内でのみ横スクロールできるようになります。

横スクロールできる

ブラウザによっては、タッチするまで枠内のスクロールバーが表示されません。わかりにくいときは「横スクロールできます」のような注釈を入れておくとよいでしょう。

02. 単語の途中でも強制改行させる方法

横スクロールさせるのがあまり好きではないなら、word-wrap:break-word で強制的に改行させる方法もあります。

pre { word-wrap: break-word; }

英単語でも途中で改行されるので、英会話や英語解説系のサイトではやめたほうがよいと思います。

強制改行させた場合

03. プラグインで対応する方法

HTML や CSS のサンプルコードを載せるなら、専用プラグインを使用したほうがきれいに見えます。

WordPress でソースコードをきれいに埋め込むプラグイン 6 選

少なくとも <pre> の枠から文字が突き抜けてしまうような事態は防げますので、ぜひ使ってみてください。

表(table)が崩れてしまう原因と対策

<table> の扱いが苦手という方は多いですが、ブロックエディターではだんだんと使い勝手が良くなってきました。

ただ、以下の場合は表が崩れたり横にはみ出る可能性があります。

  • 横列の数が多すぎる
  • セルごとに width を指定している

複雑な表を作ろうとするとおこりやすいですね。

対策方法はいくつかあります。

01. 画像にする(非推奨)

表を画像にしてしまえば、デザイン崩れを気にしなくてもよくなります。

でもこれは完璧な方法ではなく、むしろ非推奨です。理由は次の 2 つ。

  • 検索エンジンが正確に理解できず、検索評価(順位)に影響することがある
  • あまりに大きな表だとスマホでは判読できない

ピンチアウトで拡大すれば読めるのでそれほど問題なさそうですが、検索評価に影響する可能性があるのがこわいところです。

「画像にすると検索評価が下がる」のではなく、「表を使うことで上がるはずの検索評価がゼロになってしまう」というほうが正しいですね。リッチスニペットにも反映されなくなってしまいます。

できれば画像ではなく、<table> で作成しましょう。

02. できるだけシンプルな表にする

複雑な表・大きな表は、パソコンでも見づらくなる場合があります。

スマホでの表示を考えると、横列はできるだけ少なくしてシンプルな表にしたほうがよいです。列と行を入れ替えてみるのもよいでしょう。

検索評価が高くなったところで、読者にとってわかりやすいものでなければ意味がありません。

もし技術的に可能であれば、「PC 用の表」と「スマホ用の表」を出し分ける方法も考えられます。

条件分岐タグ wp_is_mobile で PC とスマホの表示を切り替える方法

03. セルの余白を削る

パソコンでの見え方だけ考えて、各セルの余白を大きめにとってしまうと、スマホで表示が崩れる原因となります。

セルのpaddingが原因で表示が崩れている例

表のサイズは border や padding の値を含めて計算されるので、もし大きめの表を作成するなら余白はできるだけ削ってください。

場合によっては font-size も小さめにしたほうが収まりやすくなります。

/* 表示が崩れやすい */
td { padding: 2em; }

/* 可能なかぎり削る */
td { padding: 0.5em; }

表示が崩れないように table-layout:fixed を使うことも考えられますが、そうすると画面の横揺れが発生してしまいます。

table-layout:fixed による横揺れ

<table> に table-layout:fixed を指定すると同時に、<td> の padding も調整しましょう。

table { table-layout: fixed; }
td { padding: 0.5em; }

04. セルの幅は % で指定する

<table> の幅を 100% にしていても、各セルの幅を px で指定しているとはみ出してしまいます。

セルの幅が原因ではみ出している例

セルの幅を指定するときは % を使い、全体で合計 100% になるようにしておくと安心です。

table { width: 100%; }

/* はみ出す原因になる */
td { width: 500px; }

/* % で指定する */
td.w30 { width: 30%; }
td.w70 { width: 70%; }

05. 表だけ横スクロールできるようにする

スマホでも大きめの表が必要であれば、表内だけ横スクロールできるようにしておくのがベターです。

表内だけ横スクロールさせる

比較表などはこの形がよいかもしれません。

WordPress ブロックエディターの場合は以下のように指定します(プラス、表またはセルの幅を px で指定)。

.wp-block-table { overflow-x: auto; }

表全体を動かすとわかりづらいときは、列・行を固定するとよいでしょう。実装方法は以下のサイトが参考になります。

テーブルの行や列を固定しスクロールする方法 | RunLand(ランランド)株式会社  

または、PC とスマホでデザイン自体を変える方法もあります。

Responsive Table pattern  

広告が見切れてしまう原因と対策

<img> または <iframe> で表示している広告がはみ出しているケースはたまに見かけます。

画像やiframeがはみ出している例

この場合は、max-width を指定しておけば解決できます。

/* 画像 */
img, .wp-block-image img { max-width: 100%; }

/* iframe */
iframe { max-width: 100%; }

スマホ対応の WordPress テーマなら対応済みになっていると思いますが、もし見切れる場合は CSS を追加しておきましょう。

<table> と同じく、スマホと PC で広告を切り替える方法も有効です。

条件分岐タグ wp_is_mobile で PC とスマホの表示を切り替える方法

横揺れをほぼ防ぐ CSS

横揺れの原因となっている要素を調べて対応していくのは、けっこう手間ですよね。

そんなときは以下の CSS を追加してみてください。横揺れをほぼ防げます。

@media screen and (max-width : 480px){
	html,
	body {
		overflow-x: hidden;
		overflow-y: scroll;
	}
}

「画面幅が 480px 以内のとき、横にはみ出しているものは非表示にする」という無理やりな指定なので、あくまで応急処置として覚えておきましょう。

表や広告がはみ出しているなら、見切れた状態のまま横スクロールできなくなってしまいます。

スマホ横揺れ対策まとめ

どんなに素晴らしい記事を書いていても、スマホの横揺れが原因で離脱されてしまうかもしれません。

一般的なブログなら読者の 8 割はスマホユーザーですから、PC での表示だけを考えて記事を書くのではなく、スマホの表示を最優先に考えましょう。

もしどうしても解決できないときは、お気軽にご相談ください。

Webデザイン

著者

SEO コンサルタント 瀬尾

瀬尾 真

SEO コンサルタント

Web 歴 20 年以上の SEO コンサルタント。ライティング業務ほか、サイト制作・コンテンツ販売・メディア運営代行業務を行っています。当サイト(セオリコ)では、おもにブログ初心者向けのノウハウを配信。

ココナラでは WordPress エラー修正やハッキング修復、Search Console 分析サービスをご提供しています(年間400件以上対応)。

X (Twitter)
ココナラ
マシュマロ
お問い合わせ

関連記事

  • シンプルでおしゃれなデザイン
    ブログを簡単におしゃれにできる背景デザインと CSS 設定方法
  • Google Fonts
    【日本語可】無料 Web フォント「Google Fonts」の使い方
  • テキストリンクの最適な色は?
    【2025年最新データ】大手サイトのテキストリンク色比較
  • Fotojet
    Facebook カバー写真やコラージュが簡単に作れる無料ツール FotoJet の使い方
  • Webデザイナー
    初心者ブロガーが覚えておきたい読まれるブログデザインの大原則
  • 画像の背景を自動削除(切り抜き)してくれるオンラインツール 6 選
  • たった 5 秒で驚きの画像加工ができる無料オンラインツール 3 選
  • アイキャッチ画像
    フリー素材を加工してオリジナリティの高いアイキャッチ画像を作る方法
  1. セオリコ
  2. Webデザイン
  3. スマホサイトの横揺れ・横スクロール・見切れ・はみ出しの原因と対策
Category
  • ブログ運営法
  • ブログ収益化
  • SEO
  • Webデザイン
  • WordPress
  • PC
Service
  • ブログ個別サポート
  • Google AdSense 審査対策
  • WordPress エラー修復
  • Search Console 分析
WordPress Plugin
  • Link Map Insights
Information
  • ブログ用語集(ガイド)
  • お問い合わせ
  • サイトマップ
  • セオリコ運営者情報
  • コンテンツポリシー
  • プライバシーポリシー
  • X (@seoryco)

© seoryco.

  • お問い合わせ
  • サービス一覧
  • 検索
  • 目次
  • トップへ
目次
  1. スマホの横揺れがおきる原因
  2. pre タグ内のテキストが飛び出してしまう原因と対策
    1. 01. 枠内でのみ横スクロールさせる方法
    2. 02. 単語の途中でも強制改行させる方法
    3. 03. プラグインで対応する方法
  3. 表(table)が崩れてしまう原因と対策
    1. 01. 画像にする(非推奨)
    2. 02. できるだけシンプルな表にする
    3. 03. セルの余白を削る
    4. 04. セルの幅は % で指定する
    5. 05. 表だけ横スクロールできるようにする
  4. 広告が見切れてしまう原因と対策
  5. 横揺れをほぼ防ぐ CSS
  6. スマホ横揺れ対策まとめ