behavior 并不适合实现那些细碎却有没有通用性的交互操作.
这时我们就需要用 CSSS! 来解决问题了.
顾名思义, CSSS! = CSS +Script, 它是写在 CSS 中的脚本.
它的语法其实很简单.
让我们看看下面这段 CSSS! 脚本:
~~~
.item {
hover-on! :
ele = $1( input.url ) ,
ele:empty == true ?
(self.value = "empty") #
(self.value = "filled"),
ele:hover = true,
self::width = ele.box-content-width(),
self.$(.icon) -> @(ele) ele::background = "#CCC"
;
}
~~~
它的格式看起来就像是个扩展的 CSS 属性一样.
一些要注意的地方:
* CSSS! 语句使用逗号","作为语句结束符.
* CSSS! 中的字符串只能双引号标识, 不能使用单引号("string").
* CSSS! 中使用关键字 self 表示当前对象.