ピンチイン禁止!HTMLで3ステップ解決

ピンチイン禁止のHTMLとCSSを初心者向けに解説HTML
この記事は約5分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

この記事を読めば、ピンチイン禁止をHTMLで実現する方法が簡単にできるようになります。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

スマートフォンやタブレットでWebページを閲覧する際、誤って画面を拡大してしまうことがあります。

そんな時に役立つのが、HTMLでピンチイン禁止を実現する方法です。

この記事では、初心者でも簡単にできるピンチイン禁止の設定方法や注意点、応用例を解説していきます。

○ピンチイン禁止とは?

ピンチイン禁止とは、スマートフォンやタブレットなどのタッチデバイスで、指でピンチイン(画面を拡大)する操作を禁止することです。

これにより、意図しない拡大を防ぐことができます。

○ピンチイン禁止のメリット

  1. ユーザーが誤って画面を拡大してしまうことを防ぐ
  2. デザインが崩れることを防ぐ
  3. サイトの操作性を向上させる

●HTMLでピンチイン禁止を実現する方法

HTMLでピンチイン禁止を実現するには、下記の3つのステップを行います。

○ステップ1:HTMLの構造を理解する

まずは、HTMLの基本構造を理解しましょう。

HTMLは、タグと呼ばれる要素を使ってWebページの構造を記述します。

例えば、<html>タグはHTML文書全体を囲み、<head>タグはページの情報を記述し、<body>タグはページのコンテンツを記述します。

○ステップ2:viewportの設定

次に、HTMLの<head>タグ内にある<meta>タグでviewportを設定します。

viewportとは、ブラウザがページを表示する際の仮想的な画面領域のことです。

viewportの設定によって、ページの表示方法を制御できます。下記のように記述します。

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

ここで、maximum-scale=1.0user-scalable=noの設定が、ピンチイン禁止を実現するポイントです。

○ステップ3:CSSでピンチイン禁止を実現

最後に、CSSを使ってピンチイン禁止を実現します。

CSSは、HTMLで記述された要素の見た目を制御するための言語です。

<style>タグを使って、HTMLの<head>タグ内にCSSを記述しましょう。

<style>
  body {
    touch-action: manipulation;
  }
</style>

ここでのtouch-action: manipulationが、ピンチイン禁止を実現するCSSの設定です。

●応用例とサンプルコード

ピンチイン禁止の設定は、さまざまな要素に応用できます。

下記にいくつかの応用例とそのサンプルコードを紹介します。

○応用例1:画像のピンチイン禁止

画像に対してピンチイン禁止を設定する場合は、下記のようにCSSを記述します。

<style>
  img {
    touch-action: manipulation;
  }
</style>

○応用例2:テキストのピンチイン禁止

テキストに対してピンチイン禁止を設定する場合は、下記のようにCSSを記述します。

<style>
  p {
    touch-action: manipulation;
  }
</style>

○応用例3:ボタンのピンチイン禁止

ボタンに対してピンチイン禁止を設定する場合は、下記のようにCSSを記述します。

<style>
  button {
    touch-action: manipulation;
  }
</style>

●注意点とカスタマイズ方法

ピンチイン禁止を設定する際の注意点とカスタマイズ方法を下記に説明します。

○注意点1:ブラウザの互換性

ピンチイン禁止の設定は、すべてのブラウザで正しく動作するわけではありません。

特に古いバージョンのブラウザでは、対応していない場合があります。

そのため、対象とするブラウザの互換性を確認しておくことが重要です。

○注意点2:アクセシビリティ

ピンチイン禁止を設定すると、視力に問題があるユーザーや高齢者などが画面を拡大してコンテンツを確認することが難しくなります。

そのため、アクセシビリティを考慮する場合は、ピンチイン禁止の設定を適切に判断しましょう。

○カスタマイズ方法1:ピンチイン禁止の範囲指定

ピンチイン禁止を設定する範囲を指定することができます。

例えば、特定のクラスに対してのみピンチイン禁止を設定する場合は、下記のようにCSSを記述します。

<style>
  .no-pinch {
    touch-action: manipulation;
  }
</style>

この場合、no-pinchクラスが適用された要素に対してのみ、ピンチイン禁止が適用されます。

○カスタマイズ方法2:ピンチイン禁止の切り替え

JavaScriptを使って、ピンチイン禁止の設定を切り替えることができます。

例えば、ボタンをクリックした際にピンチイン禁止を解除する場合は、下記のように記述します。

<script>
  function togglePinch() {
    var bodyStyle = document.body.style;
    if (bodyStyle.touchAction === "manipulation") {
      bodyStyle.touchAction = "auto";
    } else {
      bodyStyle.touchAction = "manipulation";
    }
  }
</script>

この場合、togglePinch()関数を呼び出すボタンがクリックされるたびに、ピンチイン禁止の設定が切り替わります。