CSSにおける大きな課題の一つとして「ヘッダー・フッターを固定した上での表のスクロール」が挙げられます. 既にこのブログにおいてもCSSによるおそらく最も簡単にヘッダとフッタを固定するスクロールテーブルの実装方法として言及していましたが, この方法を紹介してから既に6年が過ぎており, いささか時代遅れの印象があります.
そこで, 本記事ではよりモダンな方法で簡潔にスクロールテーブルを実装する方法について紹介します.
2018年4月27日金曜日
2018年2月16日金曜日
CSS Painting APIについて取り急ぎまとめてみた
次期Chrome65でのサポートがうたわれているCSS Painting APIについて構成がcanvasっぽいとのことだったのでまとめてみました.
CSS Painting APIの基本的な使い方・まとめ
https://defghi1977-tech.firebaseapp.com/cssPainting/cssPainting.htm
http://defghi1977.html.xdomain.jp/tech/cssPainting/cssPainting.htm
※二つあるのは本APIがHTTPS環境でしか動作しないから.
ずっとlocalhost環境で試していたからわからんかったけれど, 確かChromeのポリシーに強力なAPIはとりあえずHTTPSでしか動作させないってのがあったので, 多分これに引っかかっている.
(運用的にめどいけれど悔しいので両方残しておくこととす)
CSS Painting APIの基本的な使い方・まとめ
https://defghi1977-tech.firebaseapp.com/cssPainting/cssPainting.htm
http://defghi1977.html.xdomain.jp/tech/cssPainting/cssPainting.htm
※二つあるのは本APIがHTTPS環境でしか動作しないから.
ずっとlocalhost環境で試していたからわからんかったけれど, 確かChromeのポリシーに強力なAPIはとりあえずHTTPSでしか動作させないってのがあったので, 多分これに引っかかっている.
(運用的にめどいけれど悔しいので両方残しておくこととす)
2017年12月14日木曜日
2017年12月12日火曜日
dotrace.jsの使い方・SVGにおける多色画像のHSLAビット合成的アプローチ
前回作ったdotrace.jsの使い方・SVGにおける多色画像のRGBAビット合成的アプローチとRGBA画像をHSLA画像に変換してSVGフィルタで元画像を復元とを組み合わせてみたところ, それはもう素晴らしい出力結果が得られたので公開する.
従来SVGでは実現が困難と考えられてきた多階調の自然画風グラフィックを無理やりベクタ化する際の一つのアプローチとして非常に効果的である.
NOTE:2017/12/13
但し本スクリプトでの出力結果はSVG本来のメリットであるスケール非依存性が失われるため, 使い勝手は悪い.
従来SVGでは実現が困難と考えられてきた多階調の自然画風グラフィックを無理やりベクタ化する際の一つのアプローチとして非常に効果的である.
NOTE:2017/12/13
但し本スクリプトでの出力結果はSVG本来のメリットであるスケール非依存性が失われるため, 使い勝手は悪い.
2017年12月9日土曜日
ドット絵SVG化スクリプト:dotrace.js
以前から公開している「ドット絵SVG化スクリプト」シリーズをバッチで処理したいという意見を聞いた気がしたので, 元のコードからweb依存性を排除してNode.js環境(つまりコマンドライン)でも動作するようにしてみた.
dotrace.js
(http://defghi1977.html.xdomain.jp/tech/dotrace/dotrace.htm)
機能的にはver2とver3のいいとこ取りをしたつもりなので, 使い勝手はこれまで通りだ(と思う).
※色数制限等の細かいことは全くしていません(でかいSVGが作られても知らね). 予め減色しておくとか, JPEGを弾くとか各自で工夫して下さい. (最適な出力は環境毎に異なると思うので, 柔軟に扱えるようにしている)
ライセンスをMITにしておいたので, 適宜使い倒して下さい.
動作原理はこちら
https://stackoverflow.com/questions/42595343/bitmap-to-svg-path/42595975#42595975
dotrace.js
(http://defghi1977.html.xdomain.jp/tech/dotrace/dotrace.htm)
機能的にはver2とver3のいいとこ取りをしたつもりなので, 使い勝手はこれまで通りだ(と思う).
※色数制限等の細かいことは全くしていません(でかいSVGが作られても知らね). 予め減色しておくとか, JPEGを弾くとか各自で工夫して下さい. (最適な出力は環境毎に異なると思うので, 柔軟に扱えるようにしている)
ライセンスをMITにしておいたので, 適宜使い倒して下さい.
動作原理はこちら
https://stackoverflow.com/questions/42595343/bitmap-to-svg-path/42595975#42595975
2017年1月5日木曜日
XNG(SVG+CSS Animations)を使った背景アニメーション
XNGってのは↓で命名されたSVGによるパラパラアニメーション.
http://blog.mecheye.net/2014/10/xng-gifs-but-better-and-also-magical/
これを改良しつつ, スクリプトでXNG構造を生成してみた.
XNG自体は使いにくいフォーマットなものの, クライアント側でアニメーションをこねくり回す用途であれば, これと言ったライブラリを必要とせず極めて明快なコードで記述できる.
従って、
http://blog.mecheye.net/2014/10/xng-gifs-but-better-and-also-magical/
これを改良しつつ, スクリプトでXNG構造を生成してみた.
XNG自体は使いにくいフォーマットなものの, クライアント側でアニメーションをこねくり回す用途であれば, これと言ったライブラリを必要とせず極めて明快なコードで記述できる.
従って、
- APNGやアニメーションWEBP等の一時デコード先
- canvasアニメーションの記録先
- パラパラアニメーションの動作確認用
2016年10月21日金曜日
2016年8月15日月曜日
SVGフィルタエディタ作った
SVG仕様の中でも理解のし難さの頂点を争うフィルタ仕様(もうひとつはSVGフォント). 試すにしても手書きで書き起こすのは非常に面倒. であるならヘルパアプリケーションを作ってしまえと.
http://www.h2.dion.ne.jp/~defghi/filterEditor/filterEditor.htm
↓ 新URL
http://defghi1977.html.xdomain.jp/tech/filterEditor/filterEditor.htm
似たようなツールは既にあってもおかしくない割にググっても見つからんかったので, 存在意義は十分にあるかと思ふ.
http://www.h2.dion.ne.jp/~defghi/filterEditor/filterEditor.htm
↓ 新URL
http://defghi1977.html.xdomain.jp/tech/filterEditor/filterEditor.htm
似たようなツールは既にあってもおかしくない割にググっても見つからんかったので, 存在意義は十分にあるかと思ふ.
2016年6月17日金曜日
2016年6月11日土曜日
Web Animations APIの使い方をまとめた
Web Animations APIの基本的な使い方・まとめ
http://www.h2.dion.ne.jp/~defghi/webanim/webanim.htm
↓新URL
http://defghi1977.html.xdomain.jp/tech/webanim/webanim.htm
骨組みだけは作ったけれど
http://www.h2.dion.ne.jp/~defghi/webanim/webanim.htm
↓新URL
http://defghi1977.html.xdomain.jp/tech/webanim/webanim.htm
骨組みだけは作ったけれど
2014年12月11日木曜日
2014年10月17日金曜日
SVG2のmix-blend-modeを試してみる
SVG2の仕様確定が遠のいてしまいましたが,翻ってWEBブラウザ側では着実に新機能の実装が為されています.今回紹介するmix-blend-modeもその一つで,HTMLとの仕様の統合をはかる上で新たにSVG2で導入されるプロパティです.従って実用には程遠いのですが,非常に魅力的な機能ですからいち早く試してみることとしました.
なお,現状Editor's Draft版を参考としているため,今後仕様の修正に伴い内容が不正確になる可能性があります.
また,本ページの内容はmix-blend-modeをサポートしているブラウザで見てください.
なお,現状Editor's Draft版を参考としているため,今後仕様の修正に伴い内容が不正確になる可能性があります.
また,本ページの内容はmix-blend-modeをサポートしているブラウザで見てください.
2014年10月6日月曜日
インラインSVGの見た目がボケてしまう事に対する処方箋
インラインSVGを使っていて困ること,それは「いつ何時ボケボケになるかわからん」ということです.そこでどうやったらこの「ボケ」を取り除けるかをまとめました.
ブログにまとめようとも思ったけれど面倒なのでリンクを貼っておきます.
要はSVGの枠をスクリーンのピクセルに合わせるにはCSS transformが最も手っ取り早いんだけれど,ブラウザ毎の動作の違いもあって,実現に少し細工が必要ってこと.ScreenCTMとtransformとベンダプレフィクスを組み合わせて, 下のようなスクリプトを発行するんだ.
ブログにまとめようとも思ったけれど面倒なのでリンクを貼っておきます.
要はSVGの枠をスクリーンのピクセルに合わせるにはCSS transformが最も手っ取り早いんだけれど,ブラウザ毎の動作の違いもあって,実現に少し細工が必要ってこと.ScreenCTMとtransformとベンダプレフィクスを組み合わせて, 下のようなスクリプトを発行するんだ.
svg = document.querySelector("[selector]");
m = svg.getScreenCTM();
svg.style.transform = "translate(0,0)";
svg.style.msTransform = "translate(" + (Math.floor(m.e)-m.e) + "px," + (Math.floor(m.f)-m.f) + "px)";
2014年8月16日土曜日
2014年4月1日火曜日
2014年3月23日日曜日
svgビュー指定って知ってますか?
svgをimg要素等から参照する場合,直接ファイル名を指定する他に「svgビュー指定」と呼ばれるパラメータを渡すことが出来るんです.これってグラフィックの作画に直接関わる機能じゃないので,あまり知られていないのですが,憶えておくと結構便利ですから是非マスターして下さいね.
2014/03/24 ちょこっと内容を追加.基本は変わらず.
※注意:記事を書いては見たものの,その後いろいろ試してみたら結構な動作不良っぽいものがザクザクと.
ですから,フル活用する前にきっちりと動作検証をして下さいね.
私はブラウザベンダーにフィードバック入れときます.
2014/03/24 ちょこっと内容を追加.基本は変わらず.
※注意:記事を書いては見たものの,その後いろいろ試してみたら結構な動作不良っぽいものがザクザクと.
ですから,フル活用する前にきっちりと動作検証をして下さいね.
私はブラウザベンダーにフィードバック入れときます.
2014年3月18日火曜日
2014年3月12日水曜日
2014年3月3日月曜日
svgをプログラム言語としてとらえると-svgエチケット論
web上でベクタグラフィックを描けるのは非常に便利であるものの,使い方によっては薬にも毒にもなるよという話.長いので,すっ飛ばして結論だけ読んでもよし.
※例によって個人調べなので,多分に間違いが含まれているものと思われます…
2014/3/4 ちょっと改訂
2014/3/5 補足を追加
2014/3/6 optimizeSpeedについての記述を追加
2014/3/19 strokeについての記述を追加
※例によって個人調べなので,多分に間違いが含まれているものと思われます…
2014/3/4 ちょっと改訂
2014/3/5 補足を追加
2014/3/6 optimizeSpeedについての記述を追加
2014/3/19 strokeについての記述を追加
2014年2月25日火曜日
インラインsvgを別ウインドウに開くブックマークレット
表題の通りです.
インラインsvgはそのままでは保存しにくいので,それをサポートするツールを作ってみました.
web開発のお供に使ってみてください.結構面白いよ.
※なお,他人のサイトのsvgを勝手にコピーするのは著作権に触れることも考えられるから,お気を付け下さい.
なんだ,似たようなツールってば既にあるのね…
http://nytimes.github.io/svg-crowbar/
インラインsvgはそのままでは保存しにくいので,それをサポートするツールを作ってみました.
web開発のお供に使ってみてください.結構面白いよ.
※なお,他人のサイトのsvgを勝手にコピーするのは著作権に触れることも考えられるから,お気を付け下さい.
なんだ,似たようなツールってば既にあるのね…
http://nytimes.github.io/svg-crowbar/
登録:
投稿 (Atom)
