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

《重拾 CSS 的乐趣》问答环节 #53

Open
cssmagic opened this issue Aug 14, 2015 · 1 comment
Open

《重拾 CSS 的乐趣》问答环节 #53

cssmagic opened this issue Aug 14, 2015 · 1 comment

Comments

@cssmagic
Copy link
Owner

cssmagic commented Aug 14, 2015

《重拾 CSS 的乐趣》问答环节

我在第二届 CSS Conf(2015 中国 CSS 开发者大会)上的演讲主题为《重拾 CSS 的乐趣》。在演讲的问答环节,现场观众提了三个问题,整理记录如下。

Q1 - CSS 图标的代码量会不会很大,在实际项目中使用可能会有什么问题?

虽然我在演讲中花了很多时间来介绍 CSS 图标,但我并不鼓励在生产环境中大量使用。我自己的项目 CMUI 在后续版本中已经改用了其它的图标解决方案。我在演讲中也提到了,任何技术都有优缺点,需要看场景来选择使用。

我今天介绍 CSS 图标,主要目的在于分享它的乐趣,以及它所体现出的 “化整为零” 的 CSS 思维方式。

至于 CSS 图标的代码量,要看具体图标。根据我自己的经验,在常见的案例中,CSS 图标的代码量并不会很大,并不会明显比 SVG 或 icon font 更大;部分场景下甚至更小;Gzip 也有可能会进一步减少这几种方案的代码量差距。有兴趣可以自己实践对比一下。

另外 CSS 有它自己独有的代码复用机制(比如 class 和群组选择符等),可以进一步减少代码量,比如今天提到的 fileicon.css 项目就是一个典型的例子。

Q2 - 是什么推动着你在这个领域一直不断地学习和探索?

其实我的真实身份并不是工程师,我是一名设计师。

2008 年的时候,我来上海想找的第一份工作是交互设计师。不过遗憾的是,当时上海的互联网行业还没有起来,我没有找到合适的职位。但我要生存啊,必须要找一份工作先干着。由于我有制作个人网站的经验,于是我选择以前端工程师的身份先进入这个行业。

我当时学习 CSS 的方法比较粗暴啊,就是把市面上所有的 CSS 书全部买来、全部啃光。于是在某个时间点,我忽然发现,好像一般的 CSS 问题都难不倒我了。从此我便在工程师的道路上越走越远。

回到你的问题,CSS 是一门非常有乐趣的技术——就像我今天展示的那样。在钻研它的过程中,我不会感到枯燥。

不过近些年来,CSS 早已不是我工作的主要部分,我更多地在使用 JS 甚至后端的东西。我并不在乎自己的身份是什么,我更在意的是我想做的那件事。我是一个想做些事情的人。比如说,在接下来的一个月里,我可能会发布一款重量级的产品,不过它跟 CSS 可能没有太大的联系。

因为我想做些什么,于是我选择各种语言和技术来实现它。所以真正不断推动我的不是各种语言或技术,而是我想做的那件事。

Q3 - 你在实现多重边框这个案例时有没有遇到兼容性的问题?如何避免?

我只能说,如果旧版 IE 挂了,那就让它挂了吧。

这只是开个玩笑啊。我的建议如下:

  • 先明确你的目标设备(目标浏览器),尽可能做到真机实测。

  • 查询 CanIUse 这样的浏览器兼容性网站,提前评估可能遇到的兼容性问题。

  • 在不支持某些特性的浏览器下,做好 fallback 措施,保证基本功能可用。比如说,不能因为某些浏览器不支持某个 CSS 特性而导致该浏览器下的文本和背景糊成一团无法正常阅读。


© Creative Commons BY-NC-ND 4.0   |   我要订阅   |   我要打赏

@AzureRay
Copy link

“真正不断推动我的不是各种语言或技术,而是我想做的那件事。”

Me, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants