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 デザイナーです。 デザイン・マークアップ・映像制作など幅広く担当しています。

関連記事

プログラミング

SharePointで作成したサイトを別環境にコピーする方法(サイトテンプレートの使い方)

SharePointのモダンUIで作成したサイトは、サイトテンプレートを生成すると簡単に複製できます。 テスト環境で作成したサイトを本番環境に移行する場合などに使えるかもしれません。 目次1 前提条件1.1 権限の確認2 手順3 1.カスタムスクリプトを許可する4 2.サイトをテンプレートとして保存5 3.新規サイトを作成6 4.テンプレートを適用 前提条件 SharePoint Online モダンUI チームサイト サイトテンプレートがサポートされているのはチームサイトの […]

プログラミング

SharePoint Framework(SPFx)で作ったカスタムアプリをサイトに追加・公開する方法

SharePointのモダンUI向けに作成したSharePoint Framework(以降SPFx)の独自アプリを、SharePoint Onlineに展開するには、パッケージ化してサイトに追加する必要があります。 今回はサイトに適用するまでの方法と手順をまとめました。 目次1 前提条件1.1 権限の確認2 1.パッケージ化3 2.App Catalogからアプリをアップロード、動作を確認3.1 App Catalogにアクセスし、.sppkgファイルをアップロード3.2 […]

プログラミング

SharePointのモダンUIでカスタムCSS・カスタムJSを適用する方法

旧来のクラシックUIを使用していた頃はWEBパーツにカスタムCSSを組み込むことができましたが、モダンUIではCSSやJSの使用が許可されていません。 SharePointのモダンUIで自由にカスタムCSS・JSを使いたい場合は、SharePoint Framework(以降SPFx)という技術を使用する必要があります。 SPFxとは、ざっくりいうとSharePointの独自アプリを作成し、適用するものです。 目次1 前提条件2 SPFxを使用したカスタムCSS・JS構築の手 […]

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

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

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

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