⚠️ Still in β. Lightモードで御覧ください。
Docs
Props
Grid Props

grid Props

LismでGridレイアウトを使用する方法は大きく分けて2パターンあります。

  1. 専用の<Grid>(.l--grid)モジュール、またはその派生系モジュール(ColumnsTileGridなど)を使う。
  2. Lismコンポーネントにd="grid"を指定して単純にdisplay:gridを適用する。(.-d:gクラスが出力されます。)

DEMO

<Grid>を使う例

A

B

C

リサイズ可能エリアです ↑
<Grid gap={20}>
	<p>A</p>
	<p>B</p>
	<p>C</p>
</Grid>

Gridオプションの指定方法について

Lismコンポーネントでは grid Propにオブジェクト形式でflexの各オプションを指定でき、<Grid>系コンポーネントではgridを使わずに直接コンポーネントにPropsを指定できます。

<Grid>, <Columns>, <RatioGrid>

  • areas: grid-template-areas の値を指定できます。
  • columns: grid-template-columns
  • rows: grid-template-rows
  • gap: gap の値を指定できます。
  • rowGap: row-gap の値を指定できます。
  • columnGap: column-gap の値を指定できます。
  • ai: align-items の値を指定できます。
  • ac: align-content の値を指定できます。
  • ji: justify-items の値を指定できます。
  • jc: justify-content の値を指定できます。
<Grid>コンポーネント

コンテンツ

コンテンツ

コンテンツ

リサイズ可能エリアです ↑
<Grid columns="1fr 1fr 1fr" gap={20}>
	...
</Grid>
<Box>gridを指定する

コンテンツ

コンテンツ

コンテンツ

リサイズ可能エリアです ↑
<Box d="grid" grid={{ columns: "1fr 1fr 1fr", gap: 20 }}>
	...
</Box>

GridItemの指定

gridの子要素で使用できるプロパティは、gridItem にオブジェクト形式で指定するか、もしくは、<Item>コンポーネントを使うことでコンポーネントに直接指定できます。

  • ga: grid-area の値を指定できます。
  • gc: grid-column の値を指定できます。
  • gr: grid-row の値を指定できます。
  • alignSelf: align-self の値を指定できます。
  • justifySelf: justify-self の値を指定できます。
  • order
<Item>コンポーネントに指定
コンテンツ
コンテンツ
コンテンツ
リサイズ可能エリアです ↑
<Grid columns="1fr 1fr" gap={20}>
	<Item>コンテンツ</Item>
	<Item>コンテンツ</Item>
	<Item column="span 2">コンテンツ</Item>
</Grid>
gridItemに指定
コンテンツ
コンテンツ
コンテンツ
リサイズ可能エリアです ↑
<Grid columns="1fr 1fr" gap={20}>
	<Box>コンテンツ</Box>
	<Box>コンテンツ</Box>
	<Box gridItem={{ column: "span 2" }}>コンテンツ</Box>
</Grid>

BP対応props

デフォルトで、以下のPropsはBP指定が可能です。

  • ...
...
コンテンツ
コンテンツ
コンテンツ
リサイズ可能エリアです ↑
<Grid
	columns={["1fr 1fr", "1fr 1fr 1fr"]}
	gap={20}
>
	<Item>コンテンツ</Item>
	<Item column={[null, "span 2"]}>コンテンツ</Item>
	<Item column={["span 2", "span 3"]}>コンテンツ</Item>
</Grid>