这实际上可以通过 CSS 实现,并且在 IE8 中使用display:table-cell
和white-space:nowrap
适当时也是可以的。我将针对您的问题的 CSS 解决方案发布在
http://codepen.io/anon/full/HhCFB
此解决方案允许右侧的菜单永不折叠,左侧的标题为完整的标题宽度,或者在页面变得太小时时折叠到可用宽度。
简而言之:
<div class="wrap">
<span>a long example title</span>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</div>
<style>
.wrap {
display: table;
}
span {
display:table-cell;
}
ul {
display: table-cell;
white-space: nowrap;
}
li {
display: inline-block;
margin-right: 20px;
}
</style>
并确保标题和菜单都充当列,这样它们就不会在彼此下方浮动display:table
。display:table-cell
不让菜单崩溃的诀窍是white-space:nowrap
在ul
. 现在,当页面变得太小时,标题将是唯一的换行符。
在上面提到的 codepen 解决方案链接中,还添加了一个变体,以确保标题跨度永远不会大于其内容的宽度。这样菜单也将坚持标题。只需注释掉.outer{ float:left }
即可获得此答案中提到的代码解决方案。
有点你在找什么?