Четверг, 02.05.2024, 03:10
Приветствую Вас Гость

Меню сайта
Web-программирование
Категории раздела
Наш опрос
Какой браузер Вы используете?
Всего ответов: 1422
Статистика

Анализ веб сайтов
Главная » Статьи » Статьи o CSS

Списки a la MS Word

Но пару дней назад я вспомнил о некоторых замечательных CSS свойствах. Полистав спецификацию, я понял, что задача решаема, при этом будет сохранена семантика в HTML. Единственное (но самое важное!) ограничение — абсолютно правильно работает пример только в Opera 7.0. Я тестировал в более ранних версиях этого браузера (нумерация в списках нарушается), а также в Mozilla 1.0 и Internet Explorer 6.0 (априори не должно работать) — увы и ах. Возможно, в более свежих версиях Gecko-based браузеров всё хорошо, я не могу сказать.

Решается всё следующим CSS кодом

ol>li{
display:block
}
ol>li:before{
content:counters(item,".") ". ";
counter-increment:item
}
ol{
counter-reset:item
}

Обратите внимание на пробел во фрагменте ". ". С его помощью мы создаём отступ между нумерацией и текстом. CSS 2 селекторы (ol>li) используются для того, чтобы не обрабатывались элементы вложенных ненумерованных списков.

HTML код получается простым и семантически верным:

<ol>
<li>one
    <ol>
    <li>one-one
        <ol>
        <li>one-one-one</li>
        <li>one-one-two</li>
        <li>one-one-three</li>
        </ol>
    </li>
    <li>one-two</li>
    <li>one-three</li>
    </ol>
</li>
<li>two</li>
<li>three
    <ol>
    <li>three-one</li>
    <li>three-two</li>
    <li>three-three</li>
    </ol>
</li>
</ol>

Теорию про счётчики и автоматическую нумерацию рассказывать не буду. Кому интересно — см. спецификацию.
Категория: Статьи o CSS | Добавил: Rammstein (21.01.2011)
Просмотров: 571 | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Реклама
Поиск
Друзья сайта
Топ100- Веб-дизайн free counters