尝试转换以下PHP方法以在.less样式表中使用:
<?PHP $deg2radians = pi() * 2 / 360; $rad = $degree * $deg2radians; $costheta = cos($rad); $sintheta = sin($rad); ?>
在Less中,如何在不使用特定于语言的cos()/ sin()函数的情况下实现正弦/余弦方法?
.rotate(@deg) { // css transform capable browsers properties... // IE <= 8 @deg2radians: 3.1416 * 2 / 360; @rad: @degree * @deg2radians; @sintheta: sin(@rad); // How to sin()? @costheta: cos(@rad); // How to cos()? // filter: transform matrix method... }
解决方法
好吧,它不是完全独立于语言,但由于它只是Javascript,它应该适用于所有LESS实现,除非我没有清楚地考虑这一点.
话虽这么说,你可以使用Javascript来计算正弦和余弦:
.rotate(@deg) { // css transform capable browsers properties... // IE <= 8 @deg2radians: 3.1416 * 2 / 360; @rad: @degree * @deg2radians; @sintheta: ~`Math.sin(@{rad})`; @costheta: ~`Math.cos(@{rad})`; // filter: transform matrix method... }
反引号用于评估Javascript,您也可以实际访问DOM.例如,完全允许以下内容:
`document.write('Hello!')`
波浪号用于转义,@ {}表示变量插值.例如:
@input: 10; `document.write(Math.sin(@{input}))`;
查看LESS usage guide获取更多信息.