之前说到CSS Expression,然后网上查了一查,发现这是属于CSS中的行为。

众所周知,网页三要素就是结构,表现,行为,也就是说HTML是结构,CSS是表现,JavaScript是行为。

这里所说的CSS中的行为,就是说,在CSS里面使用JavaScript语言。

CSS Expression和Behavior属于CSS中的行为,也就是说,通过这两种方法,我们可以在CSS里面使用JS语言。

其中Expression的用法可以看这里 ,而Behavior的用法大概是这样的:

behavior:url(css/PIE.htc);

而JS语言就写在了htc文件里面。里面大概可以像这个例子changeColor.htc:

<public:attach event="onmouseover" onevent="before()" />
<public:attach event="onmouseout" onevent="after()" />

<script type="text/javascript">
    function before(){
    this.style.backgroundColor="#7FFFAA";
    this.style.color="red";
    this.style.cursor="pointer";
    }
    function after(){
    this.style.backgroundColor="";
    this.style.color="";
    this.style.cursor="";
    }
</script>

然后在CSS文件里面这样用

li{behavior:url(css/changeColor.htc);}

expression和behavior的重要说明

1:只有IE才可以使用

css中的行为,expression和behavior只有IE才有效,FireFox无效,而且IE也只有IE5以上的版本才支持。

2:不推荐使用expression和behavior

在页面渲染的过程中,expression和behavior需要大量的计算,会大量地耗费客户端资源。所以不到迫不得已,请不要使用expression和behavior。

3:expression和behavior的现实意义

上面两点,好像已经判了expression和behavior死刑。其实,并不是,它们依然有着现实意义——就是用另外一种途径解决IE6的兼容性问题(IE5已经基本退出市场,可以不用考虑)。例如:IE7以上的版本、FireFox、Opera、Safari都已经支持透明PNG图片,但是IE6却不能支持。这是IE6天生的缺陷,但是为了能让IE6也能够兼容我们的设计效果,那么这时候behavior便有了用武之地。

总的来说,expression和behavior在逐渐的没落,但是只要IE6还是浏览器市场上占有一席之地,expression和behavior就依然有着旺盛的生命力。

© 2012 Hedgehog Suffusion theme by Sayontan Sinha