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

JavaScriptのalignContentプロパティでフレックスコンテナ内のアイテム配置を設定する方法

JavaScriptでは、alignContentプロパティを使用することで、フレックスコンテナ内のアイテム同士の配置(整列)を設定できます。このプロパティは、アイテムがコンテナ内の利用可能なスペースをすべて使い切っていない場合に、交差軸方向の余白をどのように分配するかを制御するものです。

alignContentプロパティの主な値

  • space-between:最初と最後のアイテムを両端に配置し、残りの余白をアイテム間に均等に分配します。
  • space-around:各アイテムの前後に均等なスペースを配置します。
  • center:アイテムを中央にまとめて配置します。
  • flex-start:アイテムをコンテナの先頭に寄せて配置します。
  • flex-end:アイテムをコンテナの末尾に寄せて配置します。
  • stretch:アイテムを伸ばしてコンテナ全体に広げます。

サンプルコード

以下のコードを実行し、ボタンをクリックすると、alignContentプロパティが「space-between」に変更され、アイテムの配置が動的に変化します。

<!DOCTYPE html>
<html>
   <head>
      <style>
         #box {
            border: 1px solid #000000;
            width: 240px;
            height: 150px;
            flex-flow: row wrap;
            align-content: space-around;
            display: flex;
         }
         #box div {
            height: 80px;
            width: 80px;
         }
      </style>
   </head>

   <body>
      <div id = "box">
         <div style = "background-color:orange;" ID = "myID1">DIV1</div>
         <div style = "background-color:blue;" id = "myID2">DIV2</div>
         <div style = "background-color:yellow;" id = "myID3">DIV3</div>
      </div>
      <button onclick="display()"> Set </button>
      <script>
         function display() {
            document.getElementById("box").style.alignContent = "space-between";
         }
      </script>
   </body>
</html>

コードの解説

このサンプルでは、idが「box」のフレックスコンテナに対して初期状態でalign-content: space-around;が適用されています。ボタンをクリックするとdisplay()関数が呼び出され、JavaScriptのstyle.alignContentによって値が「space-between」に変更されます。その結果、3つのカラフルなDIV要素が上下の端に寄り、中間の余白が均等に分配される配置へと切り替わります。

なお、alignContentプロパティが効果を発揮するのは、フレックスコンテナの高さに余裕があり、かつflex-wrapなどで複数行にわたるレイアウトになっている場合です。単一行のレイアウトでは代わりにalignItemsプロパティを使用してください。

  1. JavaScriptでテキストの文字間隔(レタースペーシング)を設定する方法

    文字間隔の設定には「letterSpacing」プロパティを使うJavaScriptでテキストの文字と文字の間隔を調整するには、styleオブジェクトのletterSpacingプロパティを使用します。このプロパティはCSSのletter-spacingに対応しており、「px」や「em」、「pt」などの長さの単位で文字間のスペースを自由に指定できます。値には正の数値を指定すれば文字間が広くなり、負の数値を指定すれば狭くなります。また、「normal」を設定すればデフォルトの間隔に戻すことも可能です。サンプルコード以下のコードでは、ボタンをクリックするとdisplay()関数が呼び出され、idが

  2. CSS Flexboxのjustify-contentプロパティでフレックスアイテムを水平方向に整列する方法

    justify-contentプロパティとはFlexboxレイアウトでは、フレックスアイテムが主軸(メイン軸)上のすべての利用可能なスペースを使い切らない場合があります。このようなとき、justify-contentプロパティを使用すると、余ったスペースの配分方法を指定し、アイテムを水平方向に思いどおりに整列させることができます。justify-contentプロパティには、主に以下のような値を指定できます。flex-start:アイテムを主軸の始端(デフォルトでは左側)に寄せて配置center:アイテムを中央にまとめて配置flex-end:アイテムを主軸の終端(右側)に寄せて配置space-