如何为菜单配置两种尺寸的Google Material Icons图标?
两种尺寸图标菜单的实现方案
问题修正说明
你的代码存在几处影响小图标生效的问题:重复嵌套的<style>标签、未给第二个菜单图标应用自定义小尺寸类、font-variation-settings参数格式不规范。以下是修正后的完整实现:
修正后代码
<!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0;40,400,0,0" /> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous"> <style> /* 大尺寸图标样式 */ .material-symbols-outlined { font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 40; vertical-align: middle; } /* 小尺寸图标样式 */ .material-symbols-outlined-small { font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; vertical-align: middle; } </style> </head> <body> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script> <!-- 大图标菜单 --> <ul class="dropdown-menu dropdown-menu-lg-end show" style="margin: 0px; transform: translate3d(0px, 38.4px, 0px);" data-popper-placement="bottom-end"> <li><a class="dropdown-item" href="#"><span class="material-symbols-outlined">share</span> Export</a></li> <li><a class="dropdown-item" href="#"><span class="material-symbols-outlined">edit</span> Duplicate</a></li> <li><a class="dropdown-item tdelete" href="#"><span class="material-symbols-outlined">delete</span> Delete</a></li> </ul> <!-- 小图标菜单 --> <ul class="dropdown-menu dropdown-menu-lg-end show" style="inset: 0px 0px auto auto; margin: 0px; transform: translate3d(0px, 38.4px, 0px);" data-popper-placement="bottom-end"> <li><a class="dropdown-item" href="#"><span class="material-symbols-outlined-small">share</span> Export</a></li> <li><a class="dropdown-item" href="#"><span class="material-symbols-outlined-small">edit</span> Duplicate</a></li> <li><a class="dropdown-item tdelete" href="#"><span class="material-symbols-outlined-small">delete</span> Delete</a></li> </ul> </body> </html>
关键修改点
- 移除重复嵌套的
<style>标签,保证样式结构合法 - 在字体链接中同时引入
opsz=24和opsz=40的图标变体,确保两种尺寸资源加载正常 - 规范
font-variation-settings参数格式,添加空格和换行提升可读性与解析准确性 - 给第二个菜单的所有图标元素应用
material-symbols-outlined-small类,启用小尺寸样式 - 将
align-middle整合到样式类中,减少内联重复代码
内容的提问来源于stack exchange,提问作者Code Guy
相关产品推荐
相关产品推荐

