我正在尝试将电话目录构建到 CSS 下拉菜单中。我的目标是让它像典型的电话簿一样呈现,名称左对齐,电话分机/号码右对齐,如下所示:
James T. Kirk x1701
Mr. Spock (123) 555-8795
HTML 非常简单:
<ul id="phone">
<li>
Phone Category 1
<ul>
<li>
<span class="phone-description">Phone Description 1</span>
<span class="phone-number">x55555</span>
</li>
<li>
<span class="phone-description">Longer Phone Description 2</span>
<span class="phone-number">(800) 555-1234 x1701</span>
</li>
</ul>
</li>
...
</ul>
基本格式也相当简单:
body {background: #999;}
ul {list-style: none; margin: 0; padding: 0;}
li {margin: 0; padding: 0.4em 2em 0.4em 1em; white-space: nowrap;}
#phone {position: fixed; top: 0; left: 0;}
#phone li {background: #FFF; position: relative;}
#phone li:hover {background: #CCC;}
#phone ul {display: none; position: absolute; top: 0; left: 100%;}
#phone li:hover ul {display: block;}
.phone-number {margin-left: 2em;}
然而,事实证明,制造这些柱子是极其困难的。我尝试过使用文本对齐、浮动、绝对定位和“具有等间距 DIV 的流体宽度”中解释的 CSS 亮度。
我已经将上面的代码放在http://jsfiddle.net/HQ4ZN/2/上,并且我尝试的每个解决方案都被注释掉了。您能提供的任何帮助将不胜感激!