- ベストアンサー
phpでスマホ用のCSSへ切り替える記述について
- phpでスマートフォン用のCSSへ切り替える方法について教えてください。
- HTML/CSSでは切り替えできていたサイトのCSSを、PHPで切り替える方法を知りたいです。
- phpで.ctpファイルでスマートフォン用のCSSを読み込む方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 重ねて質問で申し訳ないのですが、if ([スマホ]) {の部分はiPhoneとAndroidなど複数認識させたい場合はどういった記述になりますか? 簡単に判定するならこんな感じ if (preg_match("/android/i", $_SERVER['HTTP_USER_AGENT']) || preg_match("/iphone/i", $_SERVER['HTTP_USER_AGENT'])) { ・・・ } 但し、欠点はAndroid OSを使っている機器はスマホなのかタブレットなのかPCなのか判別出来ないと言う事と、各端末の標準ブラウザなら問題無いけど別途インストールしたブラウザアプリからアクセスがあった場合は、ユーザーエージェントにOS名が入っていない場合があるので判別出来ません。 本来の目的は画面の小さな端末で見やすいスタイルを適用させたいのでしょうから、ブラウザ側で表示領域の大きさで判別してスタイルシートを分けるのが理想的なので、レスポンシブデザインのCSS切り分け方法を使う方がいいと思いますよ。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5253/13738)
<?php echo $this->Html->meta('icon'); if ([スマホ]) { echo $this->Html->css('/_common/css/スマホ用css'); } else { echo $this->Html->css('/_common/css/import.css'); } echo $scripts_for_layout; ?> って事になるでしょうね。 何をもってスマホと判定するかは仕様を決めなければいけません。 ユーザー江ジェントに Android という文字列があればスマホとするのか、もっと他の条件を加味するのかと言う事を検討する必要があるでしょう。 正直な所、サーバサイドで完璧な判定は不可能ですので、ある程度妥協するかブラウザ側で判定する事にするか決める必要があります。
補足
回答ありがとうございます。時間もなく困っていたので大変有り難いです。 重ねて質問で申し訳ないのですが、if ([スマホ]) {の部分はiPhoneとAndroidなど複数認識させたい場合はどういった記述になりますか? よろしくお願い致します。
お礼
詳しく説明して頂きありがとうございました。 とても勉強になりました。 問題点についても折り合いをつけつつ、やってみたいと思います。