CSSでkintoneアプリをマテリアルデザインにする
はじめに
この記事では、CSSでkintoneアプリの見た目をデザインする方法を紹介します。
今回は、CSSでマテリアルデザインを表現してみました。
マテリアルデザインとは、UIをカードなどのリアルな物体に見立てることで、直感的な操作性を演出するデザインの手法です。
CSSの基本的な書き方を理解している方が、アプリへ適用する際の参考になるよう、具体的なサンプルコードとその解説を提供します。
また、kintone全体の見た目のカスタマイズを行う場合は
kintone全体のカスタマイズ
を参照してください。
完成イメージ
まずは、完成したデザインのイメージを確認しましょう。
レコード内の詳細情報エリアをカード状にあしらうことで、マテリアルデザインを表現しています。
カスタマイズを適用するアプリ
今回カスタマイズするアプリは、kintoneのアプリストアからインストールできる「案件管理(営業支援パック)」です。
アプリストアから
営業支援パック
を、サンプルデータを含めるにチェックを入れた状態でインストールしてください。
サンプルコード
警告
ここで紹介する例では、kintoneのクラス名を指定しています。
kintoneのアップデートの際に、影響を受けて動かなくなる可能性があります。
注意事項
カスタマイズで使用するソースコードを紹介します。
見た目を変更するためのCSSファイルに加え、DOM操作するためのJavaScriptファイルも作成します。
JavaScript
|
|
CSS
|
|
サンプルコードの解説
サンプルコードの主なポイントについて詳しく説明します。
JavaScriptの主なポイント
まずは、既存のDOMに独自のクラス名を付与しています。
subTableClassに、関連レコード一覧フィールドで自動採番されているクラス名を指定してください。
|
|
たとえばGoogle Chromeでは、次の手順で上記のクラス名を取得します。
レコード詳細画面で開発者ツールを開き、「案件に紐付く活動履歴」のDOMを選択します。
このDOMのソースコードを見ると、クラス名はlabel-○○○○○○○となっています。
このlabel-○○○○○○○に隣接するdivのクラス名value-○○○○○○○が対象になりますので、コピーして利用してください。
以下の部分では、カードのスタイルを適用するためのクラス名を指定しています。
|
|
今回のカスタマイズでは、接頭辞md-が付与されているクラス名にスタイルが適用されます。
標準で付与されているクラス名に変更があった際は、targetDomの値を変更することで、カスタマイズが適用できるようにしています。
次に、以下の記述でカード部分のDOMを追加しています。
標準のDOM構造では、今回のカスタマイズを適用するのが難しいため、標準の<div>内に独自の<div>を追加しています。
|
|
出力されるhtmlは、以下のようなイメージになります。
|
|
上記のような構造にすることで、画面幅の狭いモニターでスクロールバーを出現させるCSSが指定できます。
CSSの主なポイント
カード部分には、以下のようなスタイルを指定します。
|
|
box-shadowプロパティで、要素のフレームに影を付与できます。
カンマで区切ることで、複数の値を設定できます。
たとえば、box-shadow: 2px 0 1px rgba(0, 0, 0, .05);と指定すると、以下のような影を付与できます。
- X軸方向に2pxのオフセット
- Y軸方向に0pxのオフセット
- 1pxのぼかし
- 色が
rgba(0, 0, 0, .05)の影
今回のカスタマイズでは、上下左右4方向に影を付与しています。
注意事項
kintoneのクラス名は変更される可能性があります。
そのため先ほど利用したcontainer-gaiaなどの、kintoneのクラス名を使用することは推奨されていません。
詳細は
kintoneで使われているidやclass属性
を確認してください。
カスタマイズの適用方法
JavaScript、CSSのサンプルコードはそれぞれ以下のような任意のファイル名をつけて保存します。
- material-design.js
- material-design.css
次に、「案件管理(営業支援パック)」アプリの管理画面に移動し、「設定」タブに移動します。
「カスタマイズ/サービス連携」内の「JavaScript / CSSでカスタマイズ」をクリックします。
すると、以下のような画面に移動します。
「PC用のJavaScript / CSSファイル」内の「アップロードして追加」ボタンから先ほどの2つのファイルをアップロードします。
無事、デザインが適用されました。
おわりに
この記事では、kintoneのサンプルアプリ「案件管理(営業支援パック)」をCSSでカスタマイズする方法を紹介しました。
CSSを使ってアプリの見た目を自由に変更することで、より使いやすく、視覚的に魅力的なアプリが作成できます。
ぜひ、他のアプリでも同様のカスタマイズを試してみてください。
このTipsは、2024年10月版kintoneで動作を確認しています。
