fbpx

レスポンシブウェブサイト

ウェブサイトの構築方法

どのように表示されるかを考えながら、コーディングしていきます。ビジュアルデザインをイメージしながら、法則に従って、文字列を使って表現していくというわけです。

メモ帳などの簡単なテキストエディタでアイデアを形にしていき、Visual Studio Codeを使って、構築していきます。基本的には、htmlで、ウェブページの構造を造り、CSSを使って装飾を加えていきます。

WYSIWYG(What You See Is What You Get/見たままが得られる)を採用したウェブオーサリングツールもありますが、思ってもいない不要なコードを生成してしまうことがあります。ちょうどカメラのマニュアルモードとオートモードで撮影する時と似ている気がします。どちらもうまく組み合わせて、シチュエーションで使い分けることができると思います。

レスポンシブウェブサイト

レスポンシブウェブサイトのデザインは、Webページをさまざまなスクリーンサイズで表示できるように開発する方法です。当サイトのSpyder CHECKR 24ページで、カラーチャートを掲載しています。

レスポンシブを意識しないで作ってしまうと、デスクトップパソコンで表示すると、きれいに表示されているのに、画面サイズの小さいスマホなどでは、画面幅に収まり切れず、切れて表示されてしまうということが起きてしまいます。

画面が小さいと切れる
画面が小さいと切れる

古いやり方で、デザインをすると、このような現象になってしまうことがあります。以下にコードを見ていただくと分かるように、Tableの表組の中に、背景色などを記述しています。大きな画面サイズでは、それほど分かりませんが、サイズを可変していくと、はみ出してしまいます。

See the Pen
Not a good use of the table
by webcreator365 (@webcreator365)
on CodePen.

新しい方法を使ってみる

いつも同じ方法ばかりだと、進歩しないので、時には、新しい方法にチャレンジしてみます。厳密には、間違っているところもあるかもしれませんが、今回は、グリッドレイアウトを使ってみました。

コンテナ-親要素(grid)

grid-template-columnsで、横軸のアイテム数を設定します。6枠を画面比率に合わせて、均等に配列する設定です。
grid-template-rowsで、縦軸のアイテム数を設定します。4枠を画面に合わせて、均等に配列する設定です。
gapとpaddingで、アイテムとアイテムの間の枠組みの太さを設定します。

.grid {
display: grid;
gap: 10px;
padding:10px;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: repeat(4, 1fr);
background-color:#111;
}

24個のアイテム-子要素(item)

item1~24を、以下のように記述しています。
display: flex;で、フレックスコンテナを指定します。
align-items:とjustify-content:で、アイテム同士が、縦横等間隔になるように指定します。
font-size: clampで、clamp関数を使って、フォントの最小値、推奨値、最大値を指定してあげます。ウインドウ幅を縮小した場合、最小値から最大値の範囲で可変します。Clamp Generator
font-size: 12px;で、念のためclamp関数が使えないブラウザ用に定義しておきます。

.item1 {
display: flex;
align-items: center;
justify-content: center;
background-color:#343434;
color:#c8c8c8;
font-size: 12px;
font-size: clamp(6px, 1vw, 12px);
text-align: center;
}

全体のコード部分を以下に掲載しますが、グリッドレイアウトだと、アイテムのスタイルが一緒の場合は、シンプルになりますが、24アイテムあると、記述が長くなってしまいます。後で、編集しなおすときに、探すのも大変になります。

See the Pen
Spyder CHECKR24
by webcreator365 (@webcreator365)
on CodePen.

このように失敗と改善を繰り返しながら、他の優秀なコーダーのアイデアなどを参考に、コーディングしております。