将 Google 素材图标替换为自己的图标,保留相同的内容代码或创建新的内容代码



Google Material Icons 在图标字体系列中有不同的变体:圆形、锐利、双色调等。

UX团队正在获取一些图标,并对其进行自定义,稍微厚一点或小的修饰。

  1. 是否可以替换/编辑图标,并保持相同的内容代码而没有任何问题?例: 我们正在使用Visual Studio .Net Core应用程序,并将Material Icon放置在我们的库中。

  2. 此外,是否可以创建新的内容代码?比如说,我创建公司徽标。我可以为其分配内容代码吗?

引用同时具有内容代码和类名的材质图标

.carouselrightarrow {
font-family: Material Icons;
font-size: 36px;
position: absolute;
top: 16px;
content: "e409";
}
<button id="add-to-favorites"
class="mdc-icon-button">
<i class="material-icons mdc-icon-button__icon mdc-icon-button__icon--on">favorite</i>
<i class="material-icons mdc-icon-button__icon">favorite_border</i>
</button>

目前,目前正在更换圆形图标基础。除了节省编码时间/现有代码库之外,执行此操作的另一个原因;如果客户想要切换到Google材料:填充,锐利,双色调,轮廓,可以轻松完成。

参考资料

  • 如何使用谷歌材质图标设置 CSS 内容属性?
  • 材质设计图标 - 代码点

可能的解决方案链接

  • 如何使用材质图标
  • 自定义 SVG 图标 角度材质

最好的办法是覆盖CSS。

(这并不难。CSS中的C是"级联",这意味着后来的东西被使用,而不是之前的东西。这是覆盖。

创建一个 CSS 文件:

.material-icons.mdc-icon-button__icon--companylogo {
font-family: "Font From UX Team";
/* whatever other styling you need, like sizes */
content: 000;
}
.material-icons.mdc-icon-button__icon--on {
font-family: "Font From UX Team";
/* whatever other styling you need, like sizes */
content: 000;
}

确保来自 UX 团队的字体文件包含在此之前的某个位置。还要确保这个文件在其他CSS之后加载,材质图标现在正在使用的那个。将content指令替换为与所需图标匹配的字符代码(询问 UX 团队)。

应该会将您选择的所有材质图标内容替换为所需的内容。

如果您发现他们要替换的内容太多,无法管理自定义 CSS,请自动生成它或使用像 SASS 这样的 CSS 预处理器。

更新

您似乎正在使用来自Google的字体和来自您团队的SVG混合SVG和字体项目。这使事情复杂化。SVG 本质上是 HTML,而您使用的实体(图标)的定义纯粹是 CSS。问题出现是因为CSS期望HTML已经存在。

您可以执行以下几项操作:

  1. 使用所有 SVG。这意味着不使用材质图标中的字体文件,而是包含其 SVG。鉴于您可能正在为您做出原始决定的某个框架内工作,这可能非常困难。无论哪种方式,从HTML列表大小的角度来看,它都是昂贵的,因此页面加载时间。
  2. 将团队中的 SVG 组合成字体文件。这需要在后端进行最多的工作,但会产生最优雅的解决方案。您的UX团队可能知道如何做到这一点,或者他们可能愿意学习,从而为您省去麻烦。在你的构建过程中可能还有一种完全自动化的方法(VS,对吧?),这可能会为你省去麻烦。
  3. 仅包含要替换和添加的项目的 SVG。您可以选择将它们包含在每个页面上(HTML或CSS膨胀),或者以某种方式找出需要它们的位置并有选择地包含它们(代码复杂性)。

强烈推荐中间选项。也许首先问问你的用户体验团队,他们是否能够使用他们已经必须输出字体文件(ODT、TTF 等)的编辑软件,而不是 SVG 列表,这可能已经是一个可用的功能。单击其他位置可能会为您提供所需的结果,然后只需添加一些 CSS。

最新更新