Post

olをulに

olだとリストマーカー周りがコントロールしづらいので。

こいつもjQueryで (JavaScriptの後半とCSSは これ と同じ)。

$(function() {
  $('ol').each(function() {
    $('<ul class="order"></ul>').insertAfter(this).append($.each($(this).children(), function(i) {
      return $(this).prepend('<span class="marker">' + (i + 1) + '.</span>');
    }));
    $(this).remove();
  });
  $('span.marker').parent().parent().each(function() {
    var marker = $(this).children().children('span.marker');
    var width = 0;
    marker.each(function() {
      width = Math.max(width, $(this).css('display', 'inline').width() - parseInt($(this).css('text-indent')));
    });
    var margin = (parseInt(marker.eq(0).css('margin-right')) + width) + 'px';
    $(this).css('margin-left', margin);
    marker.width(width).css('margin-left', '-' + margin);
  });
});

ul.order {
  margin-left: 0;
  padding-left: 0;
}
ul.order li {
  list-style: none;
}
ul.order li span.marker {
  display: block;
  float: left;
  margin-right: 5px;
  text-align: right;
  _text-indent: -3px;
  white-space: nowrap;
}
<ol>
  <li>ほげほげほげほげほげ...</li>
  <li>ほげほげほげほげほげ...</li>
  <li>ほげほげほげほげほげ...</li>
  <li>ほげほげほげほげほげ...</li>
  <li>ほげほげほげほげほげ...</li>
</ol>

2008/05/16 19:36 | code

Categories

Archives

About

こんにちは、上山根 祐輔 (かみやまね ゆうすけ) です。東京を拠点に活動しているフリーランスのデザイナー、デベロッパー、あと何でも屋です。

というか、Fugue Icons の作者、と言ったら分かりやすいかも。