У меня есть простое горизонтальное меню (см. Ниже). Некоторые элементы перемещаются влево, а некоторые плавают вправо (справа направо - параметры администратора и отображаются на каждой странице, в то время как те, которые находятся слева, являются контекстными. Каждый элемент меню имеет границы, которые делают их отображаемыми как поднятые кнопки. d как элемент спейсера между левым и правым плавающими элементами, который также обозначен как поднятая кнопка.динамическая ширина spacer в горизонтальном меню CSS
Моя проблема в том, что я не могу понять, как (в чистом виде CSS, представленном «ul.menu li.spacer "в CSS ниже), чтобы растянуть ширину разделителя, чтобы заполнить доступное пространство между левым и правым элементами. Ширина разделителя будет отличаться в зависимости от контекста, поскольку количество и ширина других элементов варьируются в зависимости от в контексте.
Я могу написать javascript для dynamica lly установил ширину разделителя, но это должно было быть специфичным для браузера, поскольку разные браузеры обрабатывают границы/поля по-разному, и я не хочу этого делать и получаю ДЕЙСТВИТЕЛЬНО некрасиво.
[Обратите внимание, что плавали правые элементы перечислены в обратном порядке они будут появляться на экране из-за поплавком вправо]
<ul class='menu'>
<li class='left'><a href='xxx'>Item One</a></li>
<li class='left'><a href='xxx'>Item Two</a></li>
<li class='left'><a href='xxx'>Item Three</a></li>
<li class='left'><a href='xxx'>Item Four</a></li>
<li class='right'><a href='xxx'>Item Eight</a></li>
<li class='right'><a href='xxx'>Item Seven</a></li>
<li class='right'><a href='xxx'>Item Six</a></li>
<li class='right'><a href='xxx'>Item Five</a></li>
<li class='spacer'><a href='#'> </a></li>
</ul>
и вот мой CSS
ul.menu {
width: 100% ;
list-style: none ;
height: 2em ;
margin: 0 ;
padding: 0 ;
}
ul.menu li.left {
float: left ;
}
ul.menu li.right {
float: right ;
display: inline-block ;
}
ul.menu li {
border: 1px solid ;
border-color: #fff #000 #000 #fff ;
position: relative ;
text-align: center ;
vertical-align: middle ;
}
ul.menu li a {
padding: 0 1em;
}
ul.menu li.spacer {
width: ??? ;
}
Вот fiddle: http://jsfiddle.net/uJCAX/1/
Скот: что является "скрипка" вы добавили? Я не понимаю его –
Это ваш код, добавленный на сайт, который люди могут «поиграть» с кодом, чтобы попытаться получить нужный эффект. – ScottS
thanx, я раньше этого не видел. полезно –