ボタンのサンプル
にメンテナンス済み
kintone で JavaScript カスタマイズを行う際、多くの場合そのトリガーとしてボタンを使用します。
この記事では、kintone の標準 UI になじむボタンのデザインサンプルを、そのまま使える HTML/CSS とあわせて紹介します。
シンプルな kintone 風ボタン
定義するスタイルを最小限に抑えたシンプルな kintone 風ボタンのサンプルです。
html
<button type="button">ボタン</button>
:root {
--k-primary: 204 70% 53%;
--k-primary-accent: 204 70% 38%;
--k-primary-foreground: 0 0 100%;
--k-border: 192 10% 90%;
}
button {
box-sizing: border-box;
border: 1px solid hsl(var(--k-border));
background-color: hsl(var(--k-primary));
color: hsl(var(--k-primary-foreground));
&:hover,
&:focus {
background-color: hsl(var(--k-primary-accent));
}
min-width: 163px;
padding: 0 1em;
line-height: 3;
cursor: pointer;
outline: none;
}
影と角丸を追加したリッチなボタン
影と角丸を追加したリッチなボタンのサンプルです。
また、transition プロパティを使用して、ボタンのホバー時のアニメーションを追加しています。
html
<button type="button">ボタン</button>
:root {
--k-primary: 204 70% 53%;
--k-primary-accent: 204 70% 38%;
--k-primary-foreground: 0 0 100%;
--k-border: 192 10% 90%;
}
button {
box-sizing: border-box;
border: 0;
background-color: hsl(var(--k-primary));
color: hsl(var(--k-primary-foreground));
transition: all 250ms ease;
min-width: 163px;
padding: 0 1em;
line-height: 3;
cursor: pointer;
outline: none;
border-radius: 4px;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
&:hover,
&:focus {
background-color: hsl(var(--k-primary-accent));
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
}
kintone に設置する際の注意点
- セレクターを限定する: サンプルは
button要素全体にスタイルを当てているため、そのまま CSS カスタマイズに貼り付けると kintone 標準のボタンにも影響します。.my-custom-buttonのようなクラスを付与し、セレクターを限定してください。 - 設置場所: ボタンは
kintone.app.getHeaderMenuSpaceElement()(一覧画面)やkintone.app.record.getHeaderMenuSpaceElement()(レコード詳細画面)で取得できる要素に追加するのが一般的です。 - 二重追加の防止: 一覧画面では、一覧の切り替えやページ遷移のたびに
app.record.index.showイベントが発生するため、ボタンを追加する前に既存のボタンの有無を確認してください。 type="button"の指定: フォーム内に配置した場合に意図せず送信されることを防げます。
#kintone
#JavaScript
#TypeScript