如何在上下文中正确地将按钮放入容器的高度

时间:2012-07-21 18:05:39

标签: html css navigation

我几天来一直在努力解决这个问题,我试图改变我的CSS文档中的所有可能的属性,但它们似乎都没有。

网站:http://www.mohrdevelopment.com

问题出在导航栏中。

  1. 问题:我要删除的每个按钮之间有间距/间隙

  2. 问题:所有按钮(主页按钮除外)在悬停时会扩展到超出导航栏的背景。导航栏的高度为40px。

  3. 这是我对条形码的HTML编码:

    <div class="wrap">
    
            <ul class="navigation">
                <li class="current"><a href="index.html"><em class="home"/><b>Home</b></a></li>
                <li><a href="second.html"><em class="photos"/><b>Photos</b></a></li>
                <li><a href="projects.html"><em class="projects"/><b>Projects</b></a></li>
                <li><a href="about.html"><em class="about"/><b>About</b></a></li>
                <li><a href="contact.html"><em class="contact"/><b>Contact</b></a></li>
            </ul>
    

    这是我的CSS代码:

    body {
            font-family:sans-serif;
            background: url(images/background3.png);
        }
    
        .navigation {
            background:#1841c8 url(Navigation/Navigation/nav_background.png);
            height:40px;
            margin-bottom:0px;
            display:block;
            min-width:625px;
        }
    
        .navigation li{
            display:inline-block;
            line-height: 40px;
                }
    
        .navigation li a{
            color:#FFFFFF;
            padding: 11px 5px 15px;
        }
    
        .navigation li a em{
            height:32px;
            display:inline-block;
            padding: 0 5px 6px 50px;
            font-weight:bold;
            vertical-align: middle;
            background-position: 0 50%;
        }
    
        .navigation li a:hover{
            color:#00CCFF;
            background: url(Navigation/Navigation/nav_hover.png);
            text-decoration:none;
            padding: 11px 5px 10px;
        }
    
        .navigation .current a {
            color:#FFFFFF;
            background:url(Navigation/Navigation/nav_hover.png);
            padding-bottom:11px;
        }
    
    
        /*Navigation bar icons*/
        .navigation li a em.home {
            background-image: url(Navigation/Icon_images/home.png);
            background-repeat: no-repeat;
    
        }
    
        .navigation li a em.photos{
            background-image: url(Navigation/Icon_images/Photo.png);
            background-repeat: no-repeat;
        }
    
    
        .navigation li a em.projects{
            background-image: url(Navigation/Icon_images/projects.png);
            background-repeat: no-repeat;
        }
    
    
        .navigation li a em.about{
            background-image: url(Navigation/Icon_images/about.png);
            background-repeat: no-repeat;
        }
    
        .navigation li a em.contact{
            background-image: url(Navigation/Icon_images/Contact.png);
            background-repeat: no-repeat;
        }
    
    
    
        .wrap {
              margin:auto;
              width:80%;
              background:yellow;
            }
    

    希望有人可以帮我解决这个问题,我花了几个小时进行故障排除/寻找解决方案。

3 个答案:

答案 0 :(得分:1)

您的问题来自li元素之间的空白区域。我几天前就同样的问题回答了一个问题。看看 - &gt; Inline-Block without margins?

答案 1 :(得分:0)

修正菜单按钮之间的差距

.navigation li a {
    color: #FFFFFF;
    display: block;
    padding: 2px 0 15px;
}

答案 2 :(得分:0)

@Jonas Pedersen,您是否尝试将float属性用于li

我刚检查了你的网站,并用firebug进行了一些调整。以下是我尝试为您的导航CSS更改的内容:

.navigation {
    background:#1841c8 url(Navigation/Navigation/nav_background.png);
    height:65px; /*add more height (was 40px)*/
    margin-bottom:0px;
    display:block;
    min-width:625px;
}

.navigation li{
    display:inline-block;
    line-height:40px;
    float:left; /*add 'float' property for the navigation menu*/
}

li {
    list-style: none outside none;
    margin-bottom: 20px; /* delete this property */
}

嗯,这是概述:

  1. height
  2. 添加更多.navigation
  3. float: left
  4. 添加.navigation li
  5. margin-bottom {style.css:第146行}
  6. 删除li

    希望它可以帮助你...