css 如何从谷歌的材料设计图标外观删除间距?

odopli94  于 2023-03-09  发布在  其他
关注(0)|答案(3)|浏览(109)

**标题:**我在删除Google's Material Design icons周围的空格时遇到了麻烦,而且似乎在Google或the Material Design icons guide上找不到任何解决方案。我不确定答案是否非常简单,我错过了它,或者是否有更深刻的原因来解释为什么我无法完成一个看似简单的任务。

下面你可以找到我的项目中相关代码的摘录,或者,你也可以找到view my full project here

  • 我的加价,
<header class="primary-header first-header-column">
  <i class="material-icons primary-header-material-icon-first-menu">
    menu
  </i>
  <h1>
    <strong>
      Neocrypt
    </strong> 
    Network
  </h1>
  <nav class="primary-header-navigation">

  </nav>
</header>
  • 图标样式,
.material-icons.primary-header-material-icon-first-menu {
  color: var(--primary-typeface-color);
  font-size: 48px;
}
  • 标题样式,以及
.primary-header h1 {
  text-align: center;
  color: var(--primary-typeface-color);
  display: inline;
  font-family: var(--primary-typeface);
  font-size: 60px;
  line-height: 150px;
}
  • 引用的变量(不相关)。
:root {
  --primary-typeface-color: #ffffff;
  --primary-typeface: 'Lato', sans-serif;
}

我希望图标直接出现在标题旁边,图标周围没有填充,这样我就可以自己在元素周围添加间距,就像重置一样!我尝试使用padding: 0px;,以及其他一些解决方案来尝试解决这个问题,但是,都无济于事。

**脚注:**我使用的是Eric Meyer's "Reset CSS",但据我所知,这对Google的Material Design图标没有影响。
**更新(24/03/2018 01:33 UTC):**Google似乎在图像文件中的图标周围添加了间距,用户无法选择设置该间距的格式。如果其他人也有同样的问题,我建议您使用其他图标字体,如Font Awesome

mwkjh3gx

mwkjh3gx1#

我通过应用负边距来解决这个问题。它很有效...但是Font Awesome解决这个问题的方法很棒,完全同意@Michael Burns。
当应用负边距时,px将取决于图标大小和具体的图标。但至少它在不同的浏览器中仍然是一致的。

.material-icons.primary-header-material-icon-first-menu {
  margin-left: -2px;
}
bttbmeg0

bttbmeg02#

我所做的是用一个span Package icon,并给予它一个修复hightwidth,然后我所要做的就是隐藏overflow
这就是它在我的浏览器中的外观。

从图标中删除白色的示例。

.print-element {
  min-width: 175px;
  min-height: 45px;
  border: solid 1px #ccc;
  color: rgba(0, 0, 0, 0.87);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fff;
  border-radius: 4px;
  margin-right: 25px 25px 15px 0px;
  cursor: move;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: 10px 50px 10px 10px;
  transition: box-shadow 200ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.resize-circle {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  border: .1px solid white;
  color: #aaa;
  cursor: pointer;
}

span {
  width: 20px;
  height: 20px;
  background: white;
  position: absolute;
  top: -7px;
  border-radius: 50%;
  right: -7px;
  overflow: hidden;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<div class="print-element">
  Tag Number
  <span><i class="material-icons resize-circle">highlight_off</i></span>
</div>
dsekswqp

dsekswqp3#

手动删除填充不是一个可伸缩的解决方案,所以我创建了一个工具来删除图标集中所有图标的填充。它确实需要您创建一个新的图标集,但它可能会有帮助:https://github.com/jgillick/IconsetCropper

相关问题