
こんにちは!最近映画で号泣して次の日目が腫れた岩間です!
さて、2回に渡って紹介してきたスマホ対応、今回が最後になります!
今回は要素の高さを揃えてくれるjQuery「AutoHeight」を使ったレイアウトです♪
これまでの記事をまだ読んでいない方は併せてどうぞ!
>>なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第1回/全3回)
見る環境によって画像一覧の見え方を変える
説明文の長さによって高さがバラバラになったリストを、要素の高さを揃えてくれるjQuery「AutoHeight」を使って整えます。
今回は、前回までとは違ってcssでの分岐も併せて解説していきます♪
折り返す列の数を設定する
2列で表示したいのは小さいスマホだけなので、それ以上は3列で表示することになります。
別で新しく分岐を設定してもいいのですが・・・
今回はこれまで設定してきた分岐があるので、一緒に書くことにしました。
実は、前回設定した変数の中で小さいスマホ用に設定したものだけ使っていなかったんですが、気付きましたか?
var spWidth = '小さいスマホのサイズ';
これです!
前回作成したJavaScriptに小さいスマホの切り替えを追加します。
if ( spWidth > screen.width) {
$('meta[name=viewport]').attr('content',spView);
}
画像一覧用の処理を入れるだけだと他の処理が無視されてしまうので、Viewportの分岐も入れておきます。ViewportとAutoHeightで実質4種類の分岐になりますね。
小さいスマホ、大きいスマホ、タブレット、PCの分岐に、AutoHeightにあらかじめ用意されているコードをそれぞれ追加します!
/*2つごとに1回、回り込み解除*/
$('高さを揃えたい要素').autoHeight({column:2,clear:1});
/*3つごとに1回、回り込み解除*/
$('高さを揃えたい要素').autoHeight({column:3,clear:1});
これで、2列と3列の分岐ができました!
でもまだこれで完成ではありません。
大きいスマホ用に3列に設定しても、そのままだとリストの大きさが2列用のままで
画面内に収まらない分は折り返してしまいます。
画面幅にきれいに3列並ぶよう、メディアクエリを使って調整していきます!
装飾用のファイルで切り替える
メディアクエリは、cssの機能の1つで、画面のサイズに応じて適用するスタイルを振り分けられる機能です。
例えば、PCでは400pxで表示していたものをスマホでは200pxで表示するように設定できます。
メディアクエリで、画像一覧を大きいスマホでは3列で表示するように設定していきます!
@media screen and (max-device-width:大きいスマホの画面幅){
li{
width:画面幅の3分の1;
}
img{
width:100%;
height:auto;
}
}
たったこれだけでリストもきれいに表示することができました!
画像の横幅を100%にすると画像を囲っている要素の幅に応じて可変してくれるので、いろんなところで使ってます(^o^)
これで動作を確認してみると、PC・タブレット・スマホで崩れることなく表示できました!
画面幅で切り替えているので、スマホを横向きにした場合にも対応しています♪
もっともっと簡単で確実な方法もあるかと思いますが、今回は端末ごとに分けることでわかりやすいコードになったと思います。
あとがき
全3回に渡って紹介してきた、なるべく沢山のスマホ・タブレットで快適に見られるレイアウトの実現、いかがでしたか?
今回記事を書いたことで私自身も改めて勉強になりました。
学んだことを伝えるってすごく難しいですね;;
ここまで読んでくださってありがとうございました(*^^*)
第1回:なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第1回/全3回)
第2回:なるべく沢山のスマホ・タブレットで、快適に見られるレイアウトの実現(第2回/全3回)

西村 力也
代表取締役
2002年からWeb制作・システム開発に従事。React、Next.js、TypeScriptを中心としたモダンなフロントエンド開発の専門家。AI検索最適化(AIO)の先駆者として、ChatGPT、Perplexity等のAI検索エンジン対応を推進。三重県津市を拠点に、東海地方の企業様のデジタル変革を支援しています。
関連記事

【Step 1詳細版】現状把握の具体的な方法とツール - DX推進の第一歩
前回の記事「なぜ日本企業の93%がDXで成果を出せないのか?確実な業務効率化5ステップ」では、DX成功の5つのステップをご紹介しました。今回は、その第一歩である「Step 1: 現状把握」について、実際に使えるツールと具体的な方法を詳しく解...

ウェブ制作用語を料理に例えてみた:非エンジニアのための超訳辞典
「UI/UXって何ですか?」 「CMSの導入を検討しています」 「API連携が必要です」ホームページリニューアルの打ち合わせで飛び交う専門用語の数々。頷きながらも内心「???」となっている広報担当者の皆さん、いらっしゃいませんか?今日は、そ...

AIに任せて大丈夫?知っておきたいセキュリティの新常識
ChatGPTに会社の機密、入力してませんか?「ちょっとAIに文章チェックしてもらおう」「このデータ、AIで分析してもらえば早いかも」──便利なAIツール、つい何でも相談したくなりますよね。でも、ちょっと待ってください。そのデータ、本当に入...