当前位置: 首页 > Web前端 > JavaScript

SAPSpartacusUI的方向服务是什么

时间:2023-03-27 11:49:58 JavaScript

方向性特性提供了对双向文本和布局的支持。您可以将Spartacus配置为使用从左到右(LTR)或从右到左(RTL)方向。方向性是由语言驱动的。许多语言是从左到右阅读的,但有些语言,如阿拉伯语和希伯来语,是从右到左阅读的。在Spartacus中,UI的方向反映了活动语言,因此方向性可以在双向体验中发挥作用。如果您的店面同时包含LTR和RTL语言,则会使用活动语言自动检测方向。对DOM和CSS的更改被认为是重大更改,因此只有在使用2.1功能标志和2.1CSS版本启用方向性时才可用。有关CSS版本的更多信息,请参阅CSS体系结构中的样式版本控制。您可以使用DirectionConfig接口中的属性配置方向性。默认配置包含以下属性:constdefaultDirectionConfig:DirectionConfig={direction:{detect:true,default:DirectionMode.LTR,rtlLanguages:["he","ar"],},};默认情况下,所有语言都映射到LTR方向,除了希伯来语(he)和阿拉伯语(ar)。可以通过配置添加其他RTL语言。默认配置应该适用于大多数项目,但如果您正在实施面向RTL的店面,您可能会考虑将默认方向更改为RTL并引入一些明确的LTR语言。下面是一个例子:ConfigModule.withConfig({direction:{default:DirectionMode.RTL,ltrLanguages:['en'],},}asDirectionConfig),方向性是基于添加到html元素的HTML5dir属性实现的,如如下Example:...dir属性可以添加到多个元素中,但是在Spartacus中,只添加一个方向,即添加到html元素中。然后HTMLdir属性将方向级联到所有后代元素以及CSS。实际的文本和布局方向由CSS驱动。现代CSS模式和技术旨在在双向设置中工作。一个很好的例子是Flexbox,它使用“开始”和“结束”等逻辑位置进行布局。应避免使用“左”和“右”等空间位置,因为它们不支持双向布局。为了控制边距和填充,样式层使用逻辑属性构建。逻辑属性允许您编写方向相关的CSS规则,而不是面向空间的边距和填充。此类属性的示例如下所示:.sample-1{/*在元素的开头添加边距*/margin-inline-start:10px;}.sample-2{/*在末尾添加填充ofanelement*/padding-inline-end:10px;}关于图标对于RTL语言,图标需要特别注意。虽然大多数图标都是通用的,但实际上有些图标无论方向如何都必须翻转。指示方向的图标通常需要翻转。一个很好的例子是用于浏览产品轮播的图标。翻转方向后,这些图标也应翻转。您可以使用flipDirection配置来提供应按特定方向翻转的图标类型列表。默认配置负责翻转那些应该翻转的图标,如下所示: