You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS旋转行为不符合预期:版权文本hover旋转异常求助

问题描述

版权信息初始设置为rotate: -90deg,沿左侧边缘上下排列显示正常,但鼠标悬停父级<div>时,若设置rotate: 90deg,元素会旋转180°导致方向完全相反,而非预期的沿底部左右排列。只有将hover状态的旋转角度设为360deg才能得到预期效果,对此存在疑问。

原因分析

CSS的rotate属性设置的是元素的绝对旋转角度,但过渡动画会选择最短旋转路径。初始状态是-90deg,若目标角度设为90deg,浏览器会计算两个角度的最短距离:从-90°到90°的正向/反向路径都是180°,所以会直接旋转180°,导致文本方向相反。

而360deg等价于0deg,从-90deg到0deg的最短路径是顺时针旋转90°,刚好符合你想要的“沿底部左右排列”的效果。

解决方案

直接将hover状态的rotate值设为0deg即可,和360deg效果一致但更直观:

.parent {
  height: 100vh;
}

.copy-txt {
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
  text-align: center;
}

.copy-txt > a {
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
}

.copyright {
  position: absolute;
  rotate: -90deg;
  transition: rotate 0.3s ease-in-out;
  margin-left: 45px;
  background-color: rgb(10, 28, 46);
  width: 150px;
  height: 60px;
  padding-top: 0px;
  top: 40%;
  color: rgba(255, 255, 255, .5);
  text-align: center;
}

.parent:hover .copyright {
  rotate: 0deg; /* 替换为0deg,效果和360deg一致 */
}

注:hover状态无需重复定义transition和display: block,初始状态已配置过渡规则,仅需修改目标属性即可。

内容的提问来源于stack exchange,提问作者Davidgs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 23:00:23