css实现文本在圆形容器中展示

前端文本展示大多数都是在盒子模型中添加文本,而普通的盒子都是方形的。有些场景需要在圆形容器中展示,例如:

实现方式如下:

1、html代码

<div class="circle-box">
  <span class="content-before"></span>
  <span class="content-after"></span>
  <p>
    <!-- 可能第一个字独立占一行,使用换行符 -->
    <br />
    我是圆形容器里面的内容。我是圆形容器里面的内容。我是圆形容器里面的内容。我是圆形容器里面的内容。我是圆形容器里面的内容。我是圆形容器里面的内容。我是圆形容器里面的内容。我是圆形容器里面的内容。
  </p>
</div>

2、less/scss代码

.circle-box{
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: deepskyblue;
  padding: 10px;
  .content-before{
    float: left;
    width: 50%;
    height: 100%;
    shape-outside: radial-gradient(farthest-side ellipse at right, transparent 98%, red);
  }
  .content-after{
    float: right;
    width: 50%;
    height: 100%;
    shape-outside: radial-gradient(farthest-side ellipse at left, transparent 98%, red);
  }
}

3、注意

1)shape-outside不兼容IE浏览器,使用时需测试各浏览器的兼容问题

2)shape-outside倒数第二个参数实际应为100%,但是移动端设备100%右侧中间会出现换行,故写了98%,如显示有问题,可适当调整该值

如不想自己写,可引用npm包 https://www.npmjs.com/package/circular-container

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值