CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSグリッドで列のデフォルトサイズを設定する方法|grid-auto-columnsの使い方

CSSグリッドレイアウトでは、grid-auto-columns プロパティを使うことで、暗黙的に生成される列(明示的に定義されていない列)に対して、デフォルトのサイズを設定できます。

通常、grid-template-columns で明示的に列を定義しなかった場合に自動生成される列は auto サイズになりますが、このプロパティを指定すれば、そのような列にも一律の幅を適用できます。

以下のコード例を実行して、grid-auto-columns プロパティの動作を確認してみましょう。

コード例

<!DOCTYPE html>
<html>
   <head>
      <style>
         .container {
            display: grid;
            grid-auto-columns: 100px;
            grid-gap: 10px;
            background-color: blue;
            padding: 10px;
         }
         .container>div {
            background-color: #E5E7E9;
            text-align: center;
            padding:10px 0;
            font-size: 20px;
         }
      </style>
   </head>
   <body>
      <div class = "container">
         <div class = "ele1">1</div>
         <div class = "ele2">2</div>
         <div class = "ele3">3</div>
         <div class = "ele4">4</div>
         <div class = "ele5">5</div>
         <div class = "ele6">6</div>
      </div>
   </body>
</html>

解説

上記の例では、コンテナに display: grid を指定し、grid-auto-columns: 100px によって暗黙的な列の幅を100ピクセルに固定しています。また、grid-gap: 10px により、各アイテム間に10ピクセルの余白が設けられます。

背景色を青にしたコンテナの中に、薄いグレーの6つの要素が配置され、それぞれ指定された幅で整然と並ぶことが確認できます。

主な値の種類

  • auto:コンテンツに応じて自動的にサイズが決まります(初期値)。
  • length(px、emなど):固定の絶対値でサイズを指定します。
  • percentage(%):コンテナの幅に対する割合で指定します。
  • fr:利用可能な空間を比率で分配します。

動的なレイアウトや、アイテム数が事前に確定していない場合でも、grid-auto-columns を活用すれば一貫性のある列幅を維持できるため、レスポンシブデザインにも役立ちます。

  1. CSSで4列のレイアウトグリッドを作成する方法

    CSSで4列のレイアウトグリッドを作成するには、各カラムとなる要素に float: left; を指定し、幅を 25% に設定するのが基本的な手法です。これにより、4つの要素が横一列に均等に並びます。以下に具体的なコード例を示します。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> body {

  2. CSS FlexboxでDIV要素を左・中央・右に配置する方法|justify-contentの使い方

    CSSのjustify-contentプロパティを使用すると、フレックスコンテナの主軸方向(デフォルトでは水平方向)に沿って子要素の間や周囲のスペースを分配し、柔軟に配置を制御できます。本記事では、複数のDIV要素を「左・中央・右」のように分散配置する方法を、具体的なコード例と表示結果とともにわかりやすく解説します。 justify-contentプロパティの構文 justify-contentは、display: flex;を指定した親要素(フレックスコンテナ)に対して設定します。基本の構文は以下のとおりです。 セレクタ {     display: