HTML、CSS、JavaScriptHTML,CSSの基礎

【HTML,CSS】ブロークングリッドのレイアウトを解説

ブロークングリッド解説ページのアイキャッチ画像 HTML、CSS、JavaScript

ブロークングリッドレイアウトは、意図的にグリッドを崩すことで生まれる独創的なWebデザイン手法です。この記事では、ブロークングリッドの基本概念、特徴、適した用途、メリット・デメリット、そして実践的な作成方法を紹介します。

はじめに

この記事のコードをコピペして出力してみよう。

ブロークングリッドとは?

ブロークングリッドレイアウトは、従来の整然としたグリッドデザインを意図的に崩すWebデザイン手法です。

特徴

  • グリッドからはみ出したり、要素を重ね合わせたりする
  • 非対称で不規則な配置を採用
  • 視覚的な変化と動きを生み出す

適している用途

  • クリエイティブ業界のポートフォリオサイト
  • アート関連のWebサイト
  • 革新的なブランドや製品のランディングページ
  • ファッションやデザイン関連のECサイト

メリット

  1. オリジナリティの創出: 独特のデザインで競合との差別化が可能
  2. 視線誘導: 重要な要素を強調しやすい
  3. ユーザーの興味喚起: 新鮮で魅力的な印象を与える
  4. 今どき感: 最新のデザイントレンドを反映できる
  5. コンテンツの重要度表現: デザインで情報の優先順位を示せる

デメリット

  1. 無秩序になるリスク: 過度な崩しは混乱を招く可能性がある
  2. 閲覧者への配慮: デジタルに不慣れな層には見づらい場合がある
  3. レスポンシブ対応の難しさ: スマートフォンでのレイアウト崩れに注意が必要
  4. デザインの難しさ: 秩序と無秩序のバランスを取るのが困難
  5. コンテンツの読みづらさ: 過剰な装飾で情報が伝わりにくくなる可能性がある

ブロークングリッドレイアウトは、従来のデザイン規則を意図的に破ることで、ユニークで印象的なWebサイトを作り出すことができます。適切に使用すれば、ブランドの個性を際立たせ、ユーザーの記憶に残るサイトを作ることができます。

ブロークングリッドのレイアウト作成

以下のページを作成します。

コード例

index.html
※クリックするとコードが表示されます。

HTML
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>ブロークングリッドレイアウト</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <div class="container">
      <header>
        <h1>ブロークングリッドレイアウト</h1>
      </header>
      <div class="broken-grid">
        <div class="grid-item">大きなグリッドアイテム</div>
        <div class="grid-item">グリッドアイテム2</div>
        <div class="grid-item">グリッドアイテム3</div>
        <div class="grid-item">幅広グリッドアイテム</div>
        <div class="grid-item">グリッドアイテム5</div>
        <div class="grid-item">グリッドアイテム6</div>
      </div>
      <footer>
        <p>フッターコンテンツ</p>
      </footer>
    </div>
  </body>
</html>

styles.css
※クリックするとコードが表示されます。

CSS
:root {
  --primary-color: #9b59b6;
  --secondary-color: #ecf0f1;
}

body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  background-color: var(--secondary-color);
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

header,
footer {
  background-color: var(--primary-color);
  color: white;
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 5px;
}

.broken-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 20px;
}

.grid-item {
  background-color: white;
  padding: 20px;
  border-radius: 5px;
}

.grid-item:nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}

.grid-item:nth-child(4) {
  grid-column: 3 / 5;
}

h1 {
  margin: 0;
}

index.htmlの解説

HTML
<!DOCTYPE html>
<html lang="ja">
  • <!DOCTYPE html>: HTML5文書であることを宣言
  • <html lang="ja">: HTMLのルート要素、日本語文書であることを指定
HTML
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>ブロークングリッドレイアウト</title>
  <link rel="stylesheet" href="styles.css" />
</head>
  • <meta charset="UTF-8" />: 文字エンコーディングをUTF-8に設定
  • <meta name="viewport" ...>: レスポンシブデザインのためのビューポート設定
  • <title>: ページタイトルの設定
  • <link>: 外部CSSファイルの読み込み
HTML
<body>
  <div class="container">
  • <body>: 表示されるコンテンツの開始
  • <div class="container">: 全体を包むコンテナ
HTML
    <header>
      <h1>ブロークングリッドレイアウト</h1>
    </header>
  • <header>: ページのヘッダー部分
  • <h1>: ページの主要タイトル
HTML
    <div class="broken-grid">
      <div class="grid-item">大きなグリッドアイテム</div>
      <div class="grid-item">グリッドアイテム2</div>
      <div class="grid-item">グリッドアイテム3</div>
      <div class="grid-item">幅広グリッドアイテム</div>
      <div class="grid-item">グリッドアイテム5</div>
      <div class="grid-item">グリッドアイテム6</div>
    </div>
  • <div class="broken-grid">: ブロークングリッドコンテナ
  • <div class="grid-item">: グリッドアイテム(6つ)
HTML
    <footer>
      <p>フッターコンテンツ</p>
    </footer>
  </div>
</body>
</html>
  • <footer>: ページのフッター部分
  • 閉じタグ: </div>, </body>, </html>で各要素を適切に閉じる

このHTMLはブロークングリッドレイアウトの基本的な構造を提供していますが、実際のレイアウトはCSSで制御する必要があります。グリッドアイテムの配置や大きさの調整は、CSSのグリッドプロパティを使用して詳細に設定することができます。

styles.cssの解説

CSS
:root {
  /* プライマリーカラー(主要な色)を定義 */
  --primary-color: #9b59b6; /* 紫色 */
  
  /* セカンダリーカラー(背景色)を定義 */
  --secondary-color: #ecf0f1; /* 薄いグレー */
}
  • カスタムプロパティを使用してカラーテーマを定義
  • --primary-color: 主要な色(紫系)
  • --secondary-color: 背景色(薄いグレー)
CSS
body {
  /* フォントファミリーをArialに設定し、サンセリフ体を使用 */
  font-family: Arial, sans-serif;
  
  /* デフォルトのマージンを0にリセット */
  margin: 0;
  
  /* デフォルトのパディングを0にリセット */
  padding: 0;
  
  /* 背景色をセカンダリーカラーに設定 */
  background-color: var(--secondary-color);
}
  • フォントファミリーをArialに設定
  • マージンとパディングをリセット
  • 背景色をセカンダリーカラーに設定
CSS
.container {
  /* 最大幅を1200pxに設定し、それ以上は広がらないようにする */
  max-width: 1200px;
  
  /* 中央揃えのためのマージン設定 */
  margin: 0 auto;
  
  /* 内側の余白を20pxに設定 */
  padding: 20px;
}
  • max-width: 1200px;: コンテンツの最大幅を設定
  • margin: 0 auto;: 中央揃え
CSS
header,
footer {
  /* 背景色をプライマリーカラーに設定 */
  background-color: var(--primary-color);
  
  /* テキストの色を白に設定 */
  color: white;
  
  /* 内側の余白を20pxに設定 */
  padding: 20px;
  
  /* 下部にマージンを20px設定して、次の要素との隙間を作る */
  margin-bottom: 20px;
  
  /* コーナーを丸くするための設定 */
  border-radius: 5px;
}
  • background-color: var(--primary-color);: カスタムプロパティを使用
  • border-radius: 5px;: 角を丸く
CSS
.broken-grid {
  /* グリッドレイアウトを有効化する */
  display: grid;
  
  /* 列数と幅を指定して4列のグリッドを作成する */
  grid-template-columns: repeat(4, 1fr); 
  
  /* 行数と高さを指定して3行のグリッドを作成する */
  grid-template-rows: repeat(3, auto);
  
  /* グリッドアイテム間のスペースを20pxに設定する */
  gap: 20px;
}
  • display: grid;: グリッドレイアウトを有効化
  • grid-template-columns: repeat(4, 1fr);: 4列のグリッドを作成
  • grid-template-rows: repeat(3, auto);: 3行のグリッドを作成
  • gap: 20px;: グリッドアイテム間のスペースを設定
CSS
.grid-item {
  /* 各グリッドアイテムの背景色を白に設定 */
  background-color: white;
  
  /* 内側の余白を20pxに設定 */
  padding: 20px;
  
  /* コーナーを丸くするための設定 */
  border-radius: 5px;
}

/* 最初のグリッドアイテムのサイズ変更(2列×2行)*/
.grid-item:nth-child(1) {
   grid-column: 1 / 3; /* 左から2列目まで占有 */
   grid-row: 1 / 3;    /* 上から2行目まで占有 */
}

/* 第4番目のグリッドアイテムのサイズ変更(横2列)*/
.grid-item:nth-child(4) {
   grid-column: 3 / 5; /* 左から3列目から右端まで占有 */
}
  • 各グリッドアイテムの背景色、パディング、角丸を設定
  • 1番目のアイテムを2×2のセルに拡大
  • 4番目のアイテムを横2列に拡大
  • grid-column: 1 / 3: このプロパティは、アイテムが占める列の範囲を指定します。
    • 1: 左端の列線(開始位置)
    • 3: 3番目の列線(終了位置)
    • 結果として、アイテムは左から2列分のスペースを占有します。
  • grid-row: 1 / 3: このプロパティは、アイテムが占める行の範囲を指定します。
    • 1: 上端の行線(開始位置)
    • 3: 3番目の行線(終了位置)
    • 結果として、アイテムは上から2行分のスペースを占有します。
  • rid-column: 3 / 5: このプロパティは、アイテムが占める列の範囲を指定します。
    • 3: 3番目の列線(開始位置)
    • 5: 5番目の列線(終了位置)
    • 結果として、アイテムは3列目から始まり、2列分のスペースを占有します。
CSS
h1 {
   /* h1要素の上部マージンを削除して、隙間ができないようにする */
   margin: 0; 
}
  • h1要素のマージンを削除

このCSSは基本的なブロークングリッドレイアウトを提供していますが、より複雑なレイアウトやレスポンシブデザインを実現するには、メディアクエリやより詳細なグリッド設定が必要になる場合があります。

まとめ

  • ブロークングリッドは、規則的なグリッドを意図的に崩すデザイン手法です。
  • 主な特徴は視覚的な興味の創出オリジナリティの表現です。
  • クリエイティブな業界、ポートフォリオサイト、アート関連のウェブサイトに特に適しています
  • メリットにはユニークな表現注目を集めるデザイン重要な要素の強調があります。
  • デメリットとしては、過度な使用によるユーザビリティの低下デザインの難しさが挙げられます。
  • 実装にはCSS GridFlexboxを活用し、要素の重なりずらしを効果的に使用します。

ブロークングリッドレイアウトは、その独創性と視覚的インパクトにより、現代のWebデザインに新たな可能性をもたらします。適切に実装することで、ユーザーの注目を集めサイトの個性を際立たせることができます。

重要なポイントは、完全な無秩序を避け一定の秩序を保ちながら部分的に崩すことです。情報をまとめ、余白を活かすことで、効果的なブロークングリッドデザインが実現できます。

コメント

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