css - 在CSS中旋转菱形

标签 css

我有一个通过变换正方形制成的菱形 div。

.dn-diamond {
  display: inline-block;
  width: 200px;
  height: 200px;
  background: #000;
  /* Rotate */
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin: 100px;
  overflow: hidden;
}

有什么方法可以让它绕着自己的轴旋转吗? 我试图这样做:

.dn-diamond:hover {
    animation: spin 3s infinite linear;
}
@keyframes spin {
    from { transform: rotateY(0deg); }
    to { transform: rotateY(360deg); }
}

它做了我想做的,但它把菱形变成了正方形。

感谢您的帮助!

最佳答案

只需将 rotate(-45deg) 添加到您的旋转动画中即可:

.dn-diamond {
  display: inline-block;
  width: 100px;
  height: 100px;
  background: #000;
  transform: rotate(-45deg);
  margin: 50px;
  overflow: hidden;
}

.dn-diamond:hover {
  animation: spin 3s infinite linear;
}

@keyframes spin {
  from { 
    transform: rotateY(0deg) rotate(-45deg); 
  }
  to {
    transform: rotateY(360deg) rotate(-45deg); 
  }
}
<div class="dn-diamond">

关于css - 在CSS中旋转菱形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30635854/

相关文章:

css - 在 `Primefaces:dashboard` 组件上添加标签和自定义 CSS

jquery - 如何使用 jQuery 测量用户向下滚动了多远?

HTML DIV 溢出,如何停止?

html - 如何在不破坏整个页面外观的情况下将边框应用于 facebook 页面的所有元素 [悬停时]

需要 CSS 溢出帮助 - 对于 jquery 崩溃

java - 有没有办法获取浏览器生成的 HTML 和 CSS

javascript - 如何删除 Bootstrap 中的水平滚动?

html - 为什么有宽度但没有 float 的 div 是 o 下一行?

javascript - 与用 span 包围选择的函数相反

jquery - 更改文本字段 css 中的光标焦点位置