字体很棒的SVG -PHP
可以用来添加字体Awesome 6+的SVG图标的PHP类,而无需JavaScript。
安装
您可以使用作曲家安装它:
composer require husseinalhammad/fontawesome-svg
或者,您可以下载FontAwesomeSVG.php文件并手动包含它。
用法
文件
- 下载字体很棒(免费或专业)
- 获取文件夹
advanced-options/raw-svg并将其放入您的项目中 - 将
svg-with-js/css/fa-svg-with-js添加到您的文档中(或编写您的CSS)
例子
// $dir = directory where SVG files are
$ FA = new FontAwesomeSVG ( $ dir );
echo $ FA -> get_svg ( ' fa-solid fa-file ' );添加自定义类:
echo $ FA -> get_svg ( ' fa-solid fa-file ' , [ ' class ' => ' my-custom-class another-class ' ]);删除默认类.svg-inline--fa :
echo $ FA -> get_svg ( ' fa-solid fa-file ' , [ ' default_class ' => false ]);更改填充(默认为currentColor ):
echo $ FA -> get_svg ( ' fa-solid fa-file ' , [ ' fill ' => ' #f44336 ' ]);添加 :
echo $ FA -> get_svg ( ' fa-solid fa-file ' , [ ' title ' => ' My accessible icon ' ]);一次多个选项:
echo $ FA -> get_svg ( ' fa-solid fa-file ' , [
' class ' => ' my-custom-class another-class ' ,
' default_class ' => false ,
' title ' => ' My title ' ,
' role ' => ' img ' ,
' fill ' => ' #ffffff ' ,
]);自定义Duotone图标:
echo $ FA -> get_svg ( ' fa-duotone fa-laugh-wink ' , [
' primary ' => [
' fill ' => ' #e64980 ' ,
],
' secondary ' => [
' fill ' => ' #fcc417 ' ,
' opacity ' => ' 1 ' ,
],
]);| 选项 | 这意味着什么 |
|---|---|
| 班级 | 将类添加到SVG标签 |
| default_class | 如果设置为false ,则默认CSS类不会添加到SVG标签中。 DeAfult: true 。 |
| inline_style | 是否将Duotone样式作为内联样式添加到标签中。 DeAfult: true 。 |
| 标题 | 在语义图标的SVG标签中添加 |
| title_id | 将id属性添加到中,并在SVG标签上添加aria-labelledby具有相同的值 |
| 角色 | SVG标签中role属性的值。默认值: img |
| 充满 | SVG内部中fill属性的值。默认值: currentColor |
| 基本的 | 双酮主要选项(请参见下表) |
| 次要 | Duotone辅助选项(请参见下表) |
Duotone
需要v5.10.0或更高的v5.10.0和Fontawesome Pro许可证
锋利的
需要v6.4.0或更高的v6.4.0和Fontawesome Pro许可证
echo $ FA -> get_svg ( ' fa-sharp fa-light fa-file ' );
echo $ FA -> get_svg ( ' fa-sharp fa-regular fa-file ' );
echo $ FA -> get_svg ( ' fa-sharp fa-solid fa-file ' );选项
如果启用了inline_style ,则在标签上的内联样式中也使用了fill和opacity的值。
| 选项 | 这意味着什么 |
|---|---|
| 充满 | SVG内部中fill属性的值。默认值: currentColor |
| 不透明度 | SVG内部中opacity属性的值。 |
示例:
单色:
echo $ FA -> get_svg ( ' fad fa-laugh-wink ' , [
' fill ' => ' #e64980 ' ,
]);交换层不透明度:
echo $ FA -> get_svg ( ' fad fa-laugh-wink ' , [
' fill ' => ' #e64980 ' ,
' class ' => ' fa-swap-opacity ' ,
]);具有自定义不透明度的单色:
echo $ FA -> get_svg ( ' fad fa-laugh-wink ' , [
' fill ' => ' #e64980 ' ,
' secondary ' => [
' opacity ' => ' 0.2 ' ,
],
]);自定义颜色和不透明度:
echo $ FA -> get_svg ( ' fad fa-laugh-wink ' , [
' primary ' => [
' fill ' => ' #e64980 ' ,
' opacity ' => ' 0.5 ' ,
],
' secondary ' => [
' fill ' => ' #fcc417 ' ,
' opacity ' => ' 1 ' ,
],
]);别名
版本5的简短别名仍得到支持
echo $ FA -> get_svg ( ' fab fa-twitter ' );
echo $ FA -> get_svg ( ' fad fa-file ' );
echo $ FA -> get_svg ( ' fal fa-file ' );
echo $ FA -> get_svg ( ' far fa-file ' );
echo $ FA -> get_svg ( ' fas fa-file ' );
// And the new shorthands for thin and sharp
echo $ FA -> get_svg ( ' fat fa-file ' ); // thin
echo $ FA -> get_svg ( ' fasl fa-file ' ); // sharp-light
echo $ FA -> get_svg ( ' fasr fa-file ' ); // sharp-regular
echo $ FA -> get_svg ( ' fass fa-file ' ); // sharp-solid 可访问性
以下基于:
- 字体很棒的可访问性文档
- Heather Migliorisi关于CSS-Tricks可访问的SVG的文章
role属性
role="img"默认情况下添加到SVG标签中:
">
< svg role =" img " > svg >
, aria-labelledby
您可以设置一个 , 的id ,并且将自动添加aria-labelledby属性:
echo $ FA -> get_svg ( ' fa-solid fa-file ' , [
' title ' => ' File ' ,
' title_id ' => ' file-id ' ,
]); < svg aria-labelledby =" file-id " >
< title id =" file-id " > File title >
svg > aria-*属性
您可以将任何ARIA-*属性添加到SVG标签:
echo $ FA -> get_svg ( ' fa-solid fa-file ' , [
' aria-label ' => ' File ' ,
]);">
< svg aria-label =" File " > svg >
aria-hidden属性
默认情况下, aria-hidden="true"默认为SVG标签,除非设置 (和aria-labelledby )或aria-label设置。
echo $ FA -> get_svg ( ' fa-solid fa-file ' );">
< svg aria-hidden =" true " > svg >
下载源码
通过命令行克隆项目:
git clone https://github.com/husseinalhammad/FontAwesomeSVG-PHP.git