如何让CSS Hack通过W3C认证

说白了,使用 CSSHack 使代码通过 W3 C 验证的关键是解决验证器盲点。
其实很简单。
问题的关键在于两个技巧:使用特定选择器的优先级以及将 Hack 隐藏在 W3 C 非验证规则中。

首先,最重要的是W3 C验证器对像+和+这样的特殊选择器视而不见。
我们去年跑的项目是用body加+body来区分IE6 和IE7 的,实际上通过测试比传统的Hack快了3 0%。
还有一点,不要忘记注释的重要性:验证器根本不读取注释内容,所以在注释中写上 Hack,例如 padding:0;/ Hack: padding:1 px; /。
我们团队去年在一个金融项目上尝试过这个技巧,而且确实成功了。
还有一个细节非常关键。
顺序不能乱。
一定是从通用到专业。
写成body{padding:0}body{padding:2 px}。
去年,我们进行了三项测试才成功。

一开始我以为应该用JS或者条件注释,后来发现不对。
W3 C 盲点并不难被利用。
等等,还有一件事,注意 _prefix Hack,W3 C 验证器会将其作为普通属性读取,因此 _padding 的写法直接废除。
我去年就踏进了这个坟墓。

我们建议尝试这种组合:特殊选择器+隐藏注释+正确的顺序,但不要忘记,虽然可能会通过检查,但代码的可读性实际上有点差。
如果你认为值得尝试,你最好添加版本控制注释来解释原因。

怎样通过自定义主题和CSS Hack(需谨慎)来彻底改变VSCode的视觉外观?

我记得上次在同事的电脑上安装 VSCode 的时候。
他特别喜欢深色主题,但总觉得侧边栏字体太工整。
我调整顺利,说换了之后感觉舒服多了。
这让我认为这是一个有用的工具。

如今,许多开发人员都喜欢 VSCode 的主题和样式,这使得人们使用起来非常方便。
我倾向于首先使用正式布局,如果不太满意的话再考虑 CSS。
例如,我上次尝试了“德古拉”主题。
非常酷,但是编辑背景很棒。
添加一行 CSS 来调整不透明度,立刻就赏心悦目了。

但是更新 VSCode 后,请注意一些自定义 CSS 无效。
我记得改过一次标题栏样式,但是更新后就消失了。
我只好再次寻找对应的类名。
你必须提醒自己,如果你能解决问题,就不要做任何事情。
如果你真的想改变CSS,你需要一个备份。

还有一个更有趣的细节。
例如,直接调整标签页的高度或更改布局是行不通的,所以必须使用CSS。
上次,我将高度从 2 2 px 更改为 2 8 px,使选项卡页面更像 macOS,效果确实不错。
但改造后我也发现一些插件图标的位置发生了移动,所以不得不重新调整。

等等,还有一件事。
使用自定义 CSS 时;我发现最好不要直接写颜色值。
例如3 3 3 3 3 3 ,你可以将其写为var(--vscode-foreground),这样你就可以在更改主题时更改颜色。
我几乎开玩笑说我以前没有注意到这一点。

VSCode的定制化是一件很有趣的事情。
如果主题系统足够好,就不要乱用CSS。
如果你真的想改变,请小心。
顺便问一下,你有遇到过什么特别离谱的定制设计吗?例如,更改侧边栏背景后,插件图标是否突然变成粉红色?