【问题标题】:Icon font background on hover悬停时的图标字体背景
【发布时间】:2013-03-17 15:16:36
【问题描述】:

在我的网站http://www.stefaanoyen.be(左栏)的页脚中,我有一些社交媒体图标,它们是图标字体。悬停时,我想要红色的圆圈和白色的图标。红色圆圈有效,但它们后面有一个白色方块。如何将白色限制为图标/圆圈的形状?

这是我的 HTLM:

<p class="share"><a href="#">l</a> <a href="#">i</a> <a href="#">g</a> <a href="#">f</a></p>

这是我的 CSS:

.share a {
color: #ececec;
text-decoration: none;
font: 50px 'socialicoregular', Helvetica, sans-serif;
}

.share:hover {
cursor: pointer;
}

.share a:hover {
color: #B61618;
text-decoration: none;
font: 50px 'socialicoregular', Helvetica, sans-serif;
background-color: #fff;
}

非常感谢您的帮助!

史蒂芬

【问题讨论】:

    标签: css background hover icon-fonts


    【解决方案1】:

    对于这个没有简单的解决方案,因为您只依赖一种字体。您可以尝试添加一个border-radius(您的font-size 设置为50px,因此25px 的半径可能会这样做,但您必须使用它)到.share a:hover 元素。

    【讨论】:

    • 谢谢!我实现了这个,但它仍然在红色圆圈周围显示一个白色边缘......尝试使用background-size: 25px 25px,但没有做任何事情。有什么想法吗?
    • 也许你可以在.share a:hover上使用background-image(一个白色的圆圈宽度,右边的尺寸)
    【解决方案2】:

    “图标/圆圈的形状”实际上是一个矩形。 您正在为链接设置白色背景。链接是一个矩形。 您将无法直接设置字体/字符的背景样式。

    由于您的图标都是圆形的,因此您可以使用以下小技巧:

    border-radius: 50px;
    

    这只是一个猜测的数字。这并不意味着它是正确的。只需找到与您的图标高度/宽度相匹配的那个即可。 (您可能还需要使用 line-height 以确保您的字体是,或者至少看起来是垂直居中的。)

    【讨论】:

    • ..当然,这在不支持边框半径的浏览器中不起作用:caniuse.com/#feat=border-radius
    • 或者,你可以使用border-radius: 50% :)
    • 更好。谢谢,@特里
    • 谢谢!看看我下面的评论,有什么想法吗?
    猜你喜欢
    • 2021-04-29
    • 2022-01-24
    • 1970-01-01
    • 2014-04-02
    • 2013-12-09
    • 2012-07-26
    • 2013-01-27
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多