SAP UI5 使用 CSS 的一些注意事项

简介: 本节列出了 SAPUI5 中与 CSS 样式相关的一些最重要的规则。SAPUI5 控件使用 CSS 进行样式设置,并且由于应用程序可以提供自己的 CSS,因此它们可以调整样式。 然而,这种适应越深,它们就越有可能与未来的 SAPUI5 更新或其他库和应用程序相关联。但如果我们遵循下面列出的规则,可以降低发生这种情况的风险。Don’t override control class styling directlySAPUI5 不保证跨版本样式类名的稳定性。 如果样式类的命名在以后的版本中发生变化,样式规则将不再应用于目标元素。 此外,当应用程序在共享运行时环境

本节列出了 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 元素。


注意

如兼容性规则所述,SAPUI5 生成的 HTML 和 CSS 不是公共 API 的一部分,可能会在补丁和次要版本中发生变化。 如果您决定覆盖样式,您有义务在每次更新 SAPUI5 时测试和更新您的修改。 这样做的先决条件是您可以控制正在使用的 SAPUI5 版本,例如在 standalone 中。 在 SAP Fiori launchpad 中运行您的应用程序时,这是不可能的,其中 SAPUI5 为所有应用程序集中加载。 因此,SAP Fiori launchpad 应用程序不应覆盖样式。


相关文章
|
6月前
|
移动开发 前端开发 HTML5
html+css实战149-定位-注意事项
html+css实战149-定位-注意事项
75 0
|
前端开发 JavaScript API
SAP UI5 使用 CSS 的一些注意事项
SAP UI5 使用 CSS 的一些注意事项
138 0
SAP UI5 使用 CSS 的一些注意事项
|
前端开发 iOS开发 Android开发
移动端APP CSS Reset及注意事项CSS重置
@charset "utf-8"; * {    -webkit-box-sizing: border-box;     box-sizing: border-box; } //禁止文本缩放 字体设置  取消touch高亮效果 html {     width: 100%;     height: ...
1059 0
|
13天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
21 0
|
1月前
|
XML 编解码 前端开发
编程笔记 html5&css&js 033 HTML SVG
编程笔记 html5&css&js 033 HTML SVG
|
4天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
8天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
8天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册