Я безумно пытался сделать это чисто, только для CSS, но в итоге я пришел к тому же самому.IE6 сначала вычисляет ширину 100% последнего элемента списка, а затем оборачивает родительский элемент вокруг него.(И мой IE7 не работает, я не смог это проверить.)
Что я могу порекомендовать, так это создавать классы для всех ожидаемых элементов (до максимальной ширины экрана).будет соответствовать), и измените класс UL, чтобы он соответствовал количеству внутренних линий (опять же, до того же максимума).
Таким образом, ваш UL получает один класс:
<ul class="grafiek items6_grafiek">
<li class="first-child">item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li class="last-child">item</li>
</ul>
И добавьте к существующему CSS:
.items1_grafiek {width: 56px}
.items2_grafiek {width: 118px}
.items3_grafiek {width: 180px}
.items4_grafiek {width: 242px}
.items5_grafiek {width: 304px}
.items6_grafiek {width: 366px}
И, возможно, если вы динамически добавляете элементы в JS, вам нужно изменить класс itemsN_grafiek на правильный.