ホームページを運用している際に、スマホからのアクセスと、PCからのアクセスで適用するデザイン(スタイルシート)を変えたいと思うことは多いと思います。
自動的に切り替えるページのサンプルをご紹介します。
パソコンかスマホからのアクセスを判別して、スタイルシート(CSS)を変えるHTMLファイルとJavascriptのファイルです。
ついでにViewportの設定もPC向けとスマホ向けで若干設定を変更します。
なお、あらかじめ、パソコン向けのスタイルシートとして「css_pc.css」というファイル、スマホ向けのスタイルシートとして「css_sp.css」というファイルがある前提で記載します。
index.html の中身
<html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
       
      <meta http-equiv="Content-Language" content="ja">
       
      <script type="text/javascript" src="script.js"></script>
      <SCRIPT> auto_css(); </SCRIPT>
        
      
       
      <title>ホームページ</title>
       
      </head>
       
      <body>
       
      
:
:
</body>
      </html>
// 共通変数
var SP_or_PC = 0;     // チェック後、PCの場合は0 ・スマホの場合は1が変数に格納されます
function auto_css()
{
    check_pc_sp();
    if ( SP_or_PC == 1 )     
//スマートフォンからのアクセスの場合
    {     
        document.write('<meta name="viewport" 
content="target-densitydpi=device-dpi, width=655px, maximum-scale=1.0, 
user-scalable=yes">\n');
        document.write('<link rel="stylesheet" 
href="css_sp.css" type="text/css" />\n');
     }
    else     // PCからのアクセスの場合
    {
        document.write('<meta name="viewport" 
content="target-densitydpi=device-dpi, width=850px, maximum-scale=1.0, 
user-scalable=yes">\n');
        document.write('<link rel="stylesheet" 
href="css_pc.css" type="text/css" />\n');
      }
}
// スマホかPCを判別して、変数に設定する
function check_pc_sp()
{
    // ユーザーエージェントの取得(小文字にしておく)
    var userAgent = window.navigator.userAgent.toLowerCase();
    
    // スマホかPCを判別
    SP_or_PC = 0;
    if ( userAgent.indexOf('iphone') != -1 )      
SP_or_PC = 1;
    if ( userAgent.indexOf('ipod') != -1 )          
SP_or_PC = 1;
    if ( userAgent.indexOf('android') != -1 )     
SP_or_PC = 1;
    if ( userAgent.indexOf('mobile') != -1 )      
SP_or_PC = 1;
    if ( userAgent.indexOf('windows phone') != -1 )     
SP_or_PC = 1;
 }
以上です。