箇条書きのマークにアイコンが使えるようになりました

リスト(ul)のマーカーの形や色を変える方法について開発者向けの解説も

ホームページの文章の中でも、箇条書きは利用頻度が高めです。
まめわざの箇条書きは、●・○・■などの記号、アラビア数字・ローマ数字、アルファベットのマーク(マーカー)が選べましたが、このたび見出しなどで利用できるアイコンの一部が利用できるようになりました。
さらに、マークの色やサイズも変えられるようになったので多様な表現が可能となりました。
利用例と合わせて以下で紹介します。

選べるようになったマーク(マーカー)と利用例

矢印系

Before

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

After1

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

After2

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

箇条書き内のテキストを大きくしたり色を付けたりしなくても、マークをアイコンにして大きくしたり色を付けたりすることで目立たせることが可能です。
尚、マークの位置は通常は「上付き」ですがアイコンでは一律「中央付き」となります。

チェック系

Before

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

After

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

「チェック項目」のニュアンスを用意に表現できます。ここでも読みやすさを優先して文章はなるべく装飾せず、マークを変えて目立たせています。

○×記号系

Before

  • ABCは可
  • DEFは可
  • GHIは可(非推奨)
  • JKLは不可
  • MNOは不可(対象外)
  • PQRは不可

After

  • ABCは可
  • DEFは可
  • GHIは可(非推奨)
  • JKLは不可
  • MNOは不可(対象外)
  • PQRは不可

可・不可の一覧として箇条書きを利用する際は、○×のアイコンを併用すれば視認性が向上し、意味が伝わりやすくなります。

その他

  • ABCさん
  • DEFさん
  • GHIさん
  • ABCにご注意ください
  • DEFは1度しか利用できません
  • GHIは別料金です

人物のリストの場合にをつかったり、注意事項の説明にを使ったりと、様々な表現が可能です。
この他、                 などのアイコンがご利用いただけます。

箇条書きのマークの変更方法

マークを変更したい箇条書きブロックの「装飾」をクリックします。

左側の「テキスト・マーク」タブをクリックし、マーク・マークの色・マークのサイズ・マークの影を設定します。

利用上の注意点

マークの色・サイズ・影は、アイコンをマークとして利用した場合にのみ動作します。
アイコンをマークとして利用した場合は、中央寄せ時にアイコンが中央寄せになりません。

開発者向け)マーカーの形や色を変える方法

フォント色を白にして、text-shadowで枠や影を付ける白抜きは、リストに不向き

いきなりの余談ですが、今回の仕様拡張の背景話です。
先日、テキストの装飾の1つとして白抜きが利用できるようになりました
しかし、これをリストで利用するとマーカーが見えなくなってしまう不具合がIE以外のブラウザで発生しました。
原因は、「マーカーの色はテキストの色と同一になるが、text-shadowは効かない」というブラウザの仕様によるもので、色が白にはなるものの枠や影が表示されないので背景に埋没してしまうためです。
マーカーの色だけを設定するCSSプロパティは存在しないため、おそらく解決方法はありません。text-shadowを使った白抜き文字をリストに使うのはやめましょう。
IEをベースにCSSコーディングを行っている方は、IEではtext-shadowが効くので一見問題ないように思えるため特に注意が必要です。

マーカーの形や色を変える方法1)list-style-imageにSVGを使う

スマートフォンを中心に高精細ディスプレイが普及し、ギザギザにならないベクター画像をより積極的に使用すべき状況となりました。
HTMLで利用できるベクター画像であるSVGは、URLエンコーディングをしてCSS内に直接記述することが可能です。
list-style:image: url();だけのとてもシンプルなCSSで、url()内にSVGを直書きする方法をご紹介します。

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

星のCSS

三角形

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

三角形のCSS

矢印

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

矢印のCSS

チェック

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

チェックのCSS

四角チェック

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

四角チェックのCSS

CSSは意味不明な文字の羅列でとっつきにくいですが、書いてあるのはlist-style-image:url();だけです。この括弧の中が長大になっています。
ulのスタイルとしてlist-style-imageを定義するだけなので、とても使い勝手のいい方法です。上のコードをコピーして、ご自由にご利用ください。
尚、この方法はIE9~11、Chrome、Safari、Firefox、iOSのSafari、Android4の標準ブラウザ・Chromeなどで表示が可能です。代表的な未対応ブラウザはIE8以下、Android2系です。

カスタマイズ)色を変える

すべてのコードの中に「ff0000」となっている部分がありますので、これを16進法の色指定で置換すれば色が変わります。

カスタマイズ)サイズを変える

すべてのコードの中に「0.5em」(チェックは「1em」)となっている部分がありますので、これをpxやemで置換すればサイズが変わります。

カスタマイズ)形を自分で作る

  • 画像編集ソフトで好きな図形を描いてSVGで書き出します(イラストレーターなどSVGで書き出しの出来る画像編集ソフトが必要です。Fireworksの場合はプラグインで対応可能です)
  • 出力したsvgファイルをテキストエディタで開き、全体をコピーします。
  • svgの中身をURLエンコードします(下記例はJavascript(jQuery)で、textareaタグに出力しています。phpなどサーバーサイドスクリプトのURLエンコードでもOKです)
    $(document).ready(function() {
    var svg = 'ここにsvgの中身をコピー';
    $("textarea").val(encodeURIComponent(svg) );
    } ); 
  • list-style-imageの○○の部分にURLエンコードした文字列を貼り付けます
    list-style-image: url(data:image/svg+xml,○○); 

マーカーの形や色を変える方法2)list-styleを使わず疑似要素を使う

上記1の方法はとても便利なのですが、ウェブフォントが利用できない点と、font-sizeに連動しない点が問題で、まめわざへの利用は見合わせました。
代わりに、下記のようにlist-styleを非表示にして、疑似要素でマーカーを表示しています。

  • 文章で箇条書きを表現しないようにしましょう
  • スペースを入れて文字の位置を変えるのはなるべくやめましょう
  • 右クリックによる文字の装飾の利用は最小限にとどめましょう

星のCSS

疑似要素を使う場合は、ご覧のようにセンタリングが効きません。
また、文字サイズに合わせてright, top, marginなどを微調整する必要がありますのでご注意ください。
疑似要素を使う場合は、SVG直書きではあまりメリットがなさそうです。ウェブフォントと併用し、色をcolorプロパティで、サイズをfont-sizeプロパティでサクッと変えられるのが最大の利点です。

2015/12/18