[分享] 文件树缩进线(Cliff-Dark 主题中的部分 CSS 片段)

本贴最后更新于 328 天前,其中的信息可能已经时过境迁

关联:【求代码片段】如何为文件树添加引导线

为了回答问题,我研究半天,最后从 Cliff-Dark 主题 上把对应的 CSS 片段扒下来了:


/*文件树缩进线*/
.sy__file .b3-list-item__toggle {
   padding-left:1px !important;
   padding-right:1px;
   color:var(--b3-theme-primary);
   opacity:0.6;
}
.sy__file .b3-list-item__icon {
   margin-left:0px;
   margin-right:0px;
   padding:0px 0px;
   transform:scale(0.6);
}
.sy__file .b3-list.b3-list--background ul {
   border-left:2px solid var(--b3-theme-background-light);
   margin:0px 0px 0px 10px;
}
.sy__file .fn__flex-1 {
   margin:0px;
   padding-right:5px;
}
.layout--float .file-tree {
   margin-right:5px;
}
.fn__flex-1.fn__flex-column.file-tree.sy__file .b3-list-item {
   margin-left:0px !important;
}

如果你想改一改样式,可以参考以下 GPT 的回答。如果看不懂是什么意思,随便改一改数值,重新加载之后看看样式变化就知道了。

--GPT 回答分界线--

在这段代码中,每个模块的作用如下:

  1. .sy__file .b3-list-item__toggle 模块:
    • padding-left:1px !important;:设置列表项的左内边距为 1 像素。
    • padding-right:1px;:设置列表项的右内边距为 1 像素。
    • color:var(--b3-theme-primary);:设置列表项的文本颜色为预定义的主题主色。
    • opacity:0.6;:设置列表项的透明度为 0.6。
  2. .sy__file .b3-list-item__icon 模块:
    • margin-left:0px;:将列表项图标的左外边距设置为 0 像素。
    • margin-right:0px;:将列表项图标的右外边距设置为 0 像素。
    • padding:0px 0px;:将列表项图标的内边距设置为 0 像素。
    • transform:scale(0.6);:将列表项图标进行缩放,缩放比例为 0.6。
  3. .sy__file .b3-list.b3-list--background ul 模块:
    • border-left:2px solid var(--b3-theme-background-light);:在文件列表的左侧添加一个宽度为 2 像素、颜色为预定义的背景亮色的实线边框。
    • margin:0px 0px 0px 10px;:设置文件列表的外边距,上、右、下边距为 0 像素,左边距为 10 像素。
  4. .sy__file .fn__flex-1 模块:
    • margin:0px;:将元素的外边距设置为 0 像素。
    • padding-right:5px;:将元素的右内边距设置为 5 像素。
  5. .layout--float .file-tree 模块:
    • margin-right:5px;:将浮动布局中的文件树元素的右外边距设置为 5 像素。
  6. .fn__flex-1.fn__flex-column.file-tree.sy__file .b3-list-item 模块:
    • margin-left:0px !important;:将文件树中的列表项的左外边距设置为 0 像素,并使用 !important 关键字强制应用此样式,覆盖其他可能存在的样式。

以上是对每个模块的简要解释,它们主要用于调整文件列表中的元素的样式,包括列表项的内边距、图标的外边距和缩放、文件列表的边框和外边距,以及文件树中的列表项的外边距。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    20237 引用 • 78262 回帖 • 1 关注
  • 主题
    17 引用 • 134 回帖 • 4 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    186 引用 • 471 回帖 • 1 关注
  • 代码
    460 引用 • 591 回帖 • 8 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • GloR

    搞定了,谢谢啦~~🌸

    1 回复
  • 可以到原帖子下 采纳 我的回帖,这样我就有 20 积分了,如果想给多点积分还可以点个 ❤️ 感谢

  • GloR 1 1 赞同 2 评论

    自己改了下,把缩进线间距调大了,加了笔记本区隔:

    
    .sy__file .b3-list-item__toggle {
       padding-left:8px !important;
       padding-right:1px;
       color:#899fad; 
    }
    
    .sy__file .b3-list.b3-list--background ul {
       border-left:1px dotted #c5d2db;
       margin:0px 0px 0px 16.5px;
    }
    
    .sy__file .fn__flex-1 {
       margin:0px;
       padding-right:5px;
    }
    .layout--float .file-tree {
       margin-right:5px;
    }
    .fn__flex-1.fn__flex-column.file-tree.sy__file .b3-list-item {
       margin-left:0px !important;
    }
    
    /* 笔记本 区隔 */
    .sy__file ul.b3-list.b3-list--background {
        border-radius: 0.3em;
        margin: 6px 10px 6px 12px;
        outline: 1.5px double #d2dfe8;
        overflow: hidden;
    }
    
    
    1 回复
    1 操作
    GloR 在 2023-09-02 15:10:47 更新了该回帖
    这个代码的缺陷就是 存在不必要的缩进线,导致观感不够好,理想状况下,笔记本下的第一条缩进线应该是不需要的
    GloR
    @GloR 哈哈,我反而比较需要
    JeffreyChen
  • Kidus

    感谢分享!

  • 我实现了!下面这段代码原来是 ul ,我改成 ul>ul 之后就可以去掉第一条线了。

    .sy__file .b3-list.b3-list--background ul>ul {
       border-left:1px dotted #c5d2db;
       margin:0px 0px 0px 16.5px;
    }
    

    现在我个人使用的完整代码片段是:

    /* 文件树缩进线&笔记本区隔 CSS片段*/
    .sy__file .b3-list-item__toggle {
       padding-left:8px !important;
       padding-right:1px;
       color:#899fad; 
    }
    
    .sy__file .b3-list-item__icon {
    margin-left:0px;
    margin-right:0px;
    padding:0px 0px;
    transform:scale(0.7);
    }
    
    .sy__file .b3-list.b3-list--background ul>ul {
       border-left:1px dotted #c5d2db;
       margin:0px 0px 0px 16.5px;
    }
    
    .sy__file .fn__flex-1 {
       margin:0px;
       padding-right:5px;
    }
    .layout--float .file-tree {
       margin-right:5px;
    }
    .fn__flex-1.fn__flex-column.file-tree.sy__file .b3-list-item {
       margin-left:0px !important;
    }
    
    /* 笔记本 区隔 */
    .sy__file ul.b3-list.b3-list--background {
        border-radius: 0.3em;
        margin: 6px 10px 6px 12px;
        outline: 1.5px double #5f7a8c;
        overflow: hidden;
    }
    
  • micromiku

    又收藏大佬的一个样式 感谢 🙏

请输入回帖内容 ...
JeffreyChen
思源笔记同步教程:ld246.com/article/1692089679062

推荐标签 标签

  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    262 引用 • 664 回帖
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 149 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    86 引用 • 897 回帖 • 1 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖 • 1 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 2 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 355 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    216 引用 • 463 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    141 引用 • 441 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 139 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 143 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖 • 1 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 705 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 330 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 606 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 1 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖 • 5 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 60 回帖 • 466 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    41 引用 • 40 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 24 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 81 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 365 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 649 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 520 关注