0
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?

【フロントエンド1000本ノック】0056_grid-columnとgrid-rowプロパティ(ショートハンド含む)を使い、特定のグリッドアイテムを複数のセルにまたがって配置させよ。

Posted at

この記事は人間が書きました

はじめに

こんにちは、赤神です!
この記事は、「1000本ノック」という取り組みの中のフロントエンドのための課題の1つです。

「1000本ノックとは」
https://qiita.com/sora_akagami/items/c8da4296dea3823376ca

Gridレイアウトと複数のセルにまたがった配置

Gridレイアウトでは、アイテムを配置するための目に見えない線(グリッドライン)が存在します。3列のグリッドの場合、垂直のグリッドラインは4本あります(1から4まで)。

個々のグリッドアイテムに grid-columngrid-row プロパティを指定することで、「どの線からどの線までを占有するか」を指示し、アイテムを自由に配置したり、複数のセルに跨らせたりすることができます。

  • grid-column-start:開始する垂直線の番号
  • grid-column-end:終了する垂直線の番号
  • grid-row-start:開始する水平線の番号
  • grid-row-end:終了する水平線の番号

これらは、grid-column: start / end; のようにショートハンドで書くことが一般的です。

例えば、次のようになります。

  • grid-column: 1 / 3;
    • 1番目の垂直線から3番目の垂直線まで
    • つまり、2つの列を占有
  • grid-row: 2 / 4;
    • 2番目の水平線から4番目の水平線まで
    • つまり、2つの行を占有

また、span キーワードを使うと、「いくつかのセルにまたがるか」を直感的に指定できます。

grid-column: span 2; ならば、現在の位置から2つの列にまたがる。

作成したコード

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>フロントエンド1000本ノック 0056</title>
</head>
<body style="display: flex; flex-direction: column; min-height: 100vh;">

  <header style="display: flex; justify-content: space-between; align-items: center;">
    <div>
      <a href="/">
        <img src="img/logo.png" alt="フロントエンド1000本ノック">
      </a>
    </div>

    <nav>
      <ul style="display: flex; list-style: none; gap: 20px;">
        <li><a href="#">ホーム</a></li>
        <li><a href="#">会社概要</a></li>
        <li><a href="#">お問い合わせ</a></li>
      </ul>
    </nav>
  </header>

  <div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;">
    <div style="grid-column: 1 / 4;">1</div>
    <div style="grid-row: 2 / 4;">2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
  </div>

  <footer>
    <p>Copyright 2025</p>
    <p>フロントエンド1000本ノック</p>
  </footer>

</body>
</html>
0
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
0
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?