纯CSS实现React Logo图形,内含详细解析

本文介绍了如何使用CSS来创建React的Logo,通过结合HTML元素和CSS样式,包括椭圆的定位、旋转以及动画效果,实现了React Logo的矢量图形,避免了图片加载的压力,并提供了CSS学习资料的获取方式。
摘要由CSDN通过智能技术生成

以上是将要实现的效果,Javascript框架React的Logo图形,首先我们来拆解下,它包括三个交叉的椭圆和中间一个圆点,所以我们Html元素可以用以下代码实现:

<div class="main">
  <div class="ellipse ellipse1"></div>
  <div class="ellipse ellipse2"></div>
  <div class="ellipse ellipse3"></div>
  <div class="ball"></div>
</div>

整个logo图形的外层以main类包裹,里面的ellipse类元素表示椭圆,最下面的类名ball表示中间的圆点

首先我们让整个logo图形水平垂直居中

.main {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

然后我们给类名ellipse元素(及椭圆)添加样式,很容易想到椭圆是由一个长方形通过设置圆角而来

.ellipse {
  height: 12vw;
  width: 4vw;
  border-radius: 50%;
  border: 0.6vw solid #5ed3f3;
  position: absolute;
}

由于设置了绝对定位,三个椭圆重叠在了一起

我们接下来需要做的是让这三个椭圆分离交叉,让它们分别以自己的中心旋转一定的角度,分别旋转30°,-30°,90°

.ellipse1 {
  transform: rotate(30deg);
}
.ellipse2 {
  transform: rotate(-30deg);
}
.ellipse3 {
  transform: rotate(90deg);
}

最后还缺中间的一个实心圆点,位置居中,简单

.ball {
  position: absolute;
  width: 2.5vw;
  height: 2.5vw;
  border-radius: 50%;
  background-color: #5ed3f3;
}

最后定义一个旋转的动画

@keyframes roll {
  from {
    transform:rotate(0deg)
  }
  to {
    transform:rotate(360deg)
  }
}

给main元素增加一个animation动画,旋转一周的持续时间是15s,延迟0.5s执行,周期是无限循环

.main {
  animation: roll 15s linear 0.5s infinite;
}

其实很多的logo完全可以用CSS写出来,就没有必要用图片代替了,这样既省了网页的加载压力,而且还是矢量的不用担心糊的问题。

:关注公众号“太空编程”,回复 css揭秘,即可获取优质CSS学习资料

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值