微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css半圆里面写字沿边走

CSS中的半圆形设计非常常见,通常用于制作进度条、标识等等。这篇文章将介绍如何在半圆形内部写字并且让字沿着边缘走。

html:
<div class="semi-circle">
  <span>50%</span>
</div>

css:
.semi-circle {
  width: 120px;
  height: 60px;
  background-color: #ccc;
  border-top-left-radius: 60px;
  border-top-right-radius: 60px;
  position: relative;
  font-size: 20px;
  color: #fff;
  text-align: center;
}

.semi-circle::before {
  content: '';
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-top: 60px solid #ccc;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  top: -60px;
}

.semi-circle span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  white-space: Nowrap;
  animation: run 3s ease-in-out infinite;
}

@keyframes run {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

css半圆里面写字沿边走

首先看一下HTML代码,这里使用了一个div容器,并且设置一个class为semi-circle。在div里面使用了一个span标签来写入文字内容,这里写入50%。为了让文字沿着半圆形边缘走,需要使用CSS伪元素before,实现代码如下:

.semi-circle::before {
  content: '';
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-top: 60px solid #ccc;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  top: -60px;
}

在这里before伪元素设置了一个三角形,高度为60px,宽度为0,然后上边框设置了半径为60px的圆角,左右边框设置了透明的边框,这样既形成了一个无实体的三角形,也实现了边框圆角功能

然后,我们需要让文字沿着半圆形边缘走,使用CSS动画来实现。设置一个@keyframes属性,实现文字旋转360度,代码如下:

@keyframes run {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

最后将动画设置到span标签上:

.semi-circle span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  white-space: Nowrap;
  animation: run 3s ease-in-out infinite;
}

这里将span标签绝对定位,水平居中和垂直居中,然后设置动画名称和动画执行时间。

这就是如何在CSS半圆形内部写字并且让字沿着边缘走的全过程,代码虽然稍微复杂,但是效果非常炫酷,值得学习和尝试。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。