每日挑战 #7:‘递归’文件夹树 📂

发布: (2026年2月19日 GMT+8 16:30)
2 分钟阅读
原文: Dev.to

Source: Dev.to

Cover image for Daily Challenge #7 : The

任务

创建一个可以展开和收起的目录树(文件夹嵌套文件夹)。它需要看起来和真实代码编辑器的侧边栏一样。

规则 🚫

  • 禁止使用 JavaScript: 不得使用脚本来切换 “active” 类或处理点击事件。
  • 仅使用纯 CSS/HTML: 使用 Checkbox Hack<input type="checkbox">)来管理每个文件夹的展开/收起状态。
  • 无限层级: 样式必须在文件夹深度为 1 层或 10 层时都能正常工作。

目标 🏆

  • 点击文件夹名称应展开,显示内部文件。
  • 再次点击应收起。
  • 文件和文件夹应根据其层级深度进行适当缩进。

小技巧: 使用相邻兄弟选择器 input:checked + label + ul,仅在隐藏的复选框被选中时显示嵌套列表!

如何参赛

在评论中留下你的 CodePenGitHub Repo

加分项: 使用不同的图标(如 📁 和 📂),在文件夹打开时进行切换。

额外加分: 添加 “悬停效果”,在不高亮嵌套子项的情况下突出显示整行。

0 浏览
Back to Blog

相关文章

阅读更多 »