SharePoint リストに書式の変更からJSONで記述してCSSを適用する方法

  • このエントリーをはてなブックマークに追加

SharePointのモダンUIで、リストの書式設定をJSON形式で入力することにより、カスタムCSSを適用してみましょう。
今回は、このようなリンクリストを作成します。



WEBパーツで似たような形を作れますが、細かいCSSが調整できません。リストのWEBパーツとして複数のページで使用すると、一度の修正で全てのページに修正が適用されます。サイト内で共通で使いたいパーツをこのように使用すると便利です。


前提条件

  • SharePoint Online
  • モダンUI
  • リスト

モダンUIのリストにオリジナルのCSSを適用します。ただし、CSSの適用範囲は限定的でそのリストの中のみです。カスタムCSSは各要素に直接style属性での記述となるため、WEBパーツの範囲外には適用できません。headerやナビなどに適用したい場合にはSPFxの構築を検討してください。



使用できるHTMLタグやCSSが限られている

JSON形式の書式設定を使用すると、HTMLタグの構造を自分で設定できますが、使用できるタグやCSSが限られています。

▼DOM要素

  • div
  • span
  • a
  • img
  • svg
  • path
  • button
  • p
  • filepreview

CSSは項目が多いのでこちらを参照してください。

gridレイアウトなども使用できますが、親要素には干渉できず、各アイテムに対してしかstyleが設定できないため、レイアウトが限られてきます。そこも考慮して構築するようにしてください。


リストアイテムを作成

まずはサイトコンテンツページの「新規」メニューから、空白のリストを作成します。(既にあるリストを使ってもOKです)



作成したリストを確認します。空のリストなので、タイトルの欄だけ入っています。
ここに、必要な項目の列を追加していきます。列の名前は半角英字にしてください。



  • Title …タイトル
  • Link …リンク先
  • newTabOpen …新しいタブで開く(target=”_blank”)

今回は、3つのステータスを作成しました。タイトルとリンク先は1行テキストのフィールド、新しいタブで開く判定は、はい/いいえフィールドにしています。これでリストのベースは完了しました。
アイテムを作ってみましょう。



2つアイテムを作成しました。



「ビューの追加」から、カスタムビューを作成します。



作成したビューのメニューから、「現在のビューの書式設定」を選択します。



開いたサイドメニューの「詳細モード」を選択すると、JSON形式での書式設定が表示されます。



ここを編集すると、カスタムレイアウトが適用可能です。
※再度デザインモードに切り替えると設定したデザインが白紙に戻ってしまうので注意してください。



HTMLタグのJSON

こちらがJSONデータで記述した、タグの基本構成です。
divとspanをaタグで囲う構成になっています。divは「>」アイコン、spanにはTitleのテキストが表示されます。
JSON記述では、最後の列のカンマは不要なので注意してください。エラーが出てしまいます。


細かく注釈を入れるとこうです。(注釈ありの状態で入力するとエラーになるので注意)



rowFormatterの5行目から要素の記述が始まります。
elmTypeで要素の種類を指定します。


attributesでタグに付与する属性を設定しています。
[$Link]はリストの列で入力した値が入ります。


[$newTabOpen]のはい/いいえフィールドの分岐はこのようにします。
$newTabOpenがはいの場合⇒_blank、いいえの場合⇒_selfになるという記述です。


このJSONコードを入力し、保存ボタンを押すと、リストの表示が更新されます。リストの画面ではfloatがうまく動作しない場合があるので、一度次のステップに進んでから微調整した方が効率が良いかもしれません。
限られた範囲内ではありますが、ここからタグの構造やstyleを調整すると、さらに表現の幅が広がります。また、独自のclassを付与しているので、SPFxで作成したカスタムCSSからstyleを追加することもできます。



作成したリストをページに挿入する

編集したリストをページに挿入しましょう。
ページを編集モードにし、リストのWEBパーツを挿入します。



作成したリストを接続し、表示する項目を先程作成したビューにします。
このスクショでは「カスタムビュー」になっています。



また、オプションの「コマンドバーを表示しない」「すべて表示ボタンを非表示にする」機能をオンにします。
見出しはデフォルトの機能では削除できません。適用を押すと、表示が変わります。



編集を保存し、公開すると正しく表示されています。



執筆者:森島[ WEBデザイナー ]

8bit デザイナーです。 デザイン・マークアップ・映像制作など幅広く担当しています。

関連記事

WordPress

WordPressの会員限定記事配信プラグイン「Simple Analytics」をリリースしました!

WordPressのイベントカレンダープラグイン「Simple Analytics」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Simple Analyticsとは?2 こんなお悩みにおすすめです3 Simple Analyticsで できること3.1 月別・週別アクセス数3.1.1 確認できる項目3.2 ページ別アクセス数3.3 外部サイトからのアクセス数3.4 地域・デバイス別アクセス数3.5 時間帯別アクセス数3.6 ページ毎の直帰率3. […]

WordPress

WordPressの会員限定記事配信プラグイン「Limited Post Maker」をリリースしました!

WordPressのイベントカレンダープラグイン「Limited Post Maker」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Limited Post Makerとは?2 どんなシーンで使える?3 Limited Post Makerで できること3.1 オウンドメディア、ブログの記事を会員のみに配信3.2 会員登録・ログインフォーム3.3 会員情報の管理4 使い方について5 システム要件6 導入のお問い合わせについて Limited P […]

WordPress

WordPressのフォームプラグイン「Easy Form Maker」をリリースしました!

WordPressのイベントカレンダープラグイン「Easy Form Maker」をリリースしました! ※この記事は2024年10月現在の情報です。 目次1 Easy Form Makerとは?2 どんなシーンで使える?3 Easy Form Makerで できること3.1 お問合せフォームを作成3.2 質問を自由に決めてアンケートフォームを作成3.3 Webサイトへの設置はショートコード1行3.4 問合せやアンケート結果をデータベースへ蓄積3.5 複数のフォームを設置するこ […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。