メインコンテンツまでスキップ

リッチテキスト HTML の仕様

Next Design のリッチテキストフィールドには複数の書式フォーマットの値を設定でき、 UI に表示する書式付きのデータは HTML 形式で格納されます。 しかしながら、 HTML の仕様は多様かつ複雑であるため、リッチテキストフィールドで扱う HTML には一定の制限があります。

リッチテキスト関連の API で HTML 形式の値を正しく設定するには、以下に示す仕様に準拠した HTML を用いてください。
リッチテキストを UI で編集した後に API で HTML の値を取得すると、本仕様の範囲を超えた HTML 4.01 準拠の値が返される場合があります。

参照

HTML の全体構造

以下がリッチテキスト HTML の全体構造です。 Next Design のリッチテキストで扱える要素や属性の関係性を示します。

全体構造図

以下からは、各要素が持つ属性の詳細について説明します。

リッチテキスト HTML

リッチテキスト HTML は <html> タグと対応しています。

属性名キー多重度値域備考
ヘッダ-0..1ヘッダヘッダの中身は空とします。
スタイルを指定したい場合は、個別の HTML 要素に対して指定してください。
ボディ-1ボディ-

ボディ

ボディは <body> タグと対応しています。

属性名キー多重度値域備考
ルート要素-1..*段落
リスト
テーブル
-

段落

段落は <p> タグと対応しています。

属性名キー多重度値域備考
段落要素-1..*テキストコンテナ
画像
-
スタイルstyle0..1CSS 形式の文字列-

設定可能なスタイル

設定項目キー多重度値域備考
マージンmargin0..1px/pt単位付きの数値px単位で設定した場合、pt単位に変換されます。
行の高さline-height0..1単位なしの数値-
水平方向の配置text-align0..1left
center
right
justify
-
字下げの幅text-indent0..1px/pt単位付きの数値px単位で設定した場合、pt単位に変換されます。

テキストコンテナ

テキストコンテナは <span> タグと対応しています。

属性名キー多重度値域備考
テキストコンテナ要素-0..*テキスト装飾
改行
リンク
-
テキスト-0..1文字列-
スタイルstyle0..1CSS 形式の文字列-

設定可能なスタイル

設定項目キー多重度値域備考
フォントfont-family0..1単一のフォントファミリー-
フォントサイズfont-size0..1px/pt単位付きの数値px単位で設定した場合、pt単位に変換されます。
テキスト装飾(打消し線)text-decoration0..1line-through-
背景色background-color0..1RGB16進表記色
色キーワード1
-
文字色color0..1RGB16進表記色
色キーワード1
-

テキスト装飾

テキスト装飾は次のいずれかのタグと対応しています。

  • 上付き文字:<sup>
  • 下付き文字:<sub>
  • 下線:<u>
  • 斜体:<i>
  • 太字:<b>
属性名キー多重度値域備考
テキスト-1文字列-

画像

画像は <img> タグと対応しています。

属性名キー多重度値域備考
ソースsrc1URL
ローカル絶対パス
base64
-
width0..1単位なしの数値画像固有の幅です。
高さheight0..1単位なしの数値画像固有の高さです。

base64

base64は data:image/{画像形式};base64,{Base64文字列} の書式でソースを指定します。

属性名キー多重度値域備考
画像形式-1png
jpeg
bmp
-

リスト

リストは次のいずれかのタグと対応しています。

  • 順序なしリスト:<ul>
  • 順序付きリスト:<ol>
属性名キー多重度値域備考
リスト項目li1..*リスト項目-

リスト項目

リスト項目は <li> タグと対応しています。

属性名キー多重度値域備考
リスト-0..*リスト-
テキストコンテナ-1..*テキストコンテナ-
スタイルstyle0..1CSS 形式の文字列-

設定可能なスタイル

設定項目キー多重度値域備考
行の高さline-height0..1単位なしの数値-

テーブル

テーブルは <table><tbody> タグと対応しています。

属性名キー多重度値域備考
テーブル行-1..*テーブル行-
スタイルstyle0..1CSS 形式の文字列-

設定可能なスタイル

設定項目キー多重度値域備考
width0..1px/pt単位付きの数値テーブルセルに幅が設定されている場合は、その設定値を無視し、こちらの設定値を適用します。
px単位で設定した場合、pt単位に変換されます。

テーブル行

テーブル行は <tr> タグと対応しています。

属性名キー多重度値域備考
テーブルセル-1..*テーブルセル-
スタイルstyle0..1CSS 形式の文字列-

設定可能なスタイル

設定項目キー多重度値域備考
高さheight0..1px/pt単位付きの数値px単位で設定した場合、pt単位に変換されます。

テーブルセル

テーブルセルは <td> タグと対応しています。

属性名キー多重度値域備考
ブロック要素-0..*段落
リスト
-
列範囲colspan0..1整数水平方向にセルを結合する数です。
行範囲rowspan0..1整数垂直方向にセルを結合する数です。
垂直方向の配置valign0..1top
middle
bottom
-
スタイルstyle0..1CSS 形式の文字列-

設定可能なスタイル

設定項目キー多重度値域備考
上側の境界線border-top0..1幅:px/pt単位付きの数値
形状:none, dotted, dashed, solid, double
色:RGB16進表記, 色キーワード1
3つの値(幅・形状・色)は任意の順序で指定可能ですが、全ての値を設定する必要があります。
幅をpx単位で設定した場合、pt単位に変換されます。
左側の境界線border-left0..1幅:px/pt単位付きの数値
形状:none, dotted, dashed, solid, double
色:RGB16進表記, 色キーワード1
3つの値(幅・形状・色)は任意の順序で指定可能ですが、全ての値を設定する必要があります。
幅をpx単位で設定した場合、pt単位に変換されます。
下側の境界線border-bottom0..1幅:px/pt単位付きの数値
形状:none, dotted, dashed, solid, double
色:RGB16進表記, 色キーワード1
3つの値(幅・形状・色)は任意の順序で指定可能ですが、全ての値を設定する必要があります。
幅をpx単位で設定した場合、pt単位に変換されます。
右側の境界線border-right0..1幅:px/pt単位付きの数値
形状:none, dotted, dashed, solid, double
色:RGB16進表記, 色キーワード1
3つの値(幅・形状・色)は任意の順序で指定可能ですが、全ての値を設定する必要があります。
幅をpx単位で設定した場合、pt単位に変換されます。
パディングpadding0..1px/pt単位付きの数値4つの値(上・右・下・左)を指定する必要があります。
px単位で設定した場合、pt単位に変換されます。
背景色background-color0..1RGB16進表記色
色キーワード1
-
width0..1px/pt単位付きの数値テーブルの幅が設定されている場合は、その設定値を適用し、こちらの設定値は無視します。
px単位で設定した場合、pt単位に変換されます。

リンク

リンクは <a> タグと対応しています。

属性名キー多重度値域備考
テキスト-1文字列-
URLhref1文字列-

Footnotes

  1. 設定したい色を "red" などのキーワードで指定できます。 CSS Colors Level 3 まで対応しています。 2 3 4 5 6 7