找回密码
 立即注册
搜索
查看: 918|回复: 5

[软件] 求助CSS高手,代码修改

[复制链接]
     
发表于 2025-11-19 10:31 | 显示全部楼层 |阅读模式
CSS代码,仿Chrome标签页(梯形标签页),用于文件管理软件Tablacus Explorer。显示效果:


想做些改进,主要是区分各个“非当前页”、完善梯形形状、自定义各种背景颜色,如图:




最终理想样式:




CSS代码(待修改)
  1. .tab, .tab2, .tab3,
  2. .tab:hover, .tab2:hover, .tab3:hover {
  3.   box-shadow: none;
  4. }

  5. .tab0 {
  6.   padding: 3px 0 0 12px;
  7.   background-color: ActiveCaption;
  8. }

  9. .tab, .tab2, .tab3 {
  10.   position: relative;
  11.   background: transparent;
  12.   border: 0;
  13.   padding: 0 12px;
  14.   opacity: 1;
  15. }

  16. .activetab {
  17.   position: relative;
  18.   background-color: #fff;
  19.   border: 0;
  20.   padding: 0 2px;
  21.   margin: 0 10px;
  22.   height: 2em;
  23. }

  24. .activetab:before,
  25. .activetab:after {
  26.   content: "";
  27.   position: absolute;
  28.   background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M24%200C9%200%2015%2024%200%2024h25V0h-1z%22%2F%3E%3C%2Fsvg%3E");
  29.   bottom: 0;
  30.   width: 25px;
  31.   height: 24px;
  32. }
  33. .activetab:before {
  34.   left: -24px;
  35. }
  36. .activetab:after {
  37.   right: 1px;
  38.   transform: scaleX(-1);
  39.   transform-origin: right;
  40. }

  41. .tab:hover,
  42. .tab2:hover,
  43. .tab3:hover {
  44.   position: relative;
  45.   background-color: #d0e0e9;
  46.   border: 0;
  47.   padding: 0 2px;
  48.   margin: 0 10px;
  49. }

  50. .tab:hover:before,
  51. .tab:hover:after,
  52. .tab2:hover:before,
  53. .tab2:hover:after,
  54. .tab3:hover:before,
  55. .tab3:hover:after {
  56.   content: "";
  57.   position: absolute;
  58.   background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23d0e0e9%22%20d%3D%22M24%200C9%200%2015%2024%200%2024h25V0h-1z%22%2F%3E%3C%2Fsvg%3E");
  59.   bottom: 0;
  60.   width: 25px;
  61.   height: 24px;
  62. }
  63. .tab:hover:before,
  64. .tab2:hover:before,
  65. .tab3:hover:before {
  66.   left: -24px;
  67. }
  68. .tab:hover:after,
  69. .tab2:hover:after,
  70. .tab3:hover:after {
  71.   right: 1px;
  72.   transform: scaleX(-1);
  73.   transform-origin: right;
  74. }
复制代码



CSS代码源网页,有“仿Chrome标签页”和“仿FireFox标签页”两种代码,还有执行结果截图。
https://qiita.com/nocd5/items/af062f7b06d4cd3b8b18
https://tablacus.github.io/wiki/addons/usercss.html




附件是用于TE的插件user css




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

     
发表于 2025-11-19 10:55 | 显示全部楼层
看了下楼主的过往发帖,推荐一个叫v2ex的论坛给你:https://www.v2ex.com/
回复

使用道具 举报

发表于 2025-11-19 11:03 | 显示全部楼层
我觉得问AI是最快的
css这种不怎么涉及逻辑的,AI应该很擅长
回复

使用道具 举报

头像被屏蔽
     
发表于 2025-11-19 11:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2025-11-19 11:48 | 显示全部楼层
帮你问了Gemini3:

这是一个非常经典的“Chrome风格”CSS修改需求。要达到你图片中的效果,核心难点在于:

  • SVG 变色:原本的代码只处理了白色和悬停色,我们需要给“非当前页”也加上带有颜色的 SVG 梯形背景。
  • 层级关系:当前页必须覆盖在非当前页之上。
  • 去除边框/凸起:需要强制重置 Tablacus 默认的一些边框样式。

以下是为您修改完善后的代码。我已经为您调好了配色(参考了您的理想样式图),并添加了详细注释方便您后续微调颜色。


完整的 CSS 代码

请复制并替换原本的所有 CSS 内容:

  1. /* ==========================================================================
  2.    基础设置与颜色定义
  3.    ========================================================================== */

  4. /* 1. 去除默认的边框、阴影和凸起效果 */
  5. .tab, .tab2, .tab3, .activetab,
  6. .tab:hover, .tab2:hover, .tab3:hover {
  7.   box-shadow: none !important;
  8.   border: none !important;
  9.   outline: none !important;
  10. }

  11. /* 2. 标签栏整体背景 (对应您图中的“颜色4”) */
  12. .tab0 {
  13.   /* 这里设置标签栏底色,建议使用深蓝灰色 */
  14.   background-color: #648ca5;
  15.   padding: 5px 0 0 5px; /* 顶部留点空隙,左侧留空隙 */
  16.   height: 30px; /* 强制高度,防止布局乱跳 */
  17. }

  18. /* ==========================================================================
  19.    标签通用形状 (所有标签都生效的样式)
  20.    ========================================================================== */
  21. .tab, .tab2, .tab3, .activetab {
  22.   position: relative;
  23.   display: inline-block;
  24.   height: 26px;        /* 标签高度 */
  25.   line-height: 28px;   /* 文字垂直居中微调 */
  26.   padding: 0 15px;     /* 文字左右间距 */
  27.   margin: 0 8px;       /* 标签之间的重叠/间距,负数可以让它们重叠 */
  28.   font-family: "Microsoft YaHei", "Segoe UI", sans-serif;
  29.   cursor: default;
  30.   vertical-align: bottom; /* 底部对齐 */
  31. }

  32. /* 通用的伪元素设置 (用于显示梯形两侧) */
  33. .tab:before, .tab:after,
  34. .tab2:before, .tab2:after,
  35. .tab3:before, .tab3:after,
  36. .activetab:before, .activetab:after {
  37.   content: "";
  38.   position: absolute;
  39.   bottom: 0;
  40.   width: 25px;  /* SVG图片的宽度 */
  41.   height: 26px; /* 必须与标签高度一致 */
  42.   pointer-events: none; /* 防止鼠标点到圆角上没反应 */
  43. }

  44. /* 左侧圆角位置 */
  45. .tab:before, .tab2:before, .tab3:before, .activetab:before {
  46.   left: -18px; /* 根据SVG宽度调整,负值 */
  47. }

  48. /* 右侧圆角位置 (镜像翻转) */
  49. .tab:after, .tab2:after, .tab3:after, .activetab:after {
  50.   right: -18px;
  51.   transform: scaleX(-1);
  52. }

  53. /* ==========================================================================
  54.    状态 A: 非当前页 (普通标签) - 对应“颜色2”
  55.    ========================================================================== */
  56. .tab, .tab2, .tab3 {
  57.   /* 非当前页背景色 (稍浅于底色,或灰色) */
  58.   background-color: #8daabb;
  59.   color: #eee; /* 非当前页文字颜色 */
  60.   z-index: 1;  /* 层级低,被当前页压住 */
  61. }

  62. /* 非当前页的梯形 SVG (填充色必须对应上面的 background-color: #8daabb) */
  63. .tab:before, .tab:after,
  64. .tab2:before, .tab2:after,
  65. .tab3:before, .tab3:after {
  66.   /* 下方 fill=%238daabb 就是颜色代码,如果改背景色,这里也要改 */
  67.   background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%238daabb%22%20d%3D%22M24%200C9%200%2015%2026%200%2026h25V0h-1z%22%2F%3E%3C%2Fsvg%3E");
  68. }

  69. /* ==========================================================================
  70.    状态 B: 鼠标悬停 (Hover) - 对应“颜色3”
  71.    ========================================================================== */
  72. .tab:hover, .tab2:hover, .tab3:hover {
  73.   /* 悬停时的背景色 (浅蓝色) */
  74.   background-color: #bfe0f0;
  75.   color: #000;
  76.   z-index: 5; /* 悬停时层级提高 */
  77. }

  78. /* 悬停时的梯形 SVG (填充色 fill=%23bfe0f0) */
  79. .tab:hover:before, .tab:hover:after,
  80. .tab2:hover:before, .tab2:hover:after,
  81. .tab3:hover:before, .tab3:hover:after {
  82.   background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23bfe0f0%22%20d%3D%22M24%200C9%200%2015%2026%200%2026h25V0h-1z%22%2F%3E%3C%2Fsvg%3E");
  83. }

  84. /* ==========================================================================
  85.    状态 C: 当前页 (Active) - 对应“颜色1”
  86.    ========================================================================== */
  87. .activetab {
  88.   /* 当前页背景色 (白色) */
  89.   background-color: #ffffff;
  90.   color: #000; /* 当前页文字颜色 */
  91.   z-index: 10; /* 层级最高,压在所有标签上面 */
  92.   font-weight: bold;
  93. }

  94. /* 当前页的梯形 SVG (填充色 fill=%23ffffff) */
  95. .activetab:before, .activetab:after {
  96.   background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M24%200C9%200%2015%2026%200%2026h25V0h-1z%22%2F%3E%3C%2Fsvg%3E");
  97. }
复制代码


代码修改说明 (DIY指南)

如果需要自己修改颜色,请注意以下几点:

  • 颜色同步: 由于使用了 SVG 制作梯形圆角,CSS 背景色 (background-color) 必须和 SVG 图片代码里的 fill 颜色一致,否则会出现中间是颜色A,两边耳朵是颜色B的情况。
  • 如何修改 SVG 颜色: 代码中 url("data:image/svg+xml... fill%3D%22%23xxxxxx%22 ...") 这一长串里,%23 代表 # 号,后面的 6 位字符就是颜色代码。
    • 例子:如果您想把“非当前页”改成灰色 (#cccccc):
      • 修改 .tab { background-color: #cccccc; }
      • 找到“非当前页 SVG”那段,把 fill%3D%22%238daabb%22 改成 fill%3D%22%23cccccc%22。
  • 去除凸起条: 我在代码最上方使用了 border: none !important;,这会强制去除 Tablacus 有时会自动给 Active Tab 顶部加的一条高亮线。
  • 高度调整: 现在的代码设定标签高度为 26px。如果您觉得太矮或太高,需要同时修改 .tab 的 height 和 svg 中的 height 属性,比较麻烦。目前的 26px 是比较接近 Chrome 经典样式的比例。

评分

参与人数 1战斗力 +1 收起 理由
proof1 + 1 不错! 连注释教程都有了。

查看全部评分

回复

使用道具 举报

     
 楼主| 发表于 2025-11-19 13:52 | 显示全部楼层
本帖最后由 proof1 于 2025-11-19 13:56 编辑
Nanachi 发表于 2025-11-19 11:48
帮你问了Gemini3:

这是一个非常经典的“Chrome风格”CSS修改需求。要达到你图片中的效果,核心难点在于: ...
感谢!

还真不错!显示效果:


有点压底边,我再调整一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2026-1-19 02:32 , Processed in 0.049450 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表