SAPUI5中的自定义字体 - 使用自定义字体覆盖整个主题及其控件字体

Chi*_*ird 3 css sap fonts themes sapui5

反正我们可以将现有主题及其控件覆盖为自定义字体吗?

问题:我可以使用自定义字体覆盖全局字体,但我不能覆盖每个控件字体,因为所有控件都分配了自己的Font属性,而不是从全局继承.

有解决方案吗

csc*_*uff 6

UI5主题和少数

UI5在内部使用LESS以舒适的方式启用Theming.LESS是一个扩展CSS功能的CSS预编译器.其含义和缺点是,已经预编译了已交付的UI5主题,这意味着您的应用程序仅使用生成的纯CSS.

用于主题的UI5工具

不幸的是,到目前为止,它背后的真正的UI5工具尚未向我们的开发人员公开.他们提供的唯一工具是Theme Designer.甚至有一个点播版本在这里.使用Theme Designer,您应该能够根据需要轻松更改样式.

黑客UI5主题

但是主题中包含的所有ControlName.css文件仍然是未编译的较少文件,您可以在library.less文件中找到UI5正在使用的所有LESS变量.因此,通过一些黑客攻击,您应该能够将这些LESS文件重新编译为在运行时使用的新library.css文件.将库的所有css文件与library.less组合并编译为单个文件 - library.css

因此,如果您想了解更多细节并了解幕后发生的事情,请查看library.less文件,例如 http://[host][:port]/[path_to_my_application]/resources/sap/m/themes/sap_bluecrystal/library.less

你会在那里找到所有的UI5 LESS变量.可能对你最有趣的是@sapUiFontFamily.

无论如何我不建议在这里改变很多,因为你的造型可以很容易地破坏新的UI5版本!