検索
ホームページウェブフロントエンドCSSチュートリアルデバイスの向きに関する CSS メディア クエリに対するソフト キーボードの干渉の問題をどのように克服できますか?

How can you overcome the issue of soft-keyboard interference with CSS media queries for device orientation?

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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
カーソルの次のレベルCSSスタイリングカーソルの次のレベルCSSスタイリングApr 23, 2025 am 11:04 AM

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

Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Apr 23, 2025 am 10:42 AM

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

UI効果にCSSバックドロップフィルターを使用しますUI効果にCSSバックドロップフィルターを使用しますApr 23, 2025 am 10:20 AM

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

微笑んでいますか?微笑んでいますか?Apr 23, 2025 am 09:57 AM

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

「かわいい」は見る人の目にあります「かわいい」は見る人の目にありますApr 23, 2025 am 09:40 AM

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

CSS-Tricks XLIIIを記録しますCSS-Tricks XLIIIを記録しますApr 23, 2025 am 09:35 AM

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

Tailwind&#039;の@Apply機能は、響きよりも優れていますTailwind&#039;の@Apply機能は、響きよりも優れていますApr 23, 2025 am 09:23 AM

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

私はリリースがないように感じます:正気な展開への旅私はリリースがないように感じます:正気な展開への旅Apr 23, 2025 am 09:19 AM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

mPDF

mPDF

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境