【问题标题】:Remove Gaps Between Links In Unordered List删除无序列表中链接之间的间隙
【发布时间】:2013-04-10 20:24:53
【问题描述】:

这一定是非常简单的事情,但我只是没有看到它,希望得到一些建议。

当鼠标悬停在不同的链接上时,我应用了 CSS 来显示不同的图像。默认情况下,其中一张图像是背景 jpg 图像的一部分。只有当鼠标悬停在相应的链接上时,才会出现所有其他图像。

问题:当我沿链接行左右滑动光标时,或者垂直上下滑动时,链接之间有间隙,大约4px左右。当光标在间隙上时,链接无效,因此顶部没有图像,并且显示背景图像,产生一种闪烁。

问题:我怎样才能消除链接之间的间隙,使背景图像仅在光标悬停在其链接上时才可见,而在其他地方不可见?

提前谢谢你!

【问题讨论】:

    标签: css hyperlink hover html-lists mouseover


    【解决方案1】:

    这个小间隙的原因是因为如果你在两个元素之间有一个换行符或多个空格,浏览器会将所有这些都折叠到一个空格中。正是您所看到的空间。

    你需要做的是以下(我知道标记看起来很难看):

    <div id="hero-links-container">
    <ul> 
        <li>
            <a href="" id="hero-link-pianos"><div id="hero-image-piano"></div>Pianos</a><a href="" id="hero-link-woodwinds"><div id="hero-image-woodwinds"></div>Woodwinds</a><a href="" id="hero-link-percussion"><div id="hero-image-percussion"></div>Percussion</a><a href="" id="hero-link-music-education"><div id="hero-image-music-education"></div>Music Education</a><a href="" id="hero-link-brasswinds"><div id="hero-image-brasswinds"></div>Brasswinds</a><a href="" id="hero-link-strings"><div id="hero-image-strings"></div>Strings</a><a href="" id="hero-link-accessories"><div id="hero-image-accessories"></div>Accessories</a><a href="" id="hero-link-recorded-music"><div id="hero-image-recorded-music"></div>Recorded Music</a>
        </li>
    </ul>
    </div> 
    

    【讨论】:

    • 这部分解决了问题,@Kenneth,但不是完全解决。请您看一下,我按照您的建议更新了网站,谢谢。水平方向有效,但垂直方向仍有间隙,当鼠标悬停在其上时,钢琴图像就会显示出来。
    • 垂直间隙是行高问题以及您将文本垂直对齐基线的事实。一些解决方案:将链接的 padding-top 设置为 5px => 这将增加高度或将 vertical-align 设置为“top”。
    猜你喜欢
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2011-02-09
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多