css单标签实现转转logo

这篇博客详细介绍了如何仅使用一个HTML标签和CSS来实现转转品牌升级后的新Logo动画,包括两个小圆的旋转和字母Z的变形效果。通过CSS的渐变背景、定位和动画属性,作者展示了如何在不使用SVG或GIF的情况下,创建出具有放大、旋转等动画效果的Logo。尽管CSS实现可能增加代码复杂度,但在资源体积上有显著优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

f191d7dc1bb08319db95d60e4667af41.png

转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。

新logo保留了原本logo里转转熊的轮廓,两个熊耳是两个卫星围绕熊头旋转,是“循环”的意思。中间倾斜的转转首字母“Z”,既像二手质检的印章,又像N——NEW的首字母,代表着全新的二手生活方式。

41dfbd76f0931ad7d1ca5893bd984e71.gif

以上是我们要还原的Logo效果动图,现阶段使用方式主要是gif和lottie SVG两种方式。因为我们的目的是使用单标签实现所有的功能点,对于一些细节部分有所取舍,并不是百分百还原,也并不代表使用CSS的成本和效果是最好的,仅表达CSS的强大能力。接下来分析我们要核心实现的功能点:

  • 开始动画时中心的大圆以及2个围绕的小圆都有放大的效果

  • 动画开始后2个小圆围绕中心的椭圆旋转

  • 字母 Z 由大变小覆盖在中心的椭圆

  • 字母 Z 出现时中心的椭圆由红色边框圆变成实心红色圆

  • 仔细观察这个字母 Z 并不是普通的字符

基于上述分析接下来开始核心的代码拆解实现,在开始前先定义一些变量方便后续使用:

:root {
  /* 主题色 */
  --mainColor: #ff483c;
  /* 字体颜色 */
  --fontColor: #fff;
  /* 字体宽度 */
  --zWidth: 260px;
  /* 中心椭圆宽高比 */
  --parentScaleY: 0.9;
  /* 子元素抵消比例 */
  --childScaleY: calc(1 / var(--parentScaleY))
}

2个小圆旋转动画

如果是围绕一个正圆的旋转那么实现就简单很多了,但是这里是一个椭圆,纯CSS应该怎么做呢?根据小编目前的了解大概有以下几种方式都可以实现,但是对应的效果有所区别:

  • 使用 transform-style: preserve-3d;开启3D模式,但是对应的小圆在旋转角度存在视角消失的情况,需要额外处理

  • 使用 cubic-bezier 贝塞尔曲线执行动画可以达到椭圆曲线的效果,但是存在动画开始停止不可控的情况

  • 使用 rotate 0-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值