百科问答小站 logo
百科问答小站 font logo



CSS中属性的快捷写法是如何被识别的? 第1页

  

user avatar   he-shi-jun 网友的相关建议: 
      

@貘吃馍香

@ 过来的。

要我说啥?

我要说的很简单,你(们)的答案太他妈啰嗦了(特别是贴浏览器引擎代码的,完全是拿大炮打蚊子)。


一句话回答:CSS length和color的token是无歧义的,也就是不会有个字符序列既可能是length又可能是color。


要多说的话:

为什么它们是无歧义的?因为token设计为无歧义,词法分析器才能工作,否则就需要额外的语义辅助。CSS语言本身要保持简单,自然不会引入这种复杂性。而且对机器方便的规则通常对人也是方便的——你也一眼就能看出那是个length还是个color。


至于效率问题,parse的开销跟layout比可忽略不计。如果题主对如何写高性能parser有兴趣,请学习编译器前端(不是Web前端)相关知识。




  

相关话题

  chrome41.0.2224.3版本的知乎顶部条为什么显示不正常? 
  如何评价 2017 年 2 月 7 日知乎的新版网页界面? 
  为什么W3C要制定content-box盒子模型?IE5.5之前的IE盒子模型放在今天来看也是极好的啊 
  从设计人员输出的PSD图到最终转换为页面代码,整个过程要用到哪些知识,使用哪些工具,有哪些注意点?有这方面的书籍推荐吗? 
  为什么能够提供BFC的inline-block元素却不能嵌套block元素? 
  为什么一直没有出现一个可以把现代 CSS 编译为支持老版本浏览器 CSS 的编译工具? 
  写这样一个求婚网页,需要具备什么IT技能? 
  为什么很多网站使用微软雅黑? 
  现在整个 Web 前端是「屎山」吗? 
  程序员讨厌面试被问一些基础问题么? 

前一个讨论
有人号称编程零基础学C#4天,用记事本1分钟写个计算器,而且信誓旦旦,这是怎么回事?
下一个讨论
如何评价现任中国铁路总公司总经理的高速动车组降速计划?





© 2025-05-06 - tinynew.org. All Rights Reserved.
© 2025-05-06 - tinynew.org. 保留所有权利