場合によって不必要な検知が生じることがあるため,4月20日5歩での対策同様,初期化時の取得時印にも1秒加えるようにして様子見。

{希哲17年5月28日4歩 K#F85E/E74C-F979}

{希哲17年5月18日5歩 K#F85E/E74C-7164}

{希哲17年5月7日13歩 K#F85E/E74C-523D}
<view>
}{希哲17年5月6日の進捗時限}{動的引連 SVG アイコン実装}{background-image
}{Chrome}{大きな問題ではない}...
{希哲17年5月6日13歩 K#F85E/E74C-3A97}

{希哲17年5月6日10歩 K#F85E/E74C-DDBB}
SVG スプライトの手法を取り入れ,SVG アイコンの定義は icn.svg
に集約することにした。
SVG 出与えも Aejs に組み込んで直接挿入してしまうことを考えていたが,舞覧隠しの適切な分離が出来なくなる,要素の再利用に必要な id
属性が使いにくい,といった問題があった。外部 SVG を <use>
で利用すれば Shadow DOM になるので,id 属性の衝突などを気にせず要素を整理しやすくなる。
スプライト画像として background-image
で利用しやすいというのも大きい。:target
とフラグメント識別子を利用して表示要素を変化させる技術があることを知ったが,舞覧によっては効率的に隠し出来ないことがあるらしく,今回は見送った。<view>
が使えればいいが,Safari の対応に難がある。当面は古典的な座標指定で行くことにした。
アイコン制作では,アイコンを並べて全体のばら成しを見ながら調整することが多いため,見本を兼ねられるのも便利だ。
SVG スプライトだけで十分かもしれないと思いかけたが,<use>
1つでも若干冗長な上に,1つのアイコンの要素を細かく制御したい場合に <use>
が複数必要になるため,やはりスクリプトでの補完は欲しい。
rotate
}{scale
}{scale()
}{transform
}{計算出来る}{calc()
}...
{希哲17年4月29日16歩 K#F85E/E74C-A887}
アイコンの縮尺問題は .sz16
や .sz32
といった分類名で CSS 変数 --icn-sz
を設定することでいったん解決した。これで width
,height
を設定し,基本的に各数値は比率で設定する。border-width
などパーセント指定が出来ない場合も var()
と calc()
を使って計算出来る。
当初,32px四方を基準に値を調整し,最終的に transform
の scale()
で縮尺を調整するということを考えたが,rotate()
などを使いたい時に組み合わせの数だけ transform
の記述が必要という問題があった。最近は scale
や rotate
という個別指定プロパティもあるが,対応舞覧の普及率にまだ若干難がある。
background-image
}{CSS アイコン補完}...
{希哲17年4月27日の開発 K#F85E/E74C-E6D9}
検討作業など。
CSS アイコン補完のための @icn
の実装イメージが概ね固まった。
これまで CSS で画像アイコンを利用する場合はパディングに background-image
を当てていたが,HTML の記述量を増やしたくないため,HTML はそのままに,@icn
で同等の処理を実装することにした。
どの道,要素を動的挿入することになるため,ここで動的引連 SVG も選択肢として残すことにした。複雑な図形の表現のために,部分的に SVG を利用したいことがあるものの,CSS だけではそこまで気の利いたことは出来ない。単純な引連 SVG は HTML の肥大化を招くし,出与え URL も保守性の観点から避けたい。
もっとも,SVG 自体が簡潔な記法ではないので,CSS では表現しにくく,なおかつラスター画像より合理的な場面というのはそこまで無いかもしれない。あくまでも行き詰まりを防ぐための選択肢として残しておく。
むしろ,CSS アイコンの制約を基準として利用して,CSS で無理なく表現出来る程度に用合いアイコンの単純性を保つべきなのだろう。

{希哲17年4月16日7歩 K#F85E/E74C-D6A3}
.zip
}{希哲17年4月14日の開発}{希哲17年4月14日の進捗}{希哲17年4月14日}{含められる}{確実ではない}{移動される}{抽出出来る}{機械的処理}{詳細情報}...
{希哲17年4月14日12歩 K#F85E/E74C-3EE7}
