Svg 如何获取图标的字符代码?
我想在SVG范围内使用这些图标。我不能用普通的方法实现它,但我可以添加包含相应UTF-8字符的Svg 如何获取图标的字符代码?,svg,font-awesome,Svg,Font Awesome,我想在SVG范围内使用这些图标。我不能用普通的方法实现它,但我可以添加包含相应UTF-8字符的元素,并将字体设置为fontawesome,如下所示: <text style="font-family: FontAwesome;">\uf0ac</text> 但这当然很难看,因为我必须自己写,我的代码。如何仅从fontawesome库获取这些值?您可以避免生成这样的列表,并从fontawesome样式表中动态提取信息。包括样式表,并像往常一样设置类。e <tspan
元素,并将字体设置为fontawesome,如下所示:
<text style="font-family: FontAwesome;">\uf0ac</text>
但这当然很难看,因为我必须自己写,我的代码。如何仅从fontawesome库获取这些值?您可以避免生成这样的列表,并从fontawesome样式表中动态提取信息。包括样式表,并像往常一样设置类。e
<tspan class="fa fa-globe"></tspan>
您可以避免生成这样的列表,并动态地从字体样式表中提取信息。包括样式表,并像往常一样设置类。e
<tspan class="fa fa-globe"></tspan>
我对问题的两种解决方法的两个答案(都是由ccprog开发的): 1。按类定义设置字符:
const getFontAwesomeIconChar = (name) => {
var stylesheets = Array.from(document.styleSheets);
var rules = stylesheets.map(function(ss) {
return ss && ss.cssRules ? Array.from(ss.cssRules) : [];
})
rules = [].concat.apply([], rules);
var style = rules.find(function (r) {
return r.selectorText && r.selectorText.endsWith(name + "::before");
}).style;
return style.content.substr(1,1);
}
在这种方法中,我们可以这样定义元素:
<text class="fa fa-globe"></text>
但我对这种方法有一些问题,所以我开发了第二种方法
2。使用函数获取字符:
const getFontAwesomeIconChar = (name) => {
var stylesheets = Array.from(document.styleSheets);
var rules = stylesheets.map(function(ss) {
return ss && ss.cssRules ? Array.from(ss.cssRules) : [];
})
rules = [].concat.apply([], rules);
var style = rules.find(function (r) {
return r.selectorText && r.selectorText.endsWith(name + "::before");
}).style;
return style.content.substr(1,1);
}
定义该函数后,我们可以执行以下操作(使用React语法的示例):
{getFontAwesomeIconChar('fa-globe')}
我对两种解决问题的方法的两个答案(都是由ccprog开发的):
1。按类定义设置字符:
const getFontAwesomeIconChar = (name) => {
var stylesheets = Array.from(document.styleSheets);
var rules = stylesheets.map(function(ss) {
return ss && ss.cssRules ? Array.from(ss.cssRules) : [];
})
rules = [].concat.apply([], rules);
var style = rules.find(function (r) {
return r.selectorText && r.selectorText.endsWith(name + "::before");
}).style;
return style.content.substr(1,1);
}
在这种方法中,我们可以这样定义元素:
<text class="fa fa-globe"></text>
但我对这种方法有一些问题,所以我开发了第二种方法
2。使用函数获取字符:
const getFontAwesomeIconChar = (name) => {
var stylesheets = Array.from(document.styleSheets);
var rules = stylesheets.map(function(ss) {
return ss && ss.cssRules ? Array.from(ss.cssRules) : [];
})
rules = [].concat.apply([], rules);
var style = rules.find(function (r) {
return r.selectorText && r.selectorText.endsWith(name + "::before");
}).style;
return style.content.substr(1,1);
}
定义该函数后,我们可以执行以下操作(使用React语法的示例):
{getFontAwesomeIconChar('fa-globe')}
@KevinBrown的副本-这不一样。这篇文章的作者想要一个所有图标名称的列表,但我想得到与这些名称对应的字符。在这里,您可以使用jquery获取所有可能的值,或者在标签中可以找到窗口。图标
图标和元数据列表。重复的@KevinBrown-这不一样。这篇文章的作者想要一个所有图标名称的列表,但我想得到与这些名称对应的字符。在这里,您可以使用jquery获取所有可能的值或在标签中找到窗口。图标
图标和元数据列表。您好,感谢您的解决方案!的确,它对我不起作用,但经过一些修改后我得到了它:)你可以在下面找到我的版本,我认为这更通用。嗨,谢谢你的解决方案!的确,它对我不起作用,但经过一些修改后我得到了它:)你可以在下面找到我的版本,我认为这更通用。可以使用merged=[].concat.apply([],数组)来展平数组。
可以使用merged=[].concat.apply([],数组)