0

我有这个菜单:

<div class="nav">
    <ul>
        <li><a href="#">HOME</a></li>
        <li><a href="#">AMORTECIMENTO</a></li>
    </ul>
</div>

正常外观:

正常外观

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

:hover 外观

所以,我不知道如何设置 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

4 回答 4

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; }
于 2012-10-04T19:04:22.603 回答
2

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

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

编辑:您遇到的问题不仅仅是背景图片...

  • 您需要将导航文本垂直居中设置导航单元的最小宽度,以便球的左侧和右侧不会被切断
  • 为锚标记设置纯白色背景,以便文本在悬停时实际上可见
  • 为大于中心图像的锚标签设置 z-index 以便它们都可以点击(现在你不能点击中心右侧的链接)

祝你好运。我不能为你写出所有这些代码,但这应该会让你朝着正确的方向前进。

于 2012-10-04T18:39:29.507 回答
0

在您的导航类上,您所要做的就是像这样编写您的 css:

.nav ul li:hover
{ 
background-image:url('yourimage.jpg');
}
于 2012-10-04T18:39:19.160 回答
0

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

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

于 2012-10-04T18:49:28.830 回答