Как с помощью HTML/CSS сделать многоуровневые нумерованные списки? Есть решение! Некоторое время назад Kukutz интересовался у меня, как с помощью HTML/CSS можно верстать многоуровневые нумерованные списки «как в ворде». В тот момент мне в голову пришел только извратный вариант использования Но пару дней назад я вспомнил о некоторых замечательных CSS свойствах. Полистав спецификацию, я понял, что задача решаема, при этом будет сохранена семантика в HTML. Единственное (но самое важное!) ограничение — абсолютно правильно работает пример только в Opera 7.0. Я тестировал в более ранних версиях этого браузера (нумерация в списках нарушается), а также в Mozilla 1.0 и Internet Explorer 6.0 (априори не должно работать) — увы и ах. Возможно, в более свежих версиях Gecko-based браузеров всё хорошо, я не могу сказать. Итак, смотрите в Opera 7.0 следующий пример:
Здорово, правда? Решается всё следующим CSS кодом (за основу взят пример на w3c.org):
Обратите внимание на пробел во фрагменте HTML код получается простым и семантически верным:
Теорию про счётчики и автоматическую нумерацию рассказывать не буду. Кому интересно — см. спецификацию. Спасибо за внимание. Был рад снова вас видеть :-) P. S. А в Opera 7.10 и 7.20 у списков в вышеуказанном примере срывает крышу, нумерация сбивается… (UPDATE: по наводке тов. Вани теперь решение работает во всех «семёрках»!) P. P. S. Danil Ivanov (aka Mash) предложил вариант (бэкап архива с решением) для IE 5+ и Mozilla. Супер! Хитовые статьи про разработку сайтов
Рассылка новостей и новых статей
Сообщения будут приходить пару раз в неделю, не чаще
Объявления |
Об авторе заметок
Примите участие
Некоторые мои проектыОбъявления |
© Александр Шуркаев, 2001–2024. Условия копирования и как стать автором. Если что, пишите на alshur@ya.ru. Осторожно, теги закрываются! |
|