动画圆圈文字标志效果

news2024/11/18 14:43:59

效果展示

在这里插入图片描述

CSS 知识点

  • 实现圆圈文字
  • animation 属性回顾

实现思路

从效果的实现思路很简单,其实就是两个圆圈就可以实现。外层大圆(灰色)用于圆圈文字的展示,而内圆(藏青色)主要用于存放 Logo 图片。布局采用绝对定位。具体层次结构如下图。

在这里插入图片描述

实现整体页面布局

<div class="circle">
  <div class="logo"></div>
  <div class="text">
    <!-- &nbsp; 主要是用于单词之间的间距 -->
    <p>
      Muhammad&nbsp;Isshad&nbsp;-&nbsp;Creative&nbsp;UX/UI&nbsp;Designer&nbsp;-&nbsp;-
    </p>
  </div>
</div>

实现外部大圆和 Login 样式

.circle {
  position: relative;
  height: 400px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  /* 用于测试文字时的样式 */
  /* width: 400px; */
  /* background: #ccc; */
}

.logo {
  position: absolute;
  width: 310px;
  height: 310px;
  background: url(./user-3.png) no-repeat center;
  background-color: aqua;
  background-size: cover;
  border-radius: 50%;
}

圆圈文字拆分为多个 span 标签

const text = document.querySelector(".text p");
text.innerHTML = text.innerText
  .split("")
  .map((char, i) => {
    // 进行角度旋转,从而实现圆圈文字,旋转角度影响字符之间的间距(8.7是本案例中最适合的间距大小),
    return `<span style="transform: rotate(${i * 8.7}deg)">${char}</span>`;
  })
  .join("");

编写圆圈文字的样式和动画

.text {
  position: absolute;
  width: 100%;
  height: 100%;
  animation: rotateText 10s linear infinite;
}

@keyframes rotateText {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0);
  }
}

.text span {
  position: absolute;
  left: 50%;
  font-size: 1.2em;
  /* 文字圆圈大小 = 外层大圈 / 2*/
  transform-origin: 0 200px;
}

完整代码下载

完整代码下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072810.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

万兆光模块的速度到底有多快?

万兆光模块的速度到底有多快&#xff1f;相信这是很多人都想知道的问题。首先&#xff0c;让我们来了解一下万兆光模块的工作原理。万兆光模块是一种高速率的光电转换模块&#xff0c;发送端把电信号转换成光信号&#xff0c;通过光纤传送后&#xff0c;接收端再把光信号转换成…

php+html+js+ajax实现文件上传

phphtmljsajax实现文件上传 目录 一、表单单文件上传 1、上传页面 2、接受文件上传php 二、表单多文件上传 1、上传页面 2、接受文件上传php 三、表单异步xhr文件上传 1、上传页面 2、接受文件上传php 四、表单异步ajax文件上传 1、上传页面 2、接受文件上传ph…

Scala第二十章节

Scala第二十章节 scala总目录 文档资料下载 章节目标 理解Akka并发编程框架简介掌握Akka入门案例掌握Akka定时任务代码实现掌握两个进程间通信的案例掌握简易版spark通信框架案例 1. Akka并发编程框架简介 1.1 Akka概述 Akka是一个用于构建高并发、分布式和可扩展的基于事…

彻底关闭Win10/Win11关闭自动更新

在自己电脑上发现可以关闭win11系统自动更新&#xff0c;以后效果就不知道了 1.在开始菜单搜索框输入“注册表编辑器”并打开&#xff0c;如图所示 2.在注册表上方输入一下路径&#xff0c;如图所示 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings …

SAP FI BSEG-VBUND 贸易伙伴在过账中使用

主要的配置是在OBA7 主要是通过公司间记账&输入贸易伙伴来控制 第一种情况&#xff0c;两者都不勾选 如果在总账行项目&#xff0c;客户&#xff0c;供应商主记录中维护了贸易伙伴&#xff0c;贸易伙伴会被带入到所有的各自的行项目里面 第二种情况&#xff0c;公司间记账…

全网最细,真实企业性能测试落地实施,一文带你快速打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、什么是性能测试…

墨西哥专线适合企业大批量寄送吗?

随着全球经济一体化的发展&#xff0c;企业间的交流与合作日益密切。跨境物流服务作为企业开展国际贸易的重要基础设施&#xff0c;其重要性不言而喻。墨西哥专线作为一种高效、快速的跨境物流解决方案&#xff0c;受到了越来越多企业的关注。那么&#xff0c;墨西哥专线是否适…

软件测试面试必问:为什么要选择软件测试?

经常会遇到一些面试官没事的时候问&#xff0c;为什么选择软件测试&#xff1f; 我都在这个行业&#xff0c;你怎么还问我为什么选择软件测试&#xff1f; 错误回答一&#xff1a;我觉得软件测试收入较高。 我们都知道软件测试收入是很高&#xff0c;但是这也不是你面试回答的点…

MATLAB导入EXCEL数据做曲线拟合

MATLAB导入EXCEL数据做曲线拟合 导入数据 导入的EXCEL格式为如下&#xff0c;有一列模拟数据和对应的实测数据 打开之后改个名&#xff0c;方便后续处理导入之和关掉该页面&#xff0c;可以看到已经生成了一个表格数据 然后新建变量 将该列数据复制到fanyan变量中&#x…

如何列出 Ubuntu 和 Debian 上已安装的软件包

当你安装了 Ubuntu 并想好好用一用。但在将来某个时候&#xff0c;你肯定会遇到忘记曾经安装了那些软件包。 这个是完全正常。没有人要求你把系统里所有已安装的软件包都记住。但是问题是&#xff0c;如何才能知道已经安装了哪些软件包&#xff1f;如何查看安装过的软件包呢&a…

智慧工地:数字革命下的建筑业新趋势

在当今建筑领域&#xff0c;智慧工地正迅速崭露头角。这个概念不仅代表了技术进步&#xff0c;还预示着建筑行业的数字化和智能化未来。从多个角度来看&#xff0c;智慧工地都具有深远的意义&#xff0c;它正在改变着我们建筑的方式和未来。 提高工程效率 智慧工地利用物联网&…

FP-Growth算法全解析:理论基础与实战指导

目录 一、简介什么是频繁项集&#xff1f;什么是关联规则挖掘&#xff1f;FP-Growth算法与传统方法的对比Apriori算法Eclat算法 FP树&#xff1a;心脏部分 二、算法原理FP树的结构构建FP树第一步&#xff1a;扫描数据库并排序第二步&#xff1a;构建树 挖掘频繁项集优化&#x…

Android:自定义列表弹窗的单选图标样式、去掉列表弹窗的上下提示线

正常声明一个单选列表弹窗&#xff0c;如下代码&#xff1a; AlertDialog.Builder builder new AlertDialog.Builder(this, R.style.Theme_AlertDialog_Base);String []items {"1111111","2222222","3333333","4444444","5555…

Android APT实现,SqInject的实现原理

一、APT技术简介 1、APT定义 APT(Annotation Processing Tool)即注解处理器&#xff0c;是一种处理注解的工具&#xff0c;确切的说它是javac的一个工具&#xff0c;它用来在编译时扫描和处理注解。注解处理器以Java代码作为输入&#xff0c;生成.java文件作为输出 2、注解定…

【three.js】坐标辅助器和轨道控制器

结合上一篇基本的3d页面代码&#xff0c;我们在里面添加坐标辅助器&#xff0c;也就是x y z轴坐标系&#xff0c;这样可以更直观的查看物体的位置 一、添加坐标辅助器 查看效果&#xff0c;z轴不显示是因为&#xff0c;z轴是正对我们脸部&#xff0c;从我们正面看就是一个点 …

蓝桥杯报名已经开始,还不知道怎么准备?教你一文通关蓝桥!

目录 引言 1、什么是蓝桥杯&#xff1f; 2、我应不应该参加蓝桥杯&#xff1f; 3、现在0基础参加还来得及吗&#xff1f;我不敢参加怎么办&#xff1f; 4、蓝桥杯的流程&#xff1f; 5、如何学习&#xff1f; 如果你是零基础 如果你有基础 6、刷题&#xff1f;周赛&am…

数据重整:用Java实现精准Excel数据排序的实用策略

摘要&#xff1a;本文由葡萄城技术团队原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 在数据处理或者数据分析的场景中&#xff0c;需要对已有的数据进行排序&#xff0c;在E…

C++day02(引用、const、函数重载、结构体、类)

今日任务 代码&#xff1a; #include <iostream> /** 自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c;定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出…

Maven 环境配置

Maven 是一个基于 Java 的工具&#xff0c;所以要做的第一件事情就是安装 JDK。 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上 Maven 3.2 要求 JDK 1.6 或以上 Maven 3.0/3.1 要求 JDK 1.5 或以上 内存 没有最低要求 磁盘 Maven 自身安装需要大约 10 MB 空间…

SwipeRefreshLayout 下拉刷新

1.SwipeRefreshLayout是Androidx提供的下拉刷新的库&#xff0c;需要在代码中引入该库&#xff0c;才能使用。 implementation androidx.swiperefreshlayout:swiperefreshlayout:1.1.0 2.在layout中配置。SwipeRefreshLayout&#xff0c;必须包含一个根节点的子view <com.e…