HTML - CSS - PC と Mobile を使い分ける

 クラウディア
1. 概要
2. 判断
3. どう書くか

1. 概要

 他のページで、メディアクエリについて記述しておる箇所がありますが・・・。  画面サイズでいちいち切り替えていたら、結構、きりがないのだ。  新しい機種が出るたびに書きかえるのも疲れたし、メディアクエリの記述は面倒なのです。  しかし、「Google Search Console」あたりで「モバイルユーザビリティの問題があります」というのが、やたらたくさんでたりします。  これを解決するのは、「.css」(まぁ本サイトの場合「.scss」だったりしますが)でやるのが手っ取り早い。  でまぁ、メディアクエリで分けるのでなく、アクセス元が「PC」なのか「Mobile」なのかは「.php」で判断して、そこから使用する「.css」を「PC」と「Mobile」で分けるのが、ワタクシ的には楽であると判断した次第です。

2. 判断

 では、アクセスしているの相手が「PC」か「Mobile」かを判断するのは・・・。  「PHP」で、有志が提供しているモジュールを使用します。  これに関しては、「PHP - スマフォ判定」をご参照ください。

3. どう書くか

 では、「.scss」をどう書くかちゅうと。  「PC」用の場合は、大体、実際にブラウザで見ながら書いているので、細かく設定して、問題ないように思われます。  で、これをそのまま「Mobile」に適用すると多くは、このサイトの場合。 ・コンテンツの幅が画面の幅を超えています ・テキストが小さすぎて読めません ・クリック可能な要素同士が近すぎます  てな警告を受けます。  これ、上の2つは、大体、コンテンツが画面の幅をはみ出ちゃってるのですな・・・。  下の1つは、行間が狭いと言われちゃうようです。  わたしは、これを解決するのに、上の2つは、要素のいくつかで

width: xxpx;
 と書いておるのが、画面サイズをはみ出す要因になっています。  これを、「Mobile」用の場合、おおよそ

width: xx%;
 に書き換えて、「100%」より、幾分小さい値を設定するようにしています。  次に行間に関して、目次等で、リンクをずらずらと並べているような場合

line-height: 2em;
 を基準として、少し広めにしたりして、調整しています。  およそ、この2つを調整することで、本サイトの「モバイルユーザビリティ」の問題の多くは解決しました。
earthcar(アースカー)