Lism Tips

最初から付いているスタイル

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 を読み込みます。

js
import 'lism-css/reset.css';

CDN(ネット上に置かれたファイル)から読むときは、次のように書きます。

html
<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 に入れた値が、中のすべての要素に受け継がれます。

すべての要素の行の高さ#

すべての要素に、次のスタイルが付いています。

css
* {
  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 の見出し
html
<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)

表示例

html
<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

html
<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段落め。

html
<blockquote>
  <p>引用の1段落め。</p>
  <p>引用の2段落め。</p>
</blockquote>

そのほかの文字の要素#

caption(表の題)と figcaption(図の説明)は、文字が var(--fz--s) で少し小さくなります。

区切り(hr)#

hr は、ブラウザの線を消してから、上側(block-start)に 1px の線を引きます。線の色は var(--divider) です。

表示例

上の文章


下の文章

html
<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
  • 点が付く
html
<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の説明
html
<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 内側の余白

表示例

html
<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)をもとに、やさしい日本語でまとめています。

ページの一覧