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

Grid

コンテンツをGridレイアウトで配置するためのコンポーネントです。

対応するHTML構造
<div class="l--grid">...</div>

より具体的な用途に合わせて Columns, RatioGrid, TileGrid などのコンポーネントも用意していますが、内部ではこのGridを使用しています。

Props

  • 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 の値を指定できます。

Import

import { Grid } from '@loos/lism-core';

DEMO

1列 → 2列 → 幅200pxで3列

Lorem ipsum, dolor sit amet consectetur adipisicing elit.

Unde ratione blanditiis aperiam sed eos assumenda veniam

Voluptatibus voluptates similique quis, accusamus optio cumque praesentium!

Lorem ipsum, dolor sit amet consectetur adipisicing elit.

Unde ratione blanditiis aperiam sed eos assumenda veniam

Voluptatibus voluptates similique quis, accusamus optio cumque praesentium!

リサイズ可能エリアです ↑
<Grid columns={["1fr", "repeat(2, 1fr)", "repeat(3, 200px)"]} jc="center" gap={20}>
	...
</Grid>
Left, Center, Right にエリア分け
L
Center
R
リサイズ可能エリアです ↑
<Grid
	areas={`'L C R'`}
	columns="auto 1fr auto"
	ai="center"
	ji="center"
>
	<Item area="L" px={20} bgc="pale">L</Item>
	<Item area="C" px={20} bgc="pale">Center</Item>
	<Item area="R" px={20} bgc="pale">R</Item>
</Grid>
コンテナサイズでエリア位置を切り替える

Left

Lorem ipsum, dolor sit amet consectetur adipisicing elit.

Unde ratione blanditiis aperiam sed eos assumenda veniam, culpa sint qui enim rerum doloribus quod dolor deleniti?

Right

リサイズ可能エリアです ↑
<Grid
	areas={[
		`'top bottom'
		 'L   R'`,
		`'L  top     R'
		 'L  bottom  R'`,
	]}
	columns={["1fr 1fr", "5em 1fr 5em"]}
	gap={20}
>
	<Item area="L" p={20} bgc="pale">
		Left
	</Item>
	<Item area="A">Lorem ipsum, dolor sit amet consectetur adipisicing elit.</Item>
	<Item area="B">
		Unde ratione blanditiis aperiam sed eos assumenda veniam, culpa sint qui enim rerum
		doloribus quod dolor deleniti?
	</Item>
	<Item area="R" p={20} bgc="pale">
		Right
	</Item>
</Grid>

Grid Item について

Gridの子要素に対するGridオプションを指定する方法は以下のページを参考にしてください。