レスポンシブ(スマホ用ページをPC用にする)

HTML/CSS

スマホ用のサイトができたので、それをPCで表示する時にレイアウトが崩れないよう、CSSを追加します。

なぜスマホ用のサイトを先に作ったかというと、PC用は画面が大きいためにFlexboxを使って横並びのレイアウトにすることが多いので、スマホ用を後に作ると、Flexboxを解除するためのCSSを追加しなければならないから、なんだそうです。

へえー!!
スマホ→PCの方が、cssコードが少なくて済むんですね。

まず、メディアクエリでブレイクポイントを一つだけ指定。

@media screen and (min-width: 920px) {

  /*ここにPC用CSSを書く*/

}

赤文字の部分に、必要なCSSを書いていきます。Flexboxで2カラムにする、リンクリストを横並びにする、余白や画像をPC用のサイズに修正する、などなど。

 

メモ

横幅指定を width : @@px ; ではなく max-width で指定している理由は、

「ブラウザの横幅をどれだけ広げても指定の値よりは大きくならず、縮めていった場合はブラウザの横幅にフィットして縮む」これだけで基本がしっかり身に付くHTML/CSS&webデザイン p.260 という特性を持っているから。

あと今回すごかったのが、「PC用のみ改行をなくす」ということ。

あるキャッチコピーがあって、スマホ用だと改行されて2行になっているのですが、PC版でだけ改行をなくしたい。けれどhtmlの<br>を削除してしまうとスマホ版で困るので、「メディアクエリを利用してPCの時だけCSSで、<br>タグを非表示にする」という方法を取るんだそうです。

そんなことが…!?

魔法のようですね…!

具体な方法としては、

①HTMLの<br>タグにクラス名をつける
②CSSのPC用メディアクエリ内で、①のクラス名に対して display: none; を指定する

これだけでできてしまうんだそうです。すごいなあー。こういうの、はじめに思いつく人って、どういう頭してるんだろう…。

コメント

タイトルとURLをコピーしました