Я обнаружил, что большинство страниц содержат панель навигации. Чаще всего она оформляется как простая текстовая строка со ссылками, разделенными тегами
или
. Структурно же они представляют собой списки ссылок, и следовательно должны оформляться как таковые.
Причина, по которой мы не оформляем их как списки, состоит в том, что нам не очень хочется перед каждой ссылкой в меню видеть маркер. В предыдущей статье я рассказал о некоторых приемах верстки страниц с помощью CSS. В одном из тех приемов мы научились выводить списки в строку, а не вертикально.
В данной же статье я покажу, как с помощью CSS можно укротить эти неповоротливые и неуклюжие списки. Хватит им беспризорно шататься по вашим веб-страницам. Настало ваше время командовать им, как себя вести. Готовим арену
В качестве предмета дрессировки я выбрал простые ненумерованные списки. Все упомянутые тут правила CSS можно применить и к нумерованным спискам с тем же результатом. Во всех примерах (кроме специально оговоренных случаев) используется следующий список:
Item 1 Item 2 Item 3 Item 4 Item 5 сделаем этот пункт немного длиннее,
чтобы он переходил на следующую строку Каждый список просто помещен внутрь отдельного элемента
, и поведение списка определяется с помощью этого DIV-а. Базовое правило, действующее на все DIV-ы, таково:
#base {
border: 1px solid #000;
margin: 2em;
width: 10em;
padding: 5px;
}
Без каких-либо дополнительных стилевых правил, список в базовом DIV-е будет выглядеть так:
Item 1
Item 2
Item 3
Item 4
Item 5 сделаем этот пункт немного длиннее, чтобы он переходил на следующую строку Позиционирование
Иногда для вашего дизайна отступ в списке принятый по умолчанию может оказаться слишком большим. Но изменение только свойства margin или padding для элемента срабатывает не для всех броузеров. Для того, чтобы список полностью передвинулся скажем влево, вам необходимо поменять оба свойства: и margin, и padding. Связано это с тем, что Internet Explorer и Opera создают левый отступ у списка с помощью левого margin, а Mozilla/Netscape используют для этого левый padding. Подробнее об этом читайте в статье Consistent List Indentation на сайте DevEdge.
В следующем примере свойствам margin-left и padding-left у элемента UL присвоено значение 0:
Item 1
Item 2
Item 3
Item 4
Item 5 сделаем этот пункт немного длиннее, чтобы он переходил на следующую строку
Обратите внимание, что маркеры лежат за границей DIV-а. Если бы контейнером был не DIV, а документа, маркеры оказались бы за пределами окна броузера, т.е. пропали бы с глаз долой. Если вы хотите, чтобы маркеры лежали внутри границ DIV-а, вдоль левого его края, присвойте либо свойству left-padding либо свойству left-margin значение "1em".
Item 1
Item 2
Item 3
Item 4
Item 5 сделаем этот пункт немного длиннее, чтобы он переходил на следующую строку Маркеры
Скажем, вам понадобился список с особыми маркерами. ............