You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Flutter开发选中后文字样式变更的选择菜单

选择菜单选中态自定义效果实现方案

要实现点击选中菜单项后,选中项文字切换为特殊样式的效果,可以用纯前端HTML+CSS+JavaScript组合实现,逻辑简单兼容性好,具体代码如下:

1. 菜单结构(HTML)

<ul class="custom-menu">
  <li class="menu-item">菜单项1</li>
  <li class="menu-item">菜单项2</li>
  <li class="menu-item">菜单项3</li>
  <li class="menu-item">菜单项4</li>
</ul>

2. 样式定义(CSS)

你可以自由调整选中态的样式规则,以下是示例效果:

/* 菜单基础样式 */
.custom-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 30px;
}
.menu-item {
  cursor: pointer;
  font-size: 16px;
  color: #666;
  padding: 8px 0;
  transition: all 0.2s linear;
}
/* 选中项自定义样式,按需修改属性即可 */
.menu-item.active {
  color: #1677ff;
  font-weight: bold;
  border-bottom: 2px solid #1677ff;
}

3. 交互逻辑(JavaScript)

实现点击切换选中态的逻辑:

// 获取所有菜单项
const menuItems = document.querySelectorAll('.menu-item');
menuItems.forEach(item => {
  item.addEventListener('click', function() {
    // 清空所有菜单项的选中状态
    menuItems.forEach(el => el.classList.remove('active'));
    // 给当前点击项添加选中样式
    this.classList.add('active');
  });
});

如果是单页应用场景,也可以根据当前页面路由自动匹配对应的菜单项添加active类,不需要绑定点击事件。


内容的提问来源于stack exchange,提问作者petrashin_nikita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:18:03