解决vant的grid使用第三方icon,badgedot徽标位置不对的问题

    技术2024-10-08  58

    一、基本使用

    [基本使用见官网](https://youzan.github.io/vant/#/zh-CN/grid)

    二、使用第三方iconfont(awesome iconfont为例)

    1.awesome iconfont的基本使用

    1)官网下载
    2)解压后放到src/assets目录下
    可以根据自己的喜好和需求将其中的css和其他文件,重新细分到其他目录下
    3)改awesome.css文件的文件路径 如图,根据自己分配的目录,将如上几个url文件的路径修改成对应的路径
    4)类比普通标签的一般使用<i class="fa fa-"></i>

    2.awesome iconfont在van-icon中的使用

    <!-- 通过 class-prefix 指定类名 fa fa- --> <van-icon class-prefix="fa fa-envelope-open-o" />

    3.awesome iconfont在grid中的使用(下文中fa-…代表awesome的icon名字)

    在van-grid-item中添加icon-prefix="fa fa-",类比van-icon的class-prefix <van-grid-item icon-prefix="fa fa-envelope-open-o" icon="fa-envelope-open-o" :badge="99999" text="文字" />

    使用第三方iconfont流程基本如上,如想使用阿里iconfont可参照

    三、grid使用第三方icon可能存在的问题

    使用badge/dot徽标,位置不对,如图:

    四、原因分析

    通过查看器调试 ,发现小徽标固定在icon上用了css的`position: absolut`,则父元素需要加上`position: relative;` (`子绝父相`)

    五、解决方案

    添加一项全局css .fa{ position: relative; }
    Processed: 0.012, SQL: 9