当前位置:   article > 正文

纯CSS实现未读消息显示99+

纯CSS实现未读消息显示99+

在大佬那看到这个小技巧,我觉得这个功能点还挺常用,所以给大家分享下具体的实现。当未读消息数小于100的时候显示准确数值,大于99的时候显示99+。

1. 实现效果

2. 组件封装
  1. <template>
  2. <span class="col">
  3. <sup :style="{'--num':num}">{{num}}</sup>
  4. </span>
  5. </template>
  6. <script>
  7. export default {
  8. name: 'unread',
  9. props:{
  10. num:{
  11. type: Number,
  12. default: 0
  13. }
  14. }
  15. }
  16. </script>
  17. <style>
  18. .col {
  19. display: inline-flex;
  20. width: 4rem; height: 4rem;
  21. align-items: center;
  22. justify-content: center;
  23. }
  24. .col sup {
  25. position: absolute;
  26. box-sizing: border-box;
  27. min-width: 1rem;
  28. padding: 0 0.1875rem;
  29. color: #fff;
  30. font-size: min(.75rem, calc(10000px - var(--num) * 100px));
  31. line-height: 1.2;
  32. text-align: center;
  33. background-color: #eb4646;
  34. border: 1px solid #fff;
  35. border-radius: 1rem;
  36. transform: translate(calc(40% + .375rem), -.75rem);
  37. /* 数值为0的时候隐藏 */
  38. opacity: var(--num);
  39. }
  40. .col sup::before {
  41. content: '99+';
  42. font-size: min(.75rem, calc(var(--num) * 100px - 9900px));
  43. }
  44. </style>
3. 使用
  1. <Unread :num="0"/> // 为0隐藏
  2. <Unread :num="9"/>
  3. <Unread :num="99"/>
  4. <Unread :num="999"/>
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/355431
推荐阅读
相关标签
  

闽ICP备14008679号