如果这是一个太基本的问题,我很抱歉,但 CSS 让我感到困惑。我认为我正在做一些 CSS 应该很容易做到的事情,但它根本不像我阅读文档的方式那样工作。
这是我的例子。它已被大大简化,但基本问题仍然存在。我确信这是我的一些核心误解,我只是不知道它在哪里。
这是目标:
这是我现在得到的:
这是HTML:
<div id="line-wrapper">
<div id="block-nice-menus-1">
<ul id="nice-menu-1">
<li><span title="Departments" class="nolink">Departments</span>
</li>
</ul>
</div>
<div id="block-imageblock-40">
<img src="http://www.kallenconsulting.com/home/files/top-menu-swish.png"
alt="" />
</div>
<div id="block-imageblock-42">
<img src="http://www.kallenconsulting.com/home/files/Transparent-4x6.png"
alt="" />
</div>
</div>
这是CSS:
/* -- nice-menu-1 is Main Menu -- */
#line-wrapper {
background-color: #ff0000;
}
#block-nice-menus-1 {
position: relative;
float: right;
margin-right: 0px;
height: 40px;
border: none;
background: #d6b982;
}
#nice-menu-1 {
display: block;
padding: 0px 30px;
border-top: none;
border-bottom: none;
color: #000;
background: #d6b982;
line-height: 2.4em;
font-weight: bold;
font-family: Helvetica, Arial, Sans-Serif;
text-transform:uppercase;
text-decoration: none;
}
#nice-menu-1 ul, #nice-menu-1 li {
border-top: none;
border-bottom: none;
border-color: #e11837;
}
#block-imageblock-40 {
/* top-menu-swish */
float: right;
margin: 0px;
}
#block-imageblock-42 {
/* top-menu-leading-line */
bottom: 0px;
height:6px;
width:100%;
background: #d6b982;
}
我无法得到正确的浮动(我知道,还有另一个浮动问题)。主要问题是这将是一个包含可变数量项目的菜单,因此随着菜单的增长,(现在是“部门”,但后来是“部门”、“服务”、“部分”等)它应该向左推,减少线的长度我不能在引导线上使用固定长度(#block-imageblock-42)。此外,菜单项将有分隔符,所以我不能只是全角的东西。这需要在纯 CSS 中完成,而不是 jQuery 或其他 JS。
这是我的问题的 JSfiddle:http: //jsfiddle.net/zjfsy/
更新: 根据人们试图提供帮助的要求,我已将问题修改为更具体。顶部的“目标”图像已更新,以更准确地反映问题。我真正想澄清的一件事是,这个具体的例子并不那么重要。我已经修改了一个立场:短期内的绝对解决方案。我的愿望是更好地理解为什么这如此困难。我有三个容器。我希望其中两个向右浮动,第三个扩展以填充从最后一个容器到页面边缘的空间。这似乎是 float 应该做的。我认为这是我的一些基本误解。
反正。这里有更多的限制:
- 前导条需要扩展以填充左侧和嗖嗖声之间的空白空间。
- 每个选项卡都需要有一个分隔符,允许背景通过。
- 选项卡的数量是可变的,取决于客户的选择——可以定期更改。
- 除了用 CSS 修改它之外,我无法真正改变 HTML 的结构。
再次,非常感谢所有帮助。