【问题标题】:Rotate an ionicon on the page在页面上旋转离子图标
【发布时间】:2015-08-31 15:54:35
【问题描述】:

我想用箭头显示方向,并考虑使用标准离子箭头作为方向。 我可以以某种方式将向上箭头旋转到任何方向吗?

ion-arrow-up-a

下面是来自 cmets 的尝试

<i class="icon ion-arrow-up-a" rotate degrees="90"></i>


angular.module('app.customDirectives', []).directive('rotate', function() {
      return {
            link: function(scope, element, attrs) {
                // watch the degrees attribute, and update the UI when it changes
                scope.$watch(attrs.degrees, function(rotateDegrees) {
//                  console.log(rotateDegrees);
                    //transform the css to rotate based on the new rotateDegrees
                    element.css({
                        '-moz-transform': 'rotate(' + rotateDegrees + 'deg)',
                        '-webkit-transform': 'rotate(' + rotateDegrees + 'deg)',
                        '-o-transform': 'rotate(' + rotateDegrees + 'deg)',
                        '-ms-transform': 'rotate(' + rotateDegrees + 'deg)'
                    });
                });
            }
    }
});

【问题讨论】:

  • 你看过jquery-rotate插件吗?
  • 我在这里是离子领域,所以没有 jquery(我猜,据我了解 jQ 在那里不完全支持/兼容...)

标签: javascript ionic-framework ionicons


【解决方案1】:

和上面类似,我就是这样弄的……

HTML:

<i class="ion-arrow-up-c rotate-90">

CSS:

.rotate-90 {
  display: inline-block; 
  transform: rotate(90deg);
}

【讨论】:

    【解决方案2】:

    对于 Ionic 图标 v1、v2,rotate 属性仅适用于设置为“inline”或“inline-block”的 display 属性,它也可能适用于 inline 的其他变体。

    然后你可以使用 CSS 正常旋转它们

    transform: rotate(90deg);
    

    【讨论】:

      【解决方案3】:

      箭头还有其他变体:

      ion-arrow-up-a
      ion-arrow-right-a
      ion-arrow-down-a
      ion-arrow-left-a
      

      或者...据我所知,ionic 框架是基于 HTML5 的,因此您可以使用 CSS 样式。

      .style {
          -moz-transform: rotate(15deg);
          -webkit-transform: rotate(15deg);
          -o-transform: rotate(15deg);
          -ms-transform: rotate(15deg);
          transform: rotate(15deg);
      }
      

      如果你想要动态旋转,你必须检查this url

      【讨论】:

      • 很好的链接!我理解该指令,但它不会旋转我的离子箭头....我需要它来显示像指南针一样的度数。
      • @ElDude 显示您的代码,我会尝试找出问题所在。
      • 见上面的代码,和你提供的链接基本一样。
      • @ElDude 您可以在您获取此代码的同一个地方找到您问题的答案(上面的链接)。您必须创建$scope var 并将其传递给degrees,而不仅仅是值。
      • 谢谢,我试试。但为什么不应该采用硬编码值呢?
      【解决方案4】:

      由于某种原因,&lt;i&gt; 元素必须拥有display: inline-block css 样式才能成功旋转:

      控制器代码:

      $scope.angle = 90
      

      HTML:

      <i class="ion-arrow-up-c" style="display: inline-block; transform: rotate({{angle}}deg);"></i>
      

      【讨论】:

        猜你喜欢
        • 2023-03-27
        • 2018-08-01
        • 2018-06-28
        • 1970-01-01
        • 1970-01-01
        • 2021-05-18
        • 2015-04-27
        • 1970-01-01
        相关资源
        最近更新 更多