当前位置: 首页 > 知识库问答 >
问题:

字体图标不会转换:旋转(180度)

丁念
2023-03-14

我希望我的移动菜单上的向下箭头旋转180度,并在点击时朝上。我还想动画旋转平稳过渡。我使用Javascript切换一个". js-Rotate"类在我的". fa-角-向下"字体-真棒类。

JS函数中的最后一行控制此行为:

nav.addEventListener('click', (e) => {
  if (e.target.classList.contains('nav-list-drawer__btn')) {
    e.target.classList.toggle('js-nav-list-drawer__btn');
    e.target.nextElementSibling.classList.toggle('js-nav-list-drawer__list');
    e.target.parentElement.classList.toggle('js-nav-list-drawer');
    e.target.firstChild.classList.toggle('js-rotate'); // breaks  on IE11. Place last so code before it is parsed before the entire function breaks and pauses
  }
});

我尝试添加一个“transition:transform1s到“.fa角度向下”,但我没有运气。

CSS可通过以下链接的sass/组件/_navigation.scss获得:https://codepen.io/eliya33/project/editor/XpgvJo

共有2个答案

徐兴昌
2023-03-14

这里发布的答案似乎解决了与转换简单转换相关的常见问题。由于未知原因,我的案例仍未解决,但我会选择这个问题作为答案,因为提供的解决方案应该适用于大多数案例。

齐修贤
2023-03-14

我使用jQuery来触发onhtml函数,并使用CSS来应用转换效果。我认为这工作完美无瑕。

$(".button").click(function() {
  $("#arrow").toggleClass("rotate");
});
* {
  box-sizing: border-box;
}

body,
html {
  height: 100%;
  width: 100%;
  margin: 0;
}

.button {
  height: 65px;
  width: 65px;
  background: whitesmoke;
  border: 2px solid black;
  display: flex;
  justify-content: center;
  align-items: center;
}

#arrow {
  transition: all .5s ease-in-out;;
}

.rotate {
  transform: rotate(180deg);
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="button">
  <i id="arrow" class="fa fa-arrow-down fa-2x"></i>
</div>
 类似资料:
  • 我创建了一些自定义按钮样式,并使用引导下拉类将它们转换为下拉列表。当我单击按钮时,我希望在下拉列表打开时,内部的字体awesome图标旋转180度,并在按钮失去活动/焦点后,以相反的方式旋转180度,返回到其原始位置。 我能右转的代码将图标旋转180度,指向上方。但我不能让它转回来。另外,我有两个css类。我一直没有评论它们,因为激活它们只会增加一种奇怪的褪色效果。代码如下。。 HTML: CSS

  • 我想静态旋转我的字体图标45度。网站上说: 要任意旋转和翻转图标,请使用fa-roate-*和fa-fllip-*类。 但是, 不起作用,而将替换为起作用。这是否意味着它们实际上不能任意旋转?

  • 给定的是一个旋转的矩形,该矩形内接到另一个矩形中<两个矩形都有自己的坐标系 在该区域中 我对变换矩阵的尝试(setRotate() 如何计算P点相对于外矩形的位置? 提前感谢!

  • 我试着让两个立方体以不同的方式旋转。 为了设置旋转,我这样做。 在多维数据集类内部,我没有使用GL11.glLoadId相()来重置旋转,而是做了这样的事情。 这将重置每个轴的旋转。 数组“rot”保存x、y和z旋转,并通过多维数据集类中的这3种方法进行更新。 单独地,每个GL11.glRotatef(etc, etc, etc)和GL11.glRotatef(etc*-1.0f, etc, et

  • 我实际上是在打印这个图案:https://imgur.com/a/ObixO5I 我得到的输出是:

  • 旋转变换rotate() 同画圆弧一样,这里的rotate(deg)传入的参数是弧度,不是角度。同时需要注意的是,这个的旋转是以坐标系的原点(0,0)为圆心进行的顺时针旋转。所以,在使用rotate()之前,通常需要配合使用translate()平移坐标系,确定旋转的圆心。即,旋转变换通常搭配平移变换使用的。 最后一点需要注意的是,Canvas是基于状态的绘制,所以每次旋转都是接着上次旋转的基础上