Open yisibl opened 10 years ago
Great!比个赞,感谢一丝大大的分享,都是比较常用而且好用的功能,简化代码,而且与开发者互动,给予其自由发挥的空间。
maybe
學習。
除了两个连字符 U+002D(--) 开头
这一点看起来比较蛋疼,功能什么的倒是很赞。
这是css3的变量功能吗?
挺好的
嗯,试试
其实偶觉着吧,css还是不要这些功能了,不讨论本身这个语法的写法问题,个人觉得CSS和JS应该各司其职,做自己该做的事情,就像曾经的java web与java的模板语言(freemaker,velocity等)一直想做逻辑与呈现分离,如果css加入了逻辑就会将逻辑与呈现耦合在一起,当然上面这些需求是存在的,但可以需求另外的解决途径,比如sass、less等,css自身没有逻辑也就不需要相应的解析器做额外的开销(css的expression这个奇葩的货),个人认为轻盈、专注才应该是js和css发展方向!
不同意楼上,css能进行罗辑判断是一种好事情,不然连个calt都要用js,太麻烦
有點意思。
我靠我靠我靠!
mark一下
less
曾几何时,我们在编写CSS的时候,经常会遇到一些重复的功能,在一次次的复制粘贴中,挥洒着我们码农的液体。
场景一:
在全局的 reset.css 中为标题元素指定了统一的样式。
在实际页面中发现,还需要为标题设置颜色,我们不得不再写一遍。
场景二:特定的媒体查询可能会在很多地方会重复使用。
这种重复的书写,使 CSS 产生了很多冗余,难以阅读,而且还影响维护,当每次有改动时需要重复改动很多地方,很痛苦而且很容易出错。
现在,规范小王子Tab Atkins 给我们带来了最新的《CSS Extensions》规范。在这份规范中,遇到这样的较长或重复使用的选择器可以指定一个简短、容易理解的名字来代替。
规范的语法是:
其中, 以两个连字符 U+002D(--) 开头。例如场景一中,所有标题的集合可以取名为 heading,甚至可以把它作为一个伪类
:--heading
,然后根据规范中的语法应该这样写:还可以配合其他选择器使用:
实际上,现在所有的自定义名称都改为了两个连字符(--)。在之前的《CSS Custom Properties for Cascading Variables Module Level 1》规范中,使用
var-
来定义一个变量:单从语法上来看,调用变量时与定义的变量名称不统一,这很容易让人困惑。Tab Atkins 在这份邮件中也说明了改变语法的缘由。Firefox 31 已经支持新的语法,改进后的语法是这样的:
再看看场景二,在Media Queries Level 4 第十一节
Custom Media Queries
中提到了自定义媒体查询的方法,我们可以这样复用:怎么样,一切是不是很酷,这就是全部吗?NO~NO,规范中还将扩展:
更多请阅读该规范,订阅 www-style 邮件组或者 @前端快爆 微博,参与讨论。
未来,CSS 将会更容易阅读,并且越来越强大。开发者可以直接扩展CSS本身的功能,而不是等待标准为他们定义新的功能。
CSS 难道不是世界上最好的语言吗?