- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:widthでcss,js切換可能でしょうか。)
widthでcss,js切換可能でしょうか。
このQ&Aのポイント
- マルチデバイス対応のWebSiteを製作しようと思うのですが、widthによって、cssやjavascriptを切り替えたいのですがどのようにすれば良いでしょうか。
- HTMLの<link>タグの中で、ウィンドウサイズやデバイスの幅、画面の向きに応じて切り替えるCSSとJavaScriptを指定する方法がありますが、うまく動作しないようです。
- さらに、widthやポートレートモード、ランドスケープモードを判別しJavaScriptを切り替えることも可能かどうかを知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
viewportでwidth=media-widthを指定しておけば、<link>タグのmedia属性で切り替えられるかもしれませんが、未検証です。 https://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html ---------- JavaScriptでポートレート、ランドスケープを判断するには、 if( window.orientation%180 ){ //ランドスケープ }else { //ポートレート } です。 window.onorientationchange=function(){}; で、切り替わった時に実行する処理を指定できます。 JavaScriptを併用して良いのなら、 disabledを切り替えればスタイルの変更が簡単にできると思います。
その他の回答 (1)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.2
No.1です。 すみません、訂正です。 × width=media-width ○ width=device-width
質問者
お礼
width=device-width を 教えていただき、 ありがとうございました!
質問者
補足
今、【width=media-width】を調べていました! 迅速に対応いただき本当にありがとうございます! 教えて頂いたソースで、ただいま、試行錯誤しております! また後ほど、コメントを書かせて頂きます!
お礼
お礼を補足に書いてしまいました。。。 ありがとうございました!
補足
talooさんのヒントを得て 下記の記述で 【PCのwindowサイズ変更時とマルチデバイスで向き変更時にjsとcssを切替】 ができました。 プログラムは苦手なので記述が悪いと思いますが、動きました! ありがとうございました! <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>PCのwindowサイズ変更時とマルチデバイスで向き変更時にjsとcssを切替</title> <meta name="viewport" content="" id="myStyleTwo"> <link rel="stylesheet" href="style-1.css" id="myStyle"> <script type="text/javascript" src="../../jquery/jquery-1.7.1.js"></script> <script> $(function(){ $(window).bind("orientationchange resize load",function(){ if( 960 >$(window).width() || Math.abs(window.orientation) === 0){ $("#myStyle").attr("href","style-1.css");//縦向きの場合の命令 $("#testA").html("縦"+$(window).width());//縦向きの場合の命令 document.getElementById('myStyleTwo').content = "width = 600,initial-scale=1"; }else if(Math.abs(window.orientation) === 90){ $("#myStyle").attr("href","style-2.css");//横向きの場合の命令 $("#testA").html("横"+$(window).width());//横向きの場合の命令 document.getElementById('myStyleTwo').content = "width = 1000,initial-scale=1"; }else{ $("#myStyle").attr("href","style-2.css");//横向きの場合の命令 $("#testA").html("横"+$(window).width());//横向きの場合の命令 document.getElementById('myStyleTwo').content = "width = 1000,initial-scale=1"; } }) }) </script> </head> <body> <div id="testA">BOXA</div> </body> </html>