当前位置: 首页 > news >正文

Ant-Design-Vue:Button按钮SVG图标垂直未居中问题

问题描述

        如下图所示,在使用Ant-Design-Vue UI组件库提供的Button按钮+Icon组件开发页面时,发现icon图标并没有垂直居中。

icon插槽-图标垂直不居中

        再看一个官网的例子,

官网老子

问题排查

        首先,考虑是否由于当前的页面布局,导致对该icon图标的样式发生变化。

        于是,F12打开开发者工具,定位到ICON图标的位置,查看style样式栏目中,Icon图标的样式是否存在被覆盖的,并尝试强制让被覆盖掉的样式生效。

        ——果然发现了一个,display:block被覆盖掉了,于是手动调试,并为其添加了一个,然后icon就居中了。

        添加之后,按钮显示效果,

手动添加display:block进行调试
添加display:block之后的效果

初步解决方案|修改SVG图标的display样式

        由于项目中使用的是Scss,因为,样式代码如下,

<style scoped lang="scss">
:deep(.ant-btn){
  span {
    svg {
      display: block !important;
    }
  }
}
</style>
按钮效果

解决方案进阶

        经过以上分析,得知:Ant-Design-Vue的Button按钮SVG图标垂直未居中,是由于SVG图标样式被覆盖掉了,但是是被谁覆盖掉的呢?

style定位

        使用开发者工具,点击style之后,初步推断可能和Tailwind有关。

        于是,又去查找了互联网上相关的回答,在Ant Design的GitHub项目上有一个类似的问题:Some icons are not centered。

        在下面的回答中,提到了,Tailwind可能产生的影响,如下图所示,

        因此,我们就有了另外两种从根源上的解决方案,

方案1:定义全局SVG样式

svg { vertical-align: baseline; }

方案2:引入Taliwind时定义级联层

        关于@layer,参见MDN相关内容。

@tailwind base;

@layer base {
    svg { 
        display: inline;
        vertical-align: baseline; 
    }
}

http://www.dtcms.com/a/19379.html

相关文章:

  • 深度学习R4周:LSTM-火灾温度预测
  • 【Deepseek 零门槛指南】DeepSeek 教程和常见问题解答 | 大白技术控
  • 一文理解蓝牙Core 6.0 channel sounding精确测距
  • Python学习心得数据的验证
  • Python 程序护盾:异常处理的易错漏洞修补 -- 6. 异常处理
  • 128最长连续序列
  • 【力扣 - 简单题】88. 合并两个有序数组
  • 【AI实践】deepseek支持升级git
  • JVM-Java程序的运行环境
  • 华为小艺助手接入DeepSeek,升级鸿蒙HarmonyOS NEXT即可体验
  • 时间序列分析(四)——差分运算、延迟算子、AR(p)模型
  • springboot整合mybatis-plus【详细版】
  • Mybatis高级
  • 利用亚马逊云科技RDS for SQL Server配置向量数据存储
  • ubuntu20.04声音设置
  • 使用EVE-NE-锐捷实现NAT+ACL服务限制
  • DeepSeek 助力 Vue 开发:打造丝滑的开关切换(Switch)
  • 系统思考—慢就是快
  • 解锁二进制数组:JS、TS、ArkTS 解析
  • Dubbo 的注册中心详解:从选择到故障处理
  • Servlet中,WebServlet注解的使用方法
  • 《On Java中文版基础卷+进阶卷》
  • QT笔记——QPlainTextEdit
  • 双指针专题2:最长连号
  • 【界面黑科技->构建异形不规则动态界面应用程序】
  • Kotlin 2.1.0 入门教程(二十)扩展
  • 使用grafana v11 建立k线(蜡烛图)仪表板
  • 两个实用且热门的 Python 爬虫案例,结合动态/静态网页抓取和反爬策略,附带详细代码和实现说明
  • GoC题解(21) 725.画迷宫(下册第4课)
  • 一场因软件技术窃取引发的法律风暴