Search

Container (is--container)

is--container is a class that declares container-type to enable container queries.

CSS

// コンテナ定義 + 併用クラスで内部のコンテンツ幅を制御する。
.is--container {
  container-type: inline-size;
}

// 最外側の is--container 直下の子要素にだけ --sz--bleed を 100cqi で上書きする。
//   Memo: .is--container:not(:where(.is--container .is--container)) を使ってもいいがわかりにくいので、以下のようにしている
.is--container > * {
  --sz--bleed: 100cqi;
}
.is--container.has--gutter > * {
  // has--gutterがある場合はその分を加算
  --sz--bleed: calc(100cqi + var(--gutter-size) * 2);
}
.is--container .is--container > * {
  // --sz--bleed は一番先祖(最外側) の is--container で値をセットしたらあとは引き継ぐだけ
  --sz--bleed: inherit;
}

Using with Lism Components

It can be applied via the isContainer property on any component.

PropertyOutput
isContaineris--container

A dedicated <Container> component is also available as an alias for <Lism isContainer>.

Import

import { Container } from 'lism-css/react';

Usage

Example

Example
This Box switches its padding based on the container size.
Resize
<Container isWrapper="s" p="20">
<Box bd p={['10', '30']}>
This Box switches its padding based on the container size.
</Box>
</Container>

© Lism CSS. All rights reserved.