Это соответствует всем требованиям без единого; Вертикальная черта должна быть короче высоты ссылки.
Возможно, проще всего добиться этого с помощью фонового изображения на , а не с помощью границ или труб (|).
Я попробовал кое-что с интервалами внутри ссылок, которые были бы короче, чем полная высота буквы А, но я не мог получить его рендеринг чисто.
Вы также можете добавить каналы в сам HTML, внутри span, и скрыть их при наведении.
Я знаю, что это не будет работать должным образом во всех браузерах, но хаки и обходные пути являются дополнительными. : P
EDIT :: Я добавил смежные селекторы @Fistandantilus к этому. делает для чистого HTML.
<html>
<head>
<title>Menu Test</title>
<style type="text/css" media="screen">
ul.menu {
display:block;
margin:0;
padding:0;
height:30px;
}
ul.menu li {
display:block;
width:100px;
height:30px;
float:left;
}
ul.menu li a{
width:100%;
height:30px;
line-height:30px;
display:block;
text-align:center;
border-left:1px solid transparent;
}
ul.menu li + li a {
border-left:1px solid #000;
}
ul.menu li a:hover {
background-color:#0f0;
border-left:1px solid transparent;
}
ul.menu li:hover + li>a {
border-left:1px solid transparent;
}
</style>
</head>
<body>
<ul class="menu">
<li><a href ="#">item</a></li>
<li><a href ="#">item</a></li>
<li><a href ="#">item</a></li>
<li><a href ="#">item</a></li>
<li><a href ="#">item</a></li>
<li><a href ="#">item</a></li>
<li><a href ="#">item</a></li>
</ul>
</body>
</html>