Вообще говоря, способ центрировать элемент уровня черного (например, <ul>
) использует свойство margin:auto;
.
Чтобы выровнять текстовые и встроенные элементы уровня внутри элемента уровня блока, используйте text-align:center;
. Так что все вместе что-то вроде ...
ul {
margin:auto;
}
ul li {
text-align:center;
list-style-position:inside; /* so that the bullet points are also centered */
}
ul li div {
display:inline; /* so that the bullet points aren't above the content */
}
... должно работать.
Крайний случай - Internet Explorer6 ... или даже другие IE, когда не используется <!DOCTYPE>
. IE6 неправильно выравнивает элементы уровня блока, используя text-align
. Поэтому, если вы ищете поддержку IE6 (или не используете <!DOCTYPE>
), ваше полное решение ...
div.topmenu-design {
text-align:center;
}
div.topmenu-design ul {
margin:auto;
}
div.topmenu-design ul li {
text-align:center;
list-style-position:inside; /* so that the bullet points are also centered */
}
div.topmenu-design ul li div {
display:inline; /* so that the bullet points aren't above the content */
}
В качестве сноски я думаю, что id="topmenu firstlevel"
недопустим, поскольку атрибут id
не может содержать пробелы ...? Действительно, рекомендация w3c определяет атрибут id
как имя типа ...
Жетоны ID и NAME должны начинаться с
буква ([A-Za-z]) и может сопровождаться
по любому количеству букв, цифр
([0-9]), дефисы ("-"), подчеркивание
("_"), двоеточия (":") и точки
( "").