CSS - 帮助我设置此菜单的样式而不使用边距?

发布于 2024-08-20 13:56:15 字数 597 浏览 5 评论 0原文

我正在创建一个网站,当鼠标悬停在菜单上时,我遇到了巨大的 IE 延迟。 我正在组合使用 Cufon,当我将高度、宽度、边距或填充应用于 li:hover 元素时,它似乎会导致巨大的滞后。

所以,我需要找出一种聪明的方法来做到这一点。 网站在这里,http://w3box.com/mat

我想你可以清楚地看到菜单。 所以,我想要的是将整个菜单向下推,使其位于高度线底部上方 3 或 4 个像素处。因此它与左侧徽标字体的垂直位置大致相同。

然后,我希望悬停效果的高度更大。很难解释,但是当将鼠标悬停在菜单项上时,想象一个框,其中文本位于框的最底部。像这样;

http://img710.imageshack.us/img710/2791/menuheader.jpg

现在,您可能会注意到箭头看起来像粘在底部的东西。我真的不需要这个,但如果您知道如何做到这一点,我将不胜感激! ;)

I'm creating a site where I've encountered a huge IE lag when hovering over the menus.
I'm using Cufon in combination and it seems like it's causing a huge lag when I apply height, width, margins or paddings to the li:hover element.

So, I need to figure out a smart way of doing this otherwise.
The site is here, http://w3box.com/mat

You can clearly see the menu I guess.
So, what I want is to push the entire menu downwards so it's like 3 or 4 pixels above the bottom of the height line. So it matches about the same vertical position as the logo font to the left.

Then, I want the hover effect to be larger in height. Hard to explain, but when hovering over a menu item, imagine a box where the text is positioned at the very bottom of the box. Like this;

http://img710.imageshack.us/img710/2791/menuheader.jpg

Now, you may notice the arrow looking thingy sticking at the bottom. I don't really need that, but if you have any idea on how to do it, I'd appreciate the help! ;)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

鱼忆七猫命九 2024-08-27 13:56:15

我没有尝试过,但我认为这可能是一个选择。

你把所有东西都放在一个 div 中,为什么不尝试将 div 放在 div 中呢?

这是您当前的标题代码。

<div id="header">  
                <img class="LogoChef" src="img/LogoKokk2.png" alt="Logo"/> 

                <img class="LogoMatkalender" src="img/MatkalenderLogo.png" alt="Logo"/>                     


                    <ul class="menuwrapper"> 
                        <li><h4><a href="#">Logg ut</a></h4></li> 
                        <li><h4><a href="#">Kontakt</a></h4></li> 
                        <li><h4><a href="#">Kontrollpanel</a></h4></li> 
                    <li><h4><a href="#">Oppskrifter</a></h4></li> 
                    <li><h4><a href="#">Hjem</a></h4></li> 
                    </ul> 



            </div> 

您可以尝试这样的操作,这样您就可以更好地控制不同的对象。

<div id="header" style="float:left;vertical-align:bottom">  
<div id="imgChef">
    <img class="LogoChef" src="img/LogoKokk2.png" alt="Logo"/> 
</div>
<div id="imgMat" style="float:left;vertical-align:bottom">
    <img class="LogoMatkalender" src="img/MatkalenderLogo.png" alt="Logo"/>                     
 </div
 <div id="menu" style="float:right;vertical-align:bottom">
<ul class="menuwrapper"> 
<li><h4><a href="#">Logg ut</a></h4></li>                                                              <li><h4><a href="#">Kontakt</a></h4></li> 
<li><h4><a href="#">Kontrollpanel</a></h4></li> 
<li><h4><a href="#">Oppskrifter</a></h4></li> 
<li><h4><a href="#">Hjem</a></h4></li> 
</ul> 
 </div>


</div> 

我不确定这可能是正确的组合,但我认为通过 div 内的三个 div,您将获得对标题 div 内的元素的更多控制。

I have not tried, but I think this may be an option.

You have everything with in one div, why dont you try to put div with in divs?

this is your current code for header.

<div id="header">  
                <img class="LogoChef" src="img/LogoKokk2.png" alt="Logo"/> 

                <img class="LogoMatkalender" src="img/MatkalenderLogo.png" alt="Logo"/>                     


                    <ul class="menuwrapper"> 
                        <li><h4><a href="#">Logg ut</a></h4></li> 
                        <li><h4><a href="#">Kontakt</a></h4></li> 
                        <li><h4><a href="#">Kontrollpanel</a></h4></li> 
                    <li><h4><a href="#">Oppskrifter</a></h4></li> 
                    <li><h4><a href="#">Hjem</a></h4></li> 
                    </ul> 



            </div> 

You can try something like this, so you have more control over the different objects.

<div id="header" style="float:left;vertical-align:bottom">  
<div id="imgChef">
    <img class="LogoChef" src="img/LogoKokk2.png" alt="Logo"/> 
</div>
<div id="imgMat" style="float:left;vertical-align:bottom">
    <img class="LogoMatkalender" src="img/MatkalenderLogo.png" alt="Logo"/>                     
 </div
 <div id="menu" style="float:right;vertical-align:bottom">
<ul class="menuwrapper"> 
<li><h4><a href="#">Logg ut</a></h4></li>                                                              <li><h4><a href="#">Kontakt</a></h4></li> 
<li><h4><a href="#">Kontrollpanel</a></h4></li> 
<li><h4><a href="#">Oppskrifter</a></h4></li> 
<li><h4><a href="#">Hjem</a></h4></li> 
</ul> 
 </div>


</div> 

I am not sure that may be the right combination, but I think with the three divs inside the div you will gain more control over the elements inside the header div.

2024-08-27 13:56:15

Omit the h4 in the menu since i think it is not needed. Than set display:block on <a> and use line-height and padding-left , padding-right to make the anchor expand the right size. Also notice that li:hover is not supported in IE6/7 without some tweaks. To position the menu on same level as logo just set a margin-top on ul element.

能否归途做我良人 2024-08-27 13:56:15

对我来说有太多的规则,太多无用的规则。
没有时间纠正所有问题并在 FF/IE 上测试它,但这适用于示例:
.menuwrapper li {
浮动:右;
列表样式:无;
内边距:30px 23px 3px 23px;
位置:相对;
顶部:7 像素;
}

There're too many rules for me, too many useless rules.
Don't have the time to correct all and test it on FF/IE, but this works ofr example :
.menuwrapper li {
float:right;
list-style: none;
padding: 30px 23px 3px 23px;
position: relative;
top: 7px;
}

月亮坠入山谷 2024-08-27 13:56:15

垂直对齐怎么样?

What about vertical-align?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文