2011-09-06 108 views
0

我尝试建立与精灵的图像和文字文本和图像精灵

这里,横向菜单是什么,我想,但不能用CSS实现图像。

Fig1

我的CSS是这样的。

 

    #top_menu { 
     color: #FFFFFF; 
     height: 40px; 
     background-color:#222; 
     float: right; 
    } 
    #top_menu ul { 
     font-size: 13px; 
     margin-top: 13px; 
    } 
    #top_menu li { 
     display: inline; 
     list-style-type: none; 
     padding-right: 10px; 
    } 

    .sprite {background:url(images/sprite.png);} 
    .transparent {background:url(/images/transparent.png);} 
     .contact {height:18px;} 


      /*Top menu icons*/ 
      .sales{width:13px;background-position:-1px -72px;} 
      .login{width:13px;background-position:-15px -72px;} 
      .forum{width:13px;background-position:-29px -72px;} 
        .livechat{width:13px;background-position:-44px -72px;} 

HTML部分

<div id="top_menu" class="grid_6"> 
     <ul id="top_nav"> 
     <li class="sprite contact sales"><span>Sales:1-800-555-7777</span></li> 
     <li class="sprite contact login"><span>Administrator</span></li> 
     <li class="sprite contact forum"><span>Forum</span></li> 
     <li class="sprite contact livechat"><span>Live Chat</span></li> 
     </ul> 
    </div> 

正如你所看到的图像是对文本的顶部,也显示一个以上的图标。 :( Fig2

任何人都可以请帮我这个?我不想由单独调用每个图标。 非常感谢!

+0

你能后的精灵? –

回答

1

你必须以不同的方式创建你的精灵一点。

而不是把图标下一个彼此的,把它们在彼此的顶部。这样一来,所有你需要做的就是调整Y定位来获得你想要的图标。

您可能也有兴趣使用这些工具之一:

http://csssprites.com/

http://spriteme.org/

+0

谢谢约瑟夫的提示,但是,怎么样的文字显示在图像的顶部? –

+0

为此,您只需在元素中添加一个“填充左侧”,以便文本不会覆盖背景图像。你也可以尝试'text-indent'。 –

+0

再次感谢。我现在就玩,让所有人知道......非常感谢! –