• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:widthでcss,js切換可能でしょうか。)

widthでcss,js切換可能でしょうか。

このQ&Aのポイント
  • マルチデバイス対応のWebSiteを製作しようと思うのですが、widthによって、cssやjavascriptを切り替えたいのですがどのようにすれば良いでしょうか。
  • HTMLの<link>タグの中で、ウィンドウサイズやデバイスの幅、画面の向きに応じて切り替えるCSSとJavaScriptを指定する方法がありますが、うまく動作しないようです。
  • さらに、widthやポートレートモード、ランドスケープモードを判別しJavaScriptを切り替えることも可能かどうかを知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

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を切り替えればスタイルの変更が簡単にできると思います。

hk-c
質問者

お礼

お礼を補足に書いてしまいました。。。 ありがとうございました!

hk-c
質問者

補足

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>

その他の回答 (1)

回答No.2

No.1です。 すみません、訂正です。 × width=media-width ○ width=device-width

hk-c
質問者

お礼

width=device-width を 教えていただき、 ありがとうございました!

hk-c
質問者

補足

今、【width=media-width】を調べていました! 迅速に対応いただき本当にありがとうございます! 教えて頂いたソースで、ただいま、試行錯誤しております! また後ほど、コメントを書かせて頂きます!

関連するQ&A