[解決済み] デバイスがタッチスクリーンかどうかを検出するためのメディアクエリ
質問
タッチスクリーンデバイスでないときに、メディアクエリを使用して何かを実現する最も安全な方法は何でしょうか。方法がない場合、次のようなJavaScriptのソリューションを使用することをお勧めしますか?
!window.Touch
や Modernizr などの JavaScript ソリューションを使用することをお勧めしますか?
どのように解決するのですか?
現在では、CSS メディアクエリを使用して、特定のインタラクティブ機能を持つデバイス用のスタイルを定義することができ、それは が広くサポートされています。 にも対応しています。
ホバー などは、ユーザーの主な入力メカニズムが要素の上にホバーできるかをテストするために使用できます(タッチ対応デバイスではエミュレートしないと真値にはなりません)。
@media (hover: none) {
a {
background: yellow;
}
}
その他の対話型テストは、ポインタ、任意のポインタ、ホバー、および任意のホバーです。
前の回答
私は、以下のものを使用することをお勧めします。 モダナイザー を使用し、そのメディアクエリ機能を使用することをお勧めします。
if (Modernizr.touch){
// bind to touchstart, touchmove, etc. and watch `event.streamId`
} else {
// bind to normal click, mousemove, etc.
}
しかし、CSSを使うと、例えばFirefoxのような擬似クラスが存在します。この場合 :-moz-system-metric(touch-enabled) . しかし、これらの機能はすべてのブラウザで利用できるわけではありません。
については アップル デバイスの場合は、単純に
if (TouchEvent) {
//...
}
特にiPad向け。
if (Touch) {
// ...
}
しかし、これらの は Android では動作しません。 .
モダニズル は特徴検出機能を備えており、特徴を検出することは、ブラウザを基準にコーディングするよりも ブラウザを基準にしたコーディングではなく、機能を検出することは良い方法です。
タッチ要素のスタイリング
Modernizer は、まさにこの目的のために HTML タグにクラスを追加します。この場合
touch
と
no-touch
というように、セレクタの前に.touchを付けることで、タッチ関連のアスペクトをスタイルすることができます。
.touch .your-container
.
クレジット Ben Swinburne
関連
-
[CSSチュートリアル】CSS3Animationで実現する簡単な指のクリックアニメーションの例
-
[CSSチュートリアル】パララックススクロールの効果を完成させるCSS
-
[CSSチュートリアル】カラフルで知的なシャドウ効果を実現するCSS
-
[css3]CSS3遷移回転遠近法2D3Dアニメーションなどの効果を持つサンプルコード
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] CSSのdisplayプロパティで遷移する
-
[解決済み] How do I style a <select> dropdown with only CSS?
-
[解決済み] メディアクエリ。デスクトップ、タブレット、モバイルをターゲットにする方法とは?
-
[解決済み] CSS メディアクエリ: max-width OR max-height
-
[解決済み] JavaScriptで「タッチパネル」デバイスを検出する最適な方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル】Pure CSSカスタム複数行抜け問題(原理から実装まで)
-
[CSSチュートリアル】背景-位置の割合の原則の説明
-
[CSSチュートリアル]css display table adaptive height, widthの問題解決
-
[CSSチュートリアル】CSSの新機能には、ページの再描画や並び替えの問題をコントロールする機能が含まれています。
-
[CSSチュートリアル】CSSで炎のエフェクトを記述する方法
-
[css3] scss変数の値を実行時に変更するcss3 var()の使用方法を説明します。
-
[CSSチュートリアル】タイトルを上部に配置するスティッキーレイアウトを実現するためのCSS
-
[CSSチュートリアル】ピュアCSSでDIVホバーを実現するサンプルコード(固定位置編)
-
[CSSチュートリアル】CSSプリグラミング言語と詳細解説の違いについて
-
[解決済み] タッチデバイスでボタンのホバーエフェクトがベタベタしないようにする方法