简体   繁体   English

删除字体真棒图标周围的白色边框

[英]Remove white border around font awesome icon

I've been trying to hack the font awesome icon to be all the blue with the icon white but this is the closest I've been.我一直在尝试将字体真棒图标破解为蓝色,图标为白色,但这是我最接近的。 Know what I need to add/remove?知道我需要添加/删除什么吗? Tried transparent borders, remove padding/margins, positioned absoluted a span behind with no luck.尝试了透明边框,删除填充/边距,定位在一个跨度后面,没有运气。

在此处输入图像描述

 .b-social-media-shares__a { width: 48px; height: 48px; border-radius: 50%; text-align: center; margin: 0 6px; &:hover { box-shadow: 1px 3px 5px grey; } i { color: white; line-height: 48px; font-size: 25px; } }.b-social-media-shares--facebook { background-color: #4267B2; }.b-social-media-shares--facebook.fa-facebook-f { color: #4267B2; line-height: 48px; font-size: 28px; }.b-social-media-shares--facebook.fa-facebook-f:before { content: "\f09a"; background-color: white; border-radius: 50%; }.b-social-media-shares--facebook:hover { background-color: white; }.b-social-media-shares--facebook:hover i { color: #4267B2; }
 <a id="facebook" href="" class="b-social-media-shares__a b-social-media-shares--facebook dnt" target="_blank"> <i class="fab fa-facebook-f"></i> </a>

Some unnecessary and some conflicting styles.一些不必要的和一些冲突的 styles。 See comments in the code:查看代码中的注释:

.b-social-media-shares__a {
  display: inline-flex; // added
  align-items: center; // added
  justify-content: center; // added
  text-decoration: none; // added, but not required (removes the underline)

  width: 48px;
  height: 48px;
  border-radius: 50%;
  // text-align: center; // not required because of `justify-content`
  margin: 0 6px;

  &:hover {
    box-shadow: 1px 3px 5px grey;
  }

  i {
    color: white;
    // line-height: 48px; // not really required
    font-size: 25px;
  }
}
.b-social-media-shares--facebook {
  background-color: #4267b2;
}

.b-social-media-shares--facebook .fa-facebook-f {
  // color: #4267b2; // not required (it should be white)
  // line-height: 48px; // not really required
  font-size: 28px;
}

// This whole ruleset is not required
// .b-social-media-shares--facebook .fa-facebook-f:before {
//   content: "\f09a";
//   background-color: white;
//   border-radius: 50%;
// }

.b-social-media-shares--facebook:hover {
  background-color: white;
}

.b-social-media-shares--facebook:hover i {
  color: #4267b2;
}

Maybe as an alternate solution you could place just the "f" in a blue circle也许作为替代解决方案,您可以将“f”放在蓝色圆圈中

I made this snippet, I hope it helps:我做了这个片段,我希望它有帮助:

https://codesandbox.io/s/icy-dust-2vfvi?file=/src/index.js:69-132 https://codesandbox.io/s/icy-dust-2vfvi?file=/src/index.js:69-132

There is no border... You're putting a circle icon inside a circular element that's larger than the icon.没有边框...您将圆形图标放在比图标大的圆形元素内。 The wrapper element has a white background and a blue border.包装元素具有白色背景和蓝色边框。 This background is showing behind your icon.此背景显示在您的图标后面。

Change改变

.b-social-media-shares--facebook .fa-facebook-f:before {
      background-color: white;
    }

to have a blue background...要有蓝色背景...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM