构建repeat-x标头

时间:2011-09-12 17:11:10

标签: html css

我有一些布局css问题。他们更像是最佳实践,也是最有效的方法。让我先从我想要实现的图表开始。 enter image description here

此标题菜单背景将为液体,其中的按钮将被固定。所以它真的由一个独立于灰色风格背景的左按钮组成。然后是灰色样式背景中的3个或更多按钮,后跟一些图标和搜索字段,所有这些按钮都在灰色背景中。我的主要问题是如何实现如何实现灰色背景扩展到浏览器宽度100%并且每端仍然有2个圆角。

这是一个伪html结构

<div id="menuHeader">
<ul>
    <li class=""><a href="#">home</a></li>
    <li class=""><a href="#">button1</a></li>
    <li class=""><a href="#">button2</a></li>
    <li class=""><a href="#">button3</a></li>
    <li class="tools">
      <div class="icon">icon1</div>
      <div class="icon">icon2</div>
      <div class="icon">icon3</div>
      <div class="search"></div>
    </li>
</ul>

现在css问题我在哪里放置我的重复背景。如果我将它作为背景图像放在menuHeader上,那么它将是一个没有左右角的长重复背景图形。 我是否需要为左右和中心设置div。然后把我的灰色按钮放在那里,我的蓝色主页按钮位于左边div的左边。或者有没有办法可以使用现有的标签,而不必处理额外的空div标记。

我很抱歉,如果我不是更清楚,但我认为的主要问题是清楚如何让背景图形具有圆角和重复背景。然后可以将我的按钮添加为背景图形。

更新:不幸的是,这不会是html5

1 个答案:

答案 0 :(得分:0)

#menuHeader {
  position: relative;
  width: 100%;
  background: url("bg.png") repeat;/*An image which has a width of 1px is sufficient*/
}
#leftSide, #rightSide{
  position: absolute;
  top: 0;
  width: 20px;/*Whatever width*/
  height: 40px;/*Whatever height*/
}
#leftside{
  background: url("left.png") transparent;
}
#rightside{
  background: url("right.png") transparent;
}

在div#menuHeader中添加此HTML:

<div id="menuHeader">
  <div id="leftside"></div><div id="rightside"></div><!--This location is chosen, so that the automatic z-indexing causes the background to stay at the background-->
  ....
</div>

创建两个图像(或一个,以减少服务器负载,并使用background-position)。如果要添加该蓝色框,请展开左背景图像。确保div#menuHeader中的元素具有透明或无背景。