文字绕圆排列:js

css文字让一个圆形排列


    <div class="container">
         <div class="emblem"></div>
    </div>
 

<script>

             var     emblemText= ['创  意', '音  乐', '韵  律', '情  感', '想  象', '图  画', '分  析', '推  理', '文  学', '数  学', '语  言', '逻  辑'];
          
        circleText('.emblem');
 
         function   circleText (el, str) {
                let element = document.querySelector(el);
                emblemText.forEach((v, i) => {
                  let span = document.createElement('span');
                  span.innerHTML = `<pre>${emblemText[i]}</pre>`
                  let deg = (i + 1) * 30 - 15;
                  span.style.transform = `rotateZ(${deg}deg)`
                  element.appendChild(span);
                })
            }

</script>


<style>
    .emblem span {
        position: absolute;
        display: inline-block;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        font-size: 12px;
        transition: all 0.5s cubic-bezier(0, 0, 0, 1);
    }

.emblem {
        position: absolute;
        left: 0;
        right: 0;
        top: 30.5px;
        margin: 0 auto;
        width: 240px; /* //圆形的直径 */
        height: 240px;
        border-radius: 50%;
        color: #7D970B;
        /*animation: spinZ 20s linear infinite;*/
        text-align: center;
        overflow: hidden;
    }
</style>

对于vue项目不用自己在页面使用createElement和循环啊。所以我在下一个文章里面使用vue优化https://blog.csdn.net/qq_33769914/article/details/120240867


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将CSS文字排列圆形,我们可以使用CSS的transform属性和伪类来实现。下面是一个简单的示例: 首先,我们创建一个包含文字的div,并为其添加一个类名。 ```html <div class="circle-text">CSS</div> ``` 然后,我们使用CSS样式来定义该类名的样式。 ```css .circle-text { width: 200px; height: 200px; border-radius: 50%; /* 将div变圆形 */ text-align: center; /* 让文字居中 */ line-height: 200px; /* 设置行高等于div的高度,使文字在垂直方向上居中 */ background-color: gray; /* 添加背景颜色 */ color: white; /* 设置字体颜色为白色 */ font-size: 24px; /* 设置字体大小 */ transform: rotate(180deg); /* 将文字沿着圆心旋转180度,以便文字在圆形中水平排列 */ } .circle-text::before { content: ''; /* 使用伪类添加一个空的内容 */ width: 50%; /* 将伪类的宽度设置为50%,刚好是文字宽度的一半 */ height: 100%; /* 伪类的高度和div相同 */ position: absolute; /* 绝对定位 */ top: 0; /* 将伪类上边距设置为0 */ left: 50%; /* 将伪类的左边距设置为50% */ background-color: gray; /* 使用与div相同的背景颜色 */ transform-origin: bottom; /* 设置旋转的起始点为底部,使其旋转到div的上方 */ transform: rotate(180deg); /* 将伪类沿着圆心旋转180度,以便呈现圆形 */ } ``` 通过以上CSS代码,我们可以实现文字排列圆形。我们使用div的border-radius属性将其变圆形,然后使用transform属性和伪类来旋转文字和伪类,以实现文字在圆形中水平排列。通过调整div的宽度、高度、字体大小、背景颜色等属性,我们可以进一步自定义圆形文字的样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值