CSS乱码与图像背景有问题

时间:2011-04-26 13:18:54

标签: hover css

我在列表中的TEXT网站上的导航部分遇到了一些问题......例如:

<div class="nav_wrapper">
    <ul class="nav">
        <li><a href="index.php">HOME</a></li>
        <li><a href="about.php">ABOUT US</a></li>
        <li><a href="services.php">SERVICES</a></li>
        <li class="last"><a href="contact_us.php">CONTACT US</a></li>
    </ul>
</div>

现在我要做的是在悬停时显示图像背景;但是当它这样做时,图像不会完全显示......它只围绕文本本身;这是有意义的,因为我将背景应用于标签。

我尝试过设置宽度和宽度。通过css到标签的高度,但它不起作用。

所以我的问题是如何让它在悬停时显示整个图像?

我目前的css如下:

#header .nav_wrapper {
    float: left;
    width: 597px;
    margin: 30px 0 0 50px;
}

#header .nav_wrapper .nav {
    list-style-type: none;
    list-style-image: none;
}

#header .nav_wrapper li {
    display: inline;
    width: 72px;
    height: 23px;
    font-family: "Zurich Cn BT", Tahoma;
    font-size: 12px;
    margin-right: 15px;
}

ul.nav li a, ul.nav li a:visited, ul.nav li a:focus {
    color: #764422;
    text-decoration: none;    
}

ul.nav li a:hover, ul.nav li a:active {
    color: #fff;
    text-decoration: none;
    background-image: url(../images/nav-bg.png);
}

#header .nav .last {
    width: 87px;
    margin-right: 0;
}

2 个答案:

答案 0 :(得分:2)

添加此CSS

ul.nav li a {
    display:block;
}

答案 1 :(得分:1)

<a>链接需要display: block;才能获得高度和宽度

要使块级链接仍然并排显示,您应该浮动li项目或使它们display: inline-block;

e.g。使用float为li和一些颜色进行可视化

#header .nav_wrapper ul {
    font-family: "Zurich Cn BT", Tahoma;
    font-size: 12px;    
    list-style: none;
    margin: 0;
    padding: 0;
}

#header .nav_wrapper li {
    float: left;
    width: 72px;
    height: 30px;
    margin-right: 15px;
    background: #eee;
    text-align: center;
}

#header .nav_wrapper li a {
  display: block; 
  line-height: 30px;
  }

ul.nav li a, ul.nav li a:visited, ul.nav li a:focus {
    color: #764422;
    text-decoration: none;    
}

ul.nav li a:hover, ul.nav li a:active {
    color: #fff;
    background: #444 url(../images/nav-bg.png);
}