JavaScript? Пшоу, я думаю, что мы можем справиться с этим простым CSS, не так ли?
Вот подтверждение концепции. Он опирается на то, что скрывает вторую границу за содержимым вкладки, когда помещается на одной строке Завершение стилевого оформления и соответствие его выбранному вами шрифту - это упражнение для кого-то менее ленивого.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
<title> tabs test </title>
<style type="text/css">
#nav { border-bottom: 1px solid silver; }
#prefs { float: right; padding: 0.7em 0; }
#tabs { float: left; padding: 0.5em 0; white-space: nowrap; }
#tabs a {
display:-moz-inline-stack; display:inline-block;
margin-right: 0.7em; padding: 0.3em 0;
width: 7em; text-align: center; background: silver;
}
#tabs a.selected {
position: relative; z-index: 2;
background: white; border-width: 1px; border-style: solid; border-color: black black white;
}
#content { clear: right; border-top: 1px solid silver; }
#content .wrap {
clear: left; position: relative; z-index: 1; top: -0.6em;
background: white; border: solid black 1px;
padding: 1em;
}
</style>
</head><body>
<div id="nav">
<a href="n1">Sample links</a> |
<a href="n2">blah</a>
</div>
<div id="prefs">
<a href="p1">Preference 1</a> | <a href="p1">Preference 2</a>
</div>
<div id="tabs">
<a href="t0" class="selected">Active Tab</a>
<a href="t1">Tab 1</a>
<a href="t2">Tab 2</a>
<a href="t3">Tab 3</a>
</div>
<div id="content"><div class="wrap">
Lorem ipsum dolor sit amet blah blah blah.
</div></div>
</body></html>
При этом используются встроенные блоки, чтобы остановить перенос вкладок, когда они сами по себе не помещаются на экране. Вы можете или не хотите этого, я не знаю. Если нет, измените эту строку на простой тип с плавающей точкой.