CSS怎样做出自适应圆形边框?
想做这样一个未处理订单提醒的数字提示 想让它始终居中 边框是圆形的
现在这样写的话宽度可以随着数字长度自适应 但是怎样才能做出自适应圆形边框呢?
<view class="yuncang2">
2222
</view>
.yuncang2{
position: absolute;
display:flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
border: 1px solid red;
top: 20rpx;
color: red;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这个是不是你要的效果?根据文字长度自动变化圆的大小?
css代码
html代码
这里 保持 box1 和 box3中的 文本内容一致即可。
被楼上带歪了
就是 before 一个圆,设置 边框,旋转45度,after 一个圆 设置边框,旋转45度
原理参考 https://segmentfault.com/q/101000003860279/a-1020000038604608
这种组件,element-ui 里叫
badge
。这个东西在应用里很常见,比如微信、支付宝。这些应用里的
badge
设计都是定高的,这是因为badge
显示的通常是次要信息,如果任由它的尺寸变化的话会喧宾夺主。试想一下消息数为 999+ 的时候,它比图标还大,肯定是不太和谐的。所以,建议采用定高设计,只在一位数的时候显示为正圆,即楼上说的半径为二分之一高度的情况(事实是设一个很大的值就可以了),也可以直接引用带
badge
的 UI 库。坚持要正圆的话,一楼的方案。
border-radius: 50%;就好了,什么始终圆形,字越多,圆形肯定越来越大,绝对不是期望看到的效果
通过js算吧,jquery算出实际的宽度,然后动态去设置border-radius的值。