css列表项点击选中效果怎么做_使用active伪类或js添加样式


答案:通过CSS的:active伪类可实现点击时的临时高亮效果,松开即消失;若需持久选中,则需J*aScript动态添加.selected类来维持状态,配合事件监听实现单选或多选,推荐结合tabindex和键盘事件提升可访问性。

css列表项点击选中效果怎么做_使用active伪类或js添加样式

要实现列表项点击选中效果,可以通过 CSS 的 :active 伪类实现短暂的按下状态,但若需要“保持”选中状态(比如点一下就高亮并持续显示),则需借助 J*aScript 动态添加样式类。下面分别介绍两种方式。

使用 :active 伪类(临时点击效果)

这个方法适合用于按钮或链接被按下的瞬间视觉反馈,但松开鼠标后样式会消失。

例如:

.list-item:active {
  background-color: #007cba;
  color: white;
}

这种方式简单,无需 JS,但仅在鼠标按下时生效,无法“记住”哪个项被选中。

使用 J*aScript 添加选中类(持久选中效果)

如果希望点击后该项一直保持高亮(类似单选或多选效果),需要用 J*aScript 控制类名切换。

示例代码:

立即学习“前端免费学习笔记(深入)”;

<ul id="myList">
  <li class="list-item">选项 1</li>
  <li class="list-item">选项 2</li>
  <li class="list-item">选项 3</li>
</ul>

CSS 样式:

Prisma Prisma

Prisma是一款照片编辑工具,用户可以轻松地将照片转换成数字艺术。

Prisma 92 查看详情 Prisma
.list-item {
  padding: 10px;
  cursor: pointer;
}

.list-item.selected {
  background-color: #007cba;
  color: white;
}

J*aScript 实现单选效果:

const items = document.querySelectorAll('.list-item');
items.forEach(item => {
  item.addEventListener('click', function() {
    // 先移除所有选中状态
    items.forEach(i => i.classList.remove('selected'));
    // 给当前点击项添加选中类
    this.classList.add('selected');
  });
});

如果是多选,去掉移除部分即可:

item.addEventListener('click', function() {
  this.classList.toggle('selected');
});

结合语义化结构和键盘支持(可选优化)

为了更好的可访问性,建议将可点击的列表项用 button 或加 tabindex,并支持回车或空格触发。

例如:

<li class="list-item" tabindex="0">可聚焦的选项</li>

再在 JS 中监听 keydown 事件处理键盘操作。

基本上就这些。想快速反馈用 :active,想持久选中就用 JS 控制 class。不复杂但容易忽略细节。

以上就是css列表项点击选中效果怎么做_使用active伪类或js添加样式的详细内容,更多请关注其它相关文章!


# 移除  # 企业网站优化三层含义  # 盘锦网站建设联系电话  # 家具营销推广培训后总结  # 吴忠网站建设网络推广  # 彩票网站推广方案  # 饰品店铺搜索关键词排名  # 站长之家seo查询优化  # 商业地产的营销推广思路  # 怎么推广网站最快  # 新房推广用什么网站做  # 若需  # 则需  # 如何实现  # css  # 自定义  # 单选  # 鼠标  # 多选  # 按下  # 怎么做  # 键盘事件  # ssl  # js  # java  # javascript  # 列表项 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 铁路12306买票怎么选双人铺 铁路12306卧铺分配规则说明  《金山词霸》语音翻译方法  海外搜索引擎推广效果怎么样,怎么分析效果!  KFC邀请码怎么使用领额外优惠_KFC邀请码输入方式与额外优惠代码获取方法  荣耀Magic6 Pro拍照成像偏暗_荣耀Magic6 Pro夜景优化  《爱笔思画x》涂色教程  以下哪一个是适应长期护理制度发展而设立的新职业  《领英》查看屏蔽名单方法  sublime如何自定义文件类型图标_AFileIcon插件的主题切换与个性化配置  RxJS中如何高效地在一个函数内处理和合并多个数据集合  全球各国上班时间表外贸邮件时间  HTML Canvas文本样式定制指南:解决外部字体加载与应用难题  WooCommerce 购物车:始终显示所有交叉销售商品  sublime如何处理超大文件不卡顿 _sublime打开大日志文件技巧  Excel如何制作月度销售统计图_Excel动态图表制作与控件应用  TikTok搜索结果不显示怎么办 TikTok搜索刷新与优化方法  使用CSS :has() 选择器实现父元素样式控制:从子元素反向应用样式  J*aScript包管理器_Npm与Yarn对比  美发店速赢秘籍  冬季去寒冷地区旅游,以下哪种做法有助于缓解冻伤  Google Drive API 认证:服务账户与OAuth 2.0的选择与实践  苹果手机缓存怎么清除_苹果手机缓存如何清除iphone各版本操作步骤  iPhone 13 Pro Max如何设置桌面小组件_iPhone 13 Pro Max小组件添加指南  智学网app怎么登录忘记密码_智学网app忘记密码找回与重新登录操作方法  Python项目中的条件导入:解决跨模块依赖问题  《万兴喵影》导出视频方法  J*a中逻辑运算符如何使用_逻辑与或非的基础用法讲解  VS Code如何设置默认配置  realme 10 Pro息屏方案_realme 10 Pro省电策略  C++ switch case字符串_C++如何实现字符串switch匹配  怎样设置开机后自动运行某个程序_Windows启动文件夹与任务计划【自动化】  抖音号已注销怎么解绑企业认证?不解绑企业认证会怎样?  J*aScript深度克隆:实现高效、健壮与安全的复杂对象复制  QQ网站入口直接登录 QQ官方正版登录页面  《sketchbook》选中部分图案移动方法  如何在Podman容器中运行Composer_Docker替代品Podman的PHP与Composer容器化实践  手机耗电快是什么原因 延长手机电池续航时间的设置方法【详解】  win11如何诊断DirectX问题 Win11运行dxdiag工具排查显卡故障【排错】  Golang如何实现HTTP请求重试机制_Golang HTTP请求错误处理策略  德邦物流在线查询系统 德邦快递货物运输追踪  泰拉瑞亚水晶无法放置问题  FotoBalloon图片左右镜像教程  Win10锁屏时间怎么设置 Win10调整自动锁屏时间方法  偃武诸葛亮阵容搭配推荐  Magento 2 产品保存事件中安全更新属性的最佳实践  Bootstrap 5导航栏折叠功能失效:数据属性迁移指南  支付宝网页版在线入口 支付宝官网电脑登录入口  从J*a应用程序中导出MySQL表数据的技术指南  《腾讯相册管家》注销账号方法  mysql中外键约束如何使用_mysql FOREIGN KEY操作 

 2025-12-20

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.