CSS メディア クエリとデバイスの向き: ソフト キーボードの問題の克服
はじめに
CSS のメディア クエリは、方向などのデバイスの機能に基づいてスタイルを適用するための強力なメカニズムを提供します。ただし、特定のデバイスでは、ソフト キーボードがこれらの方向ルールに干渉し、Web ページが正しく表示されない可能性があります。この記事では、この問題に対処するための代替ソリューションを検討します。
向きのメディア クエリ
メディア クエリは、次の構文を使用して縦向きと横向きをターゲットにするために使用できます。
<code class="css">@media all and (orientation:portrait) { /* Portrait styles */ } @media all and (orientation:landscape) { /* Landscape styles */ }</code>
このアプローチはほとんどのデバイスでうまく機能しますが、ソフト キーボードを縦向きモードで開くと失敗します。表示領域が減少すると、ページが強制的に横向きでレンダリングされ、レイアウトが崩れます。
代替解決策
1 つの代替案は、JavaScript を使用してソフト キーボードと方向ベースのスタイルを動的に適用します。これは、ブラウザ ウィンドウの高さを返す window.innerHeight プロパティを使用して実現できます。ソフト キーボードが開かれると、ウィンドウの高さが減少し、JavaScript 関数がトリガーされます。
<code class="js">window.addEventListener('resize', function() { if (window.innerHeight <p>ソフト キーボードが検出されると、CSS クラスを に適用できます。カスタム スタイルで縦向きまたは横向きをターゲットにする要素:</p> <pre class="brush:php;toolbar:false"><code class="css">.soft-keyboard-open.portrait { /* Portrait styles with soft-keyboard open */ } .soft-keyboard-open.landscape { /* Landscape styles with soft-keyboard open */ } .portrait { /* Standard portrait styles */ } .landscape { /* Standard landscape styles */ }</code>
その他のオプション
元の質問で言及されている別のオプションは、クラスを
<code class="html"> ... .landscape .landscape-only { display:block; } .landspace .portrait-only { display:none; } .portrait .portrait-only { display:block; } .portrait .landscape-only { display:none; }</code>
このアプローチでは、JavaScript を使用して の class 属性を設定する必要があります。方向に基づく要素。特に標準以外の画面サイズのデバイスでは、@media クエリのアプローチほど信頼性が低い可能性があります。
最近の進歩
最近では、新しいメディア クエリ機能が登場しました。ソフト キーボードの問題を発生させずに方向検出をより適切にサポートする機能が導入されました。これらには次のものが含まれます:
- 最小アスペクト比と最大アスペクト比
- 方向ロックと方向ロック解除
より正確なソフト キーボードが開いているときの画面の向きと動作をターゲットにします。
結論
向きに関する CSS メディア クエリを妨げるソフト キーボードの問題は、一般的な課題です。上記で説明した代替ソリューションを実装することで、開発者はソフト キーボードを備えたデバイス上で Web ページの一貫したレンダリングを保証し、より良いユーザー エクスペリエンスを提供できます。
以上がデバイスの向きに関する CSS メディア クエリに対するソフト キーボードの干渉の問題をどのように克服できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee&#039;の疑いを補強します。

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

まあ、SVG&#039;の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

ほとんどの場合、人々はTailwind&#039;の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio

馬鹿のように展開することは、展開に使用するツールと複雑さの報酬と複雑さの減少との間の不一致になります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1
使いやすく無料のコードエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
