使用正则表达式解析rotate3d值的CSS转换
Parsing CSS transform for rotate3d values using regex
我需要将css转换值分离成一个数组,但要将旋转值保持在一起。
例如:
'translate3d(20px, 5px, 10px) rotateX(20deg) rotateY(10deg) rotateZ(0deg) skew3d(20deg, 10deg) rotateX(-20deg) rotateY(100deg) rotateZ(-30deg)'
需要
[
'translate3d(20px, 5px, 10px)',
'rotateX(20deg) rotateY(10deg) rotateZ(0deg)',
'skew3d(20deg, 10deg)',
'rotateX(-20deg) rotateY(100deg) rotateZ(-30deg)'
]
您可以假设旋转将始终按照CCD_ 1的顺序。
如何在javascript中使用regex?谢谢
假设旋转属性总是按顺序排列在一起,则可以使用以下正则表达式拆分字符串:/'s(?='S+'(.*?'))(?!rotate(?:Y|Z))/
。
表达式/'s(?='S+'(.*?'))(?!rotate(?:Y|Z))/
将匹配's
字符,如果它们后面跟有包含括号的(?='S+'(.*?'))
字符。如果后面跟有rotateY
/rotateZ
和(?!rotate(?:Y|Z))
的's
字符,它也将取反。
此处示例
var string = 'translate3d(20px, 5px, 10px) rotateX(20deg) rotateY(10deg) rotateZ(0deg) skew3d(20deg, 10deg) rotateX(-20deg) rotateY(100deg) rotateZ(-30deg)';
var properties = string.split(/'s(?='S+'(.*?'))(?!rotate(?:Y|Z))/);
退货:
[
"translate3d(20px, 5px, 10px)",
"rotateX(20deg) rotateY(10deg) rotateZ(0deg)",
"skew3d(20deg, 10deg)",
"rotateX(-20deg) rotateY(100deg) rotateZ(-30deg)"
]
相关文章:
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 如何使用JavaScript查找未定义的CSS属性的值
- 使用纯 Js 或 jquery 获取相同的 64 个类的 CSS 属性值
- 更改输入css的值的长度函数
- 通过javascript更改整个文档的CSS值
- 如何设置“”的css值-webkit变换”;在“;动画化”;方法
- 更改<选择>取决于它的值-仅CSS(?)
- 一种在另一个CSS值更改时更改CSS值的方法
- 如何通过 KNOCKOUT 中的数据绑定值更改 css 中规则的值
- 如何使用Jquery.css方法更改逗号分隔的css值
- 当有多个相等的 css 类时,使用 jQuery val() 获取正确的值
- 如何获取浏览器不支持的 CSS 属性的值
- 如何将重复的 css 值存储在变量中以使代码不那么重复
- 如何使用 JavaScript 获取以度为单位的 CSS 转换旋转值
- jquery - 获取尚未应用的类的 CSS 属性值
- 为什么这个重要的 CSS 值被覆盖了
- 如何按 JS 变量的值增加 CSS 值
- 如何编写一个 JS 函数,该函数在
- 类中查找 img,并将该图像作为 li 的 css 中的背景图像值
- 使用正则表达式解析rotate3d值的CSS转换
- 带下拉值的CSS绑定