3

我有一张 930 像素 x 530 像素的地图。我想使用 mixin 将纬度/经度坐标转换为框内的顶部/左侧百分比值。

这是我到目前为止所拥有的......

@mixin latLong ($lat, $long) {
    left: (($long + 180) * (930/360)) + %;
    top: (($lat + 90) * (530/180)) + %;
}

我是这样用的...

&.m1 {@include latLong(-33.94628333, 151.2157139);}

这是吐出一个值,但它在引号中,因此对 css 无效。我究竟做错了什么?谢谢。

4

2 回答 2

12

您想使用乘法来应用单位,而不是串联:

@mixin latLong ($lat, $long) {
  left: (($long + 180) * (930/360)) * 1%;
  top: (($lat + 90) * (530/180)) * 1%;
}
于 2013-08-29T13:44:38.983 回答
8

尝试使用本机 SASS 辅助方法获取百分比:http ://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#percentage-instance_method 。

@mixin latLong ($lat, $long) {
    left: percentage(($long + 180) * (930/360));
    top: percentage(($lat + 90) * (530/180));
}
于 2013-08-29T16:12:17.820 回答