cssjanus/cssjanus

在左右向和右左向之间转换CSS样式表。

v2.3.0 2024-08-06 19:37 UTC

This package is auto-updated.

Last update: 2024-09-19 16:30:59 UTC


README

Packagist

CSSJanus

在左右向和右左向之间转换CSS样式表。

用法

transform( string $css, bool $swapLtrInURL = false, bool $swapLeftInURL = false ) : string

参数;

  • $css (字符串) 要转换的样式表。
  • $swapLtrInURL (布尔值) 在URL中交换ltrrtl方向。
  • $swapLeftInURL (布尔值) 在URL中交换leftright边缘。

示例

$rtlCss = CSSJanus::transform( $ltrCss );

防止翻转

如果一条规则不希望被CSSJanus翻转,请使用/* @noflip */注释来保护该规则。

.rule1 {
  /* Will be converted to margin-right */
  margin-left: 1em;
}
/* @noflip */
.rule2 {
  /* Will be preserved as margin-left */
  margin-left: 1em;
}

CSS逻辑属性

我们鼓励并推荐使用CSS逻辑属性,对于存在原生方向感知版本的CSS属性子集(请确保检查浏览器支持特定属性)。例如,您可以设置像margin-inline-start这样的属性,而不是margin-left,浏览器会根据内容方向进行翻转,并且可以无缝地与CSSJanus翻转的其他CSS属性一起工作。

请注意,CSS逻辑属性根据最近的内容方向和内容语言进行翻转,而CSSJanus通常配置为根据用户语言和UI方向进行翻转。

端口

这是CSSJanus的Node.js实现的PHP端口。与实际CSS转换逻辑或测试用例相关的功能请求和错误应提交到https://github.com/cssjanus/cssjanus

CSSJanus最初是一个Google项目

贡献