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

时间:2014-07-23 06:54:27

标签: css fonts themes sap sapui5

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

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

任何解决方案?

2 个答案:

答案 0 :(得分:5)

UI5主题和少数

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

用于主题的UI5工具

不幸的是,到目前为止,它背后真正的UI5工具尚未向我们的开发人员公开。他们提供的唯一工具是Theme Designer。甚至还有一个按需版本here。使用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版本可以轻松破解样式!

答案 1 :(得分:0)

您是否使用UI Theme Designer 为自定义主题生成CSS文件?如果没有,你应该试一试。它使调整变得非常容易。

要自定义几个或所有字体系列,只需选择设计器右侧的“专家”设置选项卡,然后过滤“FontFamily”。然后它将列出所有相关属性。