CSS Styling Issues

本节列出了 SAPUI5 中与 CSS 款式相干的一些最重要的规定。

SAPUI5 控件应用 CSS 进行款式设置,并且因为应用程序能够提供本人的 CSS,因而它们能够调整款式。 然而,这种适应越深,它们就越有可能与将来的 SAPUI5 更新或其余库和应用程序相关联。但如果咱们遵循上面列出的规定,能够升高产生这种状况的危险。

Don't override control class styling directly

SAPUI5 不保障跨版本款式类名的稳定性。 如果款式类的命名在当前的版本中发生变化,款式规定将不再利用于指标元素。 此外,当应用程序在共享运行时环境(如 SAP Fiori Launchpad)中运行时,间接笼罩控件类款式可能会导致款式抵触。

最佳实际就是,增加您本人的命名空间类。

不好的做法:间接批改 SAP 规范的 CSS class:

.sapMInputBaseError {    font-weight: bold;}

正确做法:

oButton.addStyleClass("poaAppError");
.poaAppError {    font-weight: bold;}

Don't style DOM element names directly

间接款式化 DOM 元素会导致不可预知的后果,因为 SAPUI5 不保障外部管制 DOM 树随工夫的稳定性。 此外,当应用程序在共享运行时环境(如 SAP Fiori Launchpad)中运行或增加自定义 HTML 时,这可能会导致款式抵触。 最好将款式更改限度为专门应用的 CSS 类。

不好的例子:

div {    width: 120px;}

正确做法:

.myStyleClass {    width: 120px;}

Don't use generated IDs in CSS selectors

SAPUI5 应用程序能够为元素创立动静 ID。 不要将这些 ID 用作自定义 CSS 中的选择器,因为它们会随着工夫而扭转。 最好增加和应用 CSS 类。

错误做法:

#__view1__button0 {    font-weight: bold;}

正确做法:

.myEmphasizedButton {    font-weight: bold;}

Don't create selectors that are not namespaced

未命名空间的自定义选择器和 CSS 类可能会导致共享运行时环境(如 SAP Fiori Launchpad)中的款式抵触,或者蕴含可能应用雷同 CSS 类名称的其余 JavaScript 库时。

错误做法:

.title {    font-weight: bold;}

正确做法:

.poaAppTitle {    font-weight: bold;}

Don't use hard-coded colors, font sizes and images if the app should be themable

应用程序的主题性依赖于 SAPUI5 主题 CSS 中的 LESS 计算。 应用程序和自定义控件中的硬编码色彩、字体和图像意味着这些色彩不会被主题批改,这会导致设计问题或可拜访性问题(例如,在高对比度彩色 (HCB) 主题中)。 您能够应用由这些 LESS 计算提供的非凡 CSS 类。

错误做法:

.myCustomHTML {    color: #FFF;    background-color: blue;}

正确做法:

将 CSS 类 sapThemeTextInverted 和 sapThemeHighlight-asBackgroundColor 增加到您的自定义 HTML 元素。