Псевдоэлемент::before создает перенос текста при использовании% margin по сравнению со статическим margin
У меня проблемы с панелью навигации. Я хочу отделить каждый li с помощью символа "/" и хочу, чтобы интервал основывался на ширине окна. Когда поле элемента::before ("/") было margin: 0 20px;
все элементы были встроены. Однако, когда я изменяю его на margin: 0 14.284%;
содержимое li падает ниже косой черты.
Как я могу сделать так, чтобы все в li оставалось на одной линии и было бы шире, но при этом оставалось бы такое отзывчивое расстояние между элементами.
Я предоставил пример jsfiddle по адресу: http://jsfiddle.net/vDL9w/3/
РЕДАКТИРОВАТЬ: я думаю, главный вопрос, который у меня есть, почему процент падает другой текст и как я могу сделать его текучим, а не просто реагировать?
1 ответ
Как насчет использования блока вместо процентов
.nav-menu > li::before {
content: "/";
display: inline-block;
margin: 0 1em; /* using ems */
}
Вы можете использовать EMS для контроля полей
ПРИМЕР: http://jsfiddle.net/vDL9w/5/
просто настройте значение margin em по своему вкусу в пространстве, необходимом между li's.. (т.е... 1.2em или 0.9 .. etc..)
Единица em равна вычисленному значению свойства 'font-size' элемента, в котором оно используется.
http://dev.w3.org/csswg/css3-values/
:)