Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[注解] [405] 折角效果 #58

Open
cssmagic opened this issue Feb 3, 2017 · 0 comments
Open

[注解] [405] 折角效果 #58

cssmagic opened this issue Feb 3, 2017 · 0 comments
Labels

Comments

@cssmagic
Copy link
Owner

cssmagic commented Feb 3, 2017

花絮与注解

第 111 页 ‧ 警告栏

在编写本书时,SCSS 还没有原生支持三角函数。如果想正常使用三角函数,你就需要用到 Compass 框架 或其他库。借助泰勒展开式,你其实还可以自己写一套三角函数的实现……

关于 “泰勒级数”(Taylor Series)和 “泰勒展开式”(Taylor Expansion),可以参考 维基百科的相关条目

关于在 Sass 中用泰勒展开式实现三角函数,可以参考这个代码片断:
SCSS/SASS module calculating sin/cos/tan using Taylor Expansion

……另一方面,StylusLESS 是原生内置了三角函数的。

原文其实没有提到 Stylus。Stylus 的内置函数相当丰富,可以参考 相关文档

本书作者 Lea Verou 似乎对 Stylus 成见颇深。她曾 在 Twitter 上表示,她不喜欢 Stylus 是因为 “它的语法最不像 CSS”(但实际上 Stylus 完全支持 CSS 语法),而且 “社区很小”(唉,真是势利啊……)。

是的,魔法哥是 Stylus 铁粉。

交流与答疑

第 107 页 ‧ 第一段

色标的位置值将变成 {2 \over \sqrt{2}} = \sqrt{2} \approx 1.414213562,我们可以将其取整为 1.5em……

图灵社区网友 @黄昏雨长相忆 反馈,用 Chrome 浏览器查看书中提供的 在线演示 时,折角大约有 0.2em 错位。

实际上,这种计算误差所引起的渲染误差在各个浏览器上都存在,不光光是 Chrome 的问题。在视网膜屏幕上,这个误差看起来可能更加明显。问题就出在 1.414213562 与 1.5 之间的误差上。

作者最终给出的代码是这样的:

background:
    ...
    linear-gradient(-135deg,
        transparent 1.5em, #58a 0);

如果把最后一行代码中的 1.5em 改成 1.414em,基本上就可以消除这个渲染误差了。

我不知道作者为什么要把这个值 “取整” 为 1.5em,不过我也并不纠结,毕竟我们看书是为了 get 新技能,不需要在意这些细节。

@cssmagic cssmagic mentioned this issue Feb 8, 2017
@zhuxinghan zhuxinghan mentioned this issue Feb 26, 2017
@cssmagic cssmagic added the 注解 label Mar 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant