1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【CSS】PC版とSP版でコンテンツの順序が大きく異なるデザインを実装するときの対応【今さら聞けないHTMLの基礎】

Last updated at Posted at 2025-10-28

PC版とSP版(スマホ版)のデザインが異なるサイト、よく見かけますよね。当社のサイトももちろんそうなっています。

株式会社Sekappy
https://sekappy.com/

これは主にCSSを用いて、画面幅の変化に応じてデザインが切り替わるように制御しています。
昔はSP版のサイトを別サイトで用意するような実装も多かったです(ニコニコ動画等で確認できます)が、現在は保守性の高さ等の理由から、CSSを用いた制御が主になっています。

メディアクエリとブレイクポイント

CSSによる画面幅の検知は、メディアクエリを用いてブレイクポイントと呼ばれるものを作ることで実現できます。

See the Pen change-color by SekappyOfficial (@Sekappy) on CodePen.

※実際にブラウザのサイズを変更して、動作を確認してください。

今回のメインでは無いので掘り下げませんが、メディアクエリには様々なものがあります。
うまく利用することによって、様々な制御が実現できるので、是非調べてみてください。

メディアクエリーの基本 – ウェブ開発の学習 | MDN
https://developer.mozilla.org/ja/docs/Learn_web_development/Core/CSS_layout/Media_queries

flexboxを使ったコンテンツの並べ替え

本題です。
デザインを適用する際に、PC版とSP版で大きくコンテンツ順序が異なるデザインの実装を要求されて頭を抱えたことはないでしょうか。

例えば以下の画像のような実装を行いたいとします。

・PC版
スクリーンショット-2025-07-08-042140.png

・SP版
スクリーンショット-2025-07-08-042559.png

・PCで見たときはコンテンツは横並び、かつ12345の順に並んでいる
・SPで見たときはコンテンツは縦並び、かつ53124の順に並んでいる

実装は以下の様になります。

See the Pen sample1 by SekappyOfficial (@Sekappy) on CodePen.

※実際にブラウザのサイズを変更して、動作を確認してください。

flexアイテムにorderを指定すると、flexコンテナ内で順番を自由に並べ替えることが出来ます。こちらは簡単で、非常に強力です。
PC、SP共に単純なレイアウトで、コンテンツの順番のみ入れ替えれば済むようなデザインで威力を発揮します。

gridを使ったコンテンツの並べ替え

以下の画像のような実装を行いたいとします。

・PC版
スクリーンショット-2025-07-08-051018.png

・SP版
スクリーンショット-2025-07-08-042559 (1).png

・PCで見たときは1が左カラム的に存在、かつ2345が右カラムに並んでいる
・SPで見たときはコンテンツは全て縦並び、かつ53124の順に並んでいる

実装は以下の様になります。

See the Pen sample2 by SekappyOfficial (@Sekappy) on CodePen.

※実際にブラウザのサイズを変更して、動作を確認してください。

格子状(grid)に区切られたエリア内で、自由自在にコンテンツを配置できるのがグリッドレイアウトです。
CSSのみで対象のオブジェクトを任意の位置に配置できるので、メディアクエリを併せて使用することでいくらでも並び替えや配置変更が出来てしまうので、非常に強力です。

慣れるまで少し可読性が低いのが難点でしょうか。

position:absoluteなどで強制的に飛ばす

古の手法ですが、未だに有効な場面もあります。
ナビゲーションメニューなどを画面上部に持っていく際などによく使用されます。

・PC版
スクリーンショット-2025-07-08-144950.png

・SP版
スクリーンショット-2025-07-08-145047.png

See the Pen sample3 by SekappyOfficial (@Sekappy) on CodePen.

※実際にブラウザのサイズを変更して、動作を確認してください。

まとめ

特にgridがCSS3で実装されたことにより、CSSで表現できないデザインは殆ど無くなってきたように思えます。PCとSP版両方のデザインを無理なく両立するため、少し頭をひねってHTMLやCSSを書いていく必要がありますが、パズルを解いているような楽しさもあります。
是非チャレンジしてみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?