在悬停</li>时更改<li>背景

时间:2012-10-04 18:35:26

标签: html css

我有这个菜单:

<div class="nav">
    <ul>
        <li><a href="#">HOME</a></li>
        <li><a href="#">AMORTECIMENTO</a></li>
    </ul>
</div>
正常的外表:

normal apearance

这是用户悬停菜单时的外观:

:hover apearance

所以,我不知道如何设置CSS,假设我在菜单上有大名:“AMORTECIMENTO”

任何提示??

我试过这个,但是对于小名,菜单正在削减背景......

.nav ul li a{
    display:block;
    font-size:15px;
    color:#000;
    padding:5px 7px;
    background:transparent;
    text-decoration:none;
}

.nav ul li:hover{
    background:url(../imagens/bola_fundo_menu.png) center no-repeat;
}

我的意图是,当用户将菜单项悬停在<li>背景上,打开篮球,然后在<a>标签上,背景将转到#FFF,但我有小名和大名在菜单上,所以我无法设置<li><a>标签的宽度...我认为

4 个答案:

答案 0 :(得分:3)

以下是使用伪元素的快速示例:http://codepen.io/anon/pen/iwerJ

使用您最初发布的确切HTML,使用这样的CSS:

.nav { 
  background: #CCC; 
  font-family: Helvetica, Arial, sans-serif;
  line-height: 48px; 
  margin: 50px auto 0;
  width: 90%;
}

.nav ul:after {
  clear: both;
  content: '';
  display: block; 
}

.nav ul li {
  float: left;
  font-size: 14px;
  list-style: none;
  padding: 0 10px;
  position: relative;
}
.nav ul li:hover:after {
    /* Replace background with image */
    background: #abc123;
    /* Optionally remove radius */
    border-radius: 30px;

    content: '';
    display: block;
    position: absolute;
    top: 50%; left: 50%;
    margin-top: -30px; 
    margin-left: -30px;
    height: 60px; width: 60px;
}

.nav a {
  color: #333;
  display: inline-block;
  line-height: 180%;
  padding: 0 4px;
  position: relative;
  text-decoration: none;
  z-index: 1;
}
    .nav li:hover a { background: #FFF; }

答案 1 :(得分:2)

只需设置悬停背景即可。例如:

div.nav li:hover{
  background-image: url('basketball.jpg');
}

编辑: 除了背景图片之外,你还有很多问题......

  • 您需要将导航文本集垂直居中设置为最小宽度 导航单元格,以便球的左右两侧不被切断
  • 为锚标记设置纯白色背景,以便在悬停
  • 时实际显示文字
  • 为锚标记设置更大的z-index 而不是中心图像,以便它们都可以点击(现在你 无法点击中心右侧的链接)
祝你好运。我无法为您编写所有代码,但这应该会向您发送正确的方向。

答案 2 :(得分:0)

你的导航课上的

你所要做的就是写下你的css:

.nav ul li:hover
{ 
background-image:url('yourimage.jpg');
}

答案 3 :(得分:0)

要修复截止图像,您只需在min-width元素上添加.nav li即可。确保该值至少与背景图像一样宽。

您可能还想添加text-align: center