最初から付いているスタイル
Lism CSS を読み込むと最初から付く Reset CSS と、見出し・リンク・リスト・表・フォームなど HTML の要素ごとの基本のスタイル、調整用の CSS 変数をまとめます。
Lism CSS を読み込むと、クラスを何も付けなくても、HTML の要素にいくつかのスタイルが付きます。ブラウザごとの違いをそろえる Reset CSS と、見出しやリンクなどの基本のスタイルです。どちらも lism-base といういちばん弱いレイヤーに入っているので、クラスを付ければかんたんに上書きできます(CSS のレイヤーと強さの順番)。
Reset CSS#
ブラウザは、何も指定しなくても、要素ごとに少しずつ見た目を持っています。この見た目はブラウザによって違うことがあります。Reset CSS は、そのくせをそろえるための CSS です。
Lism の Reset CSS は、lism-base の中の reset という段に入っています。考え方は次のとおりです。
- ブラウザの見た目は、なるべくそのまま生かす
- レイアウトが崩れるのを防ぎ、だれでも使いやすい最低限の形にする
- 文書の組み立てが分かりにくくなるような消し方はしない
中身はとても少なく、必要なところだけです。主なものを表にします。
| 対象 | していること |
|---|---|
すべての要素と ::before・::after |
box-sizing: border-box(枠線と内側の余白を幅にふくめる) |
dialog 以外のすべての要素 |
外側の余白(margin)を 0 にする |
html |
iPhone などで横向きにしたときの文字の自動拡大を止める |
html |
word-break: normal にし、日本語の行の折り返しを line-break: strict にし、長い英単語はどこでも折り返す |
html |
はみ出した要素で横スクロールが出ないよう overflow-x: clip |
html |
モーダル(:modal[open])が開いているあいだは、ページ全体に overflow: clip が付き、後ろのページがスクロールしない(hidden でなく clip にするのは、sticky の要素を崩さないため) |
body |
display: flow-root、overflow: inherit、画面の高さぶんの min-height: 100dvh |
abbr[title] |
点線の下線を付ける(Safari でも出るように) |
pre |
はみ出したら横スクロールにし、幅は 100% まで |
menu と、クラスを持つ ul・ol |
行頭の点と左の余白を消す |
svg・img・video・audio・iframe・object・canvas |
下にすきまが出ないよう vertical-align: middle、幅は 100% まで |
img・video |
高さを auto にして、縦横の比を保つ |
iframe |
枠線を消す |
input・button・textarea・select など |
文字の形・色・字間を親から受け継ぐ。文字の大きさは 16px 以上(iPhone で入力時に画面が拡大しないように) |
fieldset |
中身がはみ出さないよう min-inline-size: 0 |
textarea |
縦方向にだけ大きさを変えられる。幅は 100% まで |
label[for]・select・summary・ラジオ・チェックボックス |
マウスの形を指のマークにする |
ボタンの仲間(button・[role='tab'] など) |
指のマークにし、ダブルタップでの拡大を止める |
:disabled |
マウスの形を「使えない」マークにする |
[hidden='until-found'] |
ほかの要素の上にかぶらないよう z-index: -1 |
行頭の点が消えるのは、クラスを持つ ul・ol だけです。クラスの無いリストは、ブラウザのいつもの見た目のまま使えます。
reset.css だけを読み込む#
Lism の Reset CSS だけを使いたいときは、reset.css を読み込みます。
import 'lism-css/reset.css';
CDN(ネット上に置かれたファイル)から読むときは、次のように書きます。
<link href="https://cdn.jsdelivr.net/npm/lism-css@1.0.1/dist/css/reset.css" rel="stylesheet" />
基本のスタイル#
Reset CSS のほかに、lism-base の段では、:root に用意したトークン(決まった段階の値)を使って、HTML の要素に最初の見た目を付けています。使われているトークンは デザイントークン で説明しています。
body#
| プロパティ | 値 | 意味 |
|---|---|---|
--hl |
var(--hl--base) |
行の上下の余白の量 |
font-size |
var(--fz--base) |
文字の大きさ |
font-family |
var(--ff--base) |
文字の形(フォント) |
letter-spacing |
var(--lts--base) |
字と字のあいだ |
background-color |
var(--base) |
背景の色 |
color |
var(--text) |
文字の色 |
text-underline-offset |
0.125em |
下線と文字のあいだ |
tab-size |
4 |
タブ文字の幅 |
--hl には、ハーフレディング(1行の上と下に付く余白の片側ぶん)の量が入ります。body に入れた値が、中のすべての要素に受け継がれます。
すべての要素の行の高さ#
すべての要素に、次のスタイルが付いています。
* {
line-height: var(--lh, calc(1em + var(--hl) * 2));
}
文字の高さ(だいたい 1em)の上と下に、--hl ぶんの余白を足して行の高さを決めます。--lh に値があれば、そちらが使われます。こうすると、文字が大きくなっても行のすきまが広がりすぎず、見出しから本文まで、縦の並びの調子(リズム)がそろいます。くわしくは 行の高さ(ハーフレディング)。
見出し(h1〜h6)#
| 要素 | 文字の大きさ |
|---|---|
h1 |
var(--fz--3xl) |
h2 |
var(--fz--2xl) |
h3 |
var(--fz--xl) |
h4 |
var(--fz--l) |
h5・h6 |
var(--fz--m) |
見出しの文字の形と太さは、変数で一度に変えられます。
| 変数 | 入れないときの値 | 何を変える? |
|---|---|---|
--headings-ff |
inherit(親と同じ) |
すべての見出しのフォント |
--headings-fw |
var(--fw--bold) |
すべての見出しの太さ |
表示例
h2 の見出し
h3 の見出し
h4 の見出し
h5 の見出し
<div class="l--stack -g:10">
<h2>h2 の見出し</h2>
<h3>h3 の見出し</h3>
<h4>h4 の見出し</h4>
<h5>h5 の見出し</h5>
</div>
リンク(a)#
| 変数 | 入れないときの値 | 何を変える? |
|---|---|---|
--link-c |
var(--link) |
リンクの文字の色 |
--link-td |
underline |
下線などの飾り(text-decoration) |
表示例
<p><a href="#">ふつうのリンク</a> と <a href="#" class="-fz:l -fw:700" style="--link-c: var(--red); --link-td: none">色を変えて下線を消したリンク</a></p>
文の中の要素#
| 要素 | 付くスタイル |
|---|---|
small |
文字を var(--fz--xs) に小さくし、--hl も var(--hl--s) に小さくする |
b・strong |
太さを var(--fw--bold) にする |
sup・sub |
文字を 80% に小さくし、--hl を var(--hl--xs) にする |
code・kbd・var・samp |
フォントを var(--ff--mono)(文字幅のそろったフォント)にし、字間をふつうに戻す |
small・sup・sub は、文字が小さいぶん、行の上下の余白も小さめにしてつり合いをとっています。
表示例
ふつうの文字 small の文字 strong の文字 x2 code
<p>ふつうの文字 <small>small の文字</small> <strong>strong の文字</strong> x<sup>2</sup> <code>code</code></p>
引用#
| 要素 | 付くスタイル |
|---|---|
q・blockquote |
斜めの文字(イタリック) |
blockquote |
背景色 var(--base-2) と、内側の余白 var(--s20) |
blockquote の中の、続く p |
上に var(--s10) のすきま |
表示例
引用の1段落め。
引用の2段落め。
<blockquote>
<p>引用の1段落め。</p>
<p>引用の2段落め。</p>
</blockquote>
そのほかの文字の要素#
caption(表の題)と figcaption(図の説明)は、文字が var(--fz--s) で少し小さくなります。
区切り(hr)#
hr は、ブラウザの線を消してから、上側(block-start)に 1px の線を引きます。線の色は var(--divider) です。
表示例
上の文章
下の文章
<div>
<p>上の文章</p>
<hr>
<p>下の文章</p>
</div>
リスト(ul・ol)#
クラスを1つも持たないリストには、ブラウザのいつもの見た目(行頭の点や番号)がもどります。左の余白は変数で変えられます。
| 変数 | 入れないときの値 | 何を変える? |
|---|---|---|
--list-ps |
1.75em |
リストの左の余白(padding-inline-start) |
<ul class="-fz:l"> のように Property Class を付けたリストは、クラスを持つので点が消えたままです。点を残したいときは set--revert も付けます(Set Class(set--*))。
表示例
- クラスの無いリスト
- 点が付く
- -fz:l と set--revert
- 点が付く
<div class="l--stack -g:20">
<ul>
<li>クラスの無いリスト</li>
<li>点が付く</li>
</ul>
<ul class="-fz:l set--revert">
<li>-fz:l と set--revert</li>
<li>点が付く</li>
</ul>
</div>
定義リスト(dl)#
dt(言葉)は太字になります。dd(説明)のあとに次の dt が来ると、そのあいだに var(--s20) のすきまが空き、項目の区切りが分かりやすくなります。
表示例
- 言葉1
- 言葉1の説明
- 言葉2
- 言葉2の説明
<dl>
<dt>言葉1</dt>
<dd>言葉1の説明</dd>
<dt>言葉2</dt>
<dd>言葉2の説明</dd>
</dl>
表(table)#
td・th(表のマス)の内側の余白は、変数で変えられます。
| 変数 | 入れないときの値 | 何を変える? |
|---|---|---|
--cells-p |
0.625em 0.875em |
マスの内側の余白 |
フォームの部品#
input(範囲スライダー type="range" を除く)・button・textarea・select・ファイル選択のボタンには、そろった見た目が付きます。
| 変数 | 入れないときの値 | 何を変える? |
|---|---|---|
--controls-bgc |
var(--base-2) |
背景の色 |
--controls-bdc |
var(--divider) |
枠線の色(枠線は solid 1px) |
--controls-p |
0.25em 0.5em |
内側の余白 |
表示例
<div class="l--cluster -g:10">
<input type="text" placeholder="入力欄">
<button type="button">ボタン</button>
</div>
角の丸みは付けていません(ブラウザの見た目のまま)。サイト全体でそろえたいときは、それぞれの要素に border-radius を自分で書きます。
そのほか#
| 対象 | 付くスタイル |
|---|---|
:disabled(使えない状態の部品) |
不透明さを var(--o--pp) にして薄く見せる |
:focus-visible(キーボードで選んだときの枠) |
枠と要素のすきまを --focus-offset で変えられる(入れないときは 0px) |
調整に使える CSS 変数の一覧#
| 変数 | 入れないときの値 | 何を変える? |
|---|---|---|
--headings-ff |
inherit |
見出しのフォント |
--headings-fw |
var(--fw--bold) |
見出しの太さ |
--link-c |
var(--link) |
リンクの色 |
--link-td |
underline |
リンクの下線 |
--list-ps |
1.75em |
リストの左の余白 |
--cells-p |
0.625em 0.875em |
表のマスの内側の余白 |
--controls-bgc |
var(--base-2) |
フォームの背景の色 |
--controls-bdc |
var(--divider) |
フォームの枠線の色 |
--controls-p |
0.25em 0.5em |
フォームの内側の余白 |
--focus-offset |
0px |
フォーカスの枠のすきま |
関連するページ#
公式ドキュメント
2026年10月5日時点の内容(lism-css 1.0.1・@lism-css/ui 0.40.1)をもとに、やさしい日本語でまとめています。