3

我有一个'main_menu' div,其中包含一个在 y 轴上重复的背景图像。在这个 div 上方,我有另一个 div 用于标题。问题是标题 div 有一个高度约为 75px 的图像。我想将 main_div 中的文本从 main_div 的背景图像实际开始的位置高出大约 50 px。

我在想类似的东西:

position:absolute; top:-50px;

这真的行不通。问题是如何将文本向上移动,同时将背景图像保持在正常位置。

谢谢

{编辑}

这是CSS

.menu_main
{
background-image:url('../menu_main.jpg');
background-repeat:repeat-y;
width:173px;
padding:5px;    

}
.menu_header
{
background-image:url('../menu_header.jpg');
text-align:center;
width:173px;
height:65px;
padding:5px;    
}

这是html

<div class="menu_header">Some Header</div>
<div class="menu_main">
    <ul>
        <li>Educational Objective</li>
        <li>Projects</li>
        <li>Class Preparation</li>
        <li>Testimonials</li>
    </ul>
</div>  

所以你可以看到标题非常高。所以我想在 menu_main div 中开始文本大约高出 50px

4

4 回答 4

3

使用负上边距。

.menu_main ul {margin-top:-50px;}

于 2009-07-14T10:51:11.323 回答
0

您可以像使用绝对定位一样移动它,然后像这样向下移动背景:

background:url(someimage.png) repeat-y left 50px;

这将移动您的背景图像,使其开始向下 50 像素。

如果您提供屏幕截图或更多代码或实时示例,我可能会提供更多帮助...

于 2009-07-14T05:20:55.933 回答
0

您可以专门设计您的 UL:

.nav
{
  position: relative;
  top: -50px;
}

<ul class="nav">
...

或者也许将 UL 放在另一个 DIV class="nav" 中。

于 2009-07-14T05:45:44.560 回答
0

但是您可以将背景向下移动(例如 5 个像素):

background-position: top 5px;
于 2012-08-22T21:12:21.973 回答