cssjanus / cssjanus
在左右向和右左向之间转换CSS样式表。
v2.3.0
2024-08-06 19:37 UTC
Requires
- php: >=7.4.0
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 43.0.0
- mediawiki/mediawiki-phan-config: 0.14.0
- php-parallel-lint/php-parallel-lint: 1.3.2
- phpunit/phpunit: 9.6.16
README
CSSJanus
在左右向和右左向之间转换CSS样式表。
用法
transform( string $css, bool $swapLtrInURL = false, bool $swapLeftInURL = false ) : string
参数;
$css
(字符串) 要转换的样式表。$swapLtrInURL
(布尔值) 在URL中交换ltr
到rtl
方向。$swapLeftInURL
(布尔值) 在URL中交换left
和right
边缘。
示例
$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项目。