モバイルデバイスの非スケーラブルなビューポートにピンチズーム可能なdiv画像を追加する 質問する

モバイルデバイスの非スケーラブルなビューポートにピンチズーム可能なdiv画像を追加する 質問する

次のビューポート メタ タグを検討してください。

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui" />

ページのコンテンツはスケーラブルではなく、モバイル レスポンシブです。場合によっては、その上に大きな画像を重ねて、ユーザーがその画像をピンチ ズームできるようにする必要があります。

#overlay_div {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #dddddd;
    z-index: 550000;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
}

<div id="overlay_div">
    <img src="largeimage.jpg" width="100%">
</div>

現在、2 つの選択肢があると考えています。

  1. ビューポート メタをプログラム的に変更して、ユーザーのスケーリングを可能にする (クロスブラウザへの影響の可能性があり、下にあるコンテンツもスケーリングされるため、望ましくない)
  2. hammer.js を使用してピンチ イベントを手動で処理し、それに応じて div/image を拡大縮小します (互換性への影響が非常に複雑になると思われます)。

特にクロスブラウザ互換性のために、これを行う適切な方法をご存知の方はいらっしゃいますか? シンプルな CSS ソリューションがあることを期待しています。

ありがとう

ベストアンサー1

あなたの場合がそうであるかどうかはわかりませんが、通常は画像を元の画像へのリンク (a) にすることを好みます。モバイル ブラウザーは、画像をfull screenイン モードで開くことでこの状況を処理できます。その後、ユーザーは画像に対して好きな操作を行うことも、メイン ページに戻ることもできます。

おすすめ記事