Я сделал выпадающее меню только для css.Требовалось иметь горизонтальную полосу элементов, каждый из которых может выпасть из вертикального меню.Кроме того, эти пункты не должны опускать третичное меню, а просто показывают маркированные списки.Мой HTML имеет три вложенных ul
, и меню отлично работает во всех современных браузерах.Это выглядит так:
Однако мне не понравилось, как более темное поле за ссылкой начинается справа от маркера и не растягивается по всей ширине меню, поэтомуЯ немного поиграл и, наконец, пришел к этой настройке:
#nav li ul li ul li a {
padding-left:1.8em;
margin-left:-1.8em;
}
Теперь пункт маркированного меню выглядит так, как я хотел:
И из-захарактер em
относительно размера шрифта, он работает независимо от размера шрифта, как показано здесь с увеличенным размером шрифта:
Я проверил это в ИнтернетеExplorer 8 + 9 + 10 (превью для разработчиков), Firefox 3 + 7, последний Chrome, Opera и Safari, и он работает как шарм.
Однако я просто не понимаю, почему это именно 1.8em это делает работу.Почему каждый браузер делает отступы от элементов пули именно так далеко?Я искал в интернете эту тему, но ничего полезного не нашел.Могу ли я быть уверен, что это работает в будущих браузерах?Эти 1.8em указаны в стандарте HTML?
Заранее благодарим за любую подсказку!
Редактировать:
К DisgruntledGoat's ответ: Это не сработало бы, если бы я использовал 1em / -1em или 20px / -20px.С этим стилем:
#nav li ul li ul li a {
padding-left:20px;
margin-left:-20px;
}
Я получаю этот результат (очевидно, не масштабирующийся с размером шрифта) для разных размеров шрифта:
Аналогично 1em /-1em также выключен и выглядит справа на картинке выше, но масштабируется с размером шрифта.По-прежнему похоже, что 1,8em - это волшебное расстояние по какой-то причине ...