つまらないものですが申し訳ないですが、今回はおもいきってjsdo.itというサイトに登録してみました。すごく便利ですね!
html
この通り何のへんてつもないリストがあります。
canvasタグはjQueryで追加します。
html
<ul class="icon"> <li>item01</li> <li>item02</li> <li>item03</li> <li>item04</li> <li>item05</li> </ul>
css
リストの画像は普通cssの背景画像で指定しますが、背景画像にcanvasはたぶん指定できませんので、liの直下にcanvasを入れます。
細かい調整はcanvasのtopやleftで修正してください。
css
ul.icon {
list-style: none;
}
ul.icon li {
position: relative;
margin-bottom: 0.5em;
}
ul.icon li canvas {
position: absolute;
top: 0.3em;
left: -13px;
}
JavaScript
要素の取得とかにjQueryを使用しております。
javascript
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var list = $('ul.icon li');
list.prepend('<canvas width="20" height="20" />');
var ctx = null;
list.each(function (i) {
var canvas = $('canvas', list).get(i);
ctx = canvas.getContext('2d');
drawIcon();
});
/* アイコン描画
================ */
function drawIcon() {
//丸
ctx.beginPath();
ctx.arc(6, 10, 6, 0, Math.PI*2);
ctx.fillStyle = 'rgb(50, 150, 255)';
ctx.fill();
//三角
ctx.beginPath();
ctx.moveTo(5, 7);
ctx.lineTo(8, 9);
ctx.lineTo(5, 12);
ctx.closePath();
ctx.fillStyle = 'rgb(255, 255, 255)';
ctx.fill();
}
});
</script>
アイコンを描いているのは16行目あたりの「drawIcon」ですので、ここをカスタマイズすることでオリジナルのアイコンにできます。

