位置:绝对是让这个而最好的方法保持#mainmenu的背景。事实上,这是我能想到的唯一一个可以从头顶上看出来的人。当然没有JavaScript。其他一切都需要更改HTML或将背景属性移到不同的地方。
#mainmenu
{
position:absolute;
left:0;top:??px;
width:100%;
height:37px;
background-image: url(../images/mainmenu_bg5.jpg);
}
因为#mainmenu的宽度:100%,那么将成为视口的100%而不是包含块。(除非父母的位置:相对或溢出:隐藏)
所以,当你说它“全部怪异”时,我认为这是因为页面上的其他内容。绝对项目和浮动项目均取自普通文档流程中的项目。所以菜单下面的东西可以在&之下结束。
#mainmenu
{
position:absolute;
left:0;top:??px;
width:100%;
height:37px;
background-image: url(../images/mainmenu_bg5.jpg);
}
#mainmenu + *
{
padding-top:37px;
}
/* Exact selector not recommended due to poor browser support */
解决方案是,基本上,应用37px的边距或填充到#mainmenu之后的第一件事。你也将无法使用margin:0 auto来定位绝对定位的元素,但是如果你希望它跨越视口的整个宽度,那应该不是一个问题......如果你想要居中放置菜单,当然,你需要某种形式的后裔到中心:
#mainmenu
{
position:absolute;
left:0;top:??px;
width:100%;
height:37px;
background-image: url(../images/mainmenu_bg5.jpg);
}
#mainmenu > *
{
margin:0 auto;
}
/* Exact selector not recommended due to poor browser support */
/* & more properties needed if descendant is list with floated <li>s */
#mainmenu + *
{
padding-top:37px;
}
/* Exact selector not recommended due to poor browser support */
但也有很多的事情,你会看到在页面上定位的关系变化到其他事情:绝对的。所以要排除故障,我真的需要更多地了解页面上的其他内容。
您可能会发现另一种解决方案,但如果您没有 - 发布一个页面,我可以看看&我可能能够帮助您解决绝对定位问题。也就是说,如果它能用于这个特定的布局。
是多数民众赞成在我正在寻找,使这样的菜单,我怎么能有菜单背景定位的HTML?你可以给我一个例子,请检查我的更新问题的css – Karem 2010-08-14 01:36:52