`
CN.Silva...
  • 浏览: 48440 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

CSS中expression使用简介

阅读更多
定义 
  IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javas cript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javas cript表达式,CSS属性的值等于Javas cript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。

 

  给元素固有属性赋值

  例如,你可以依照浏览器的大小来安置一个元素的位置。

#myDiv {
position: absolute;
width: 100px;
height: 100px;
left: expression(document.body.offsetWidth - 110 + "px");
top: expression(document.body.offsetHeight - 110 + "px");
background: red;
}

  给元素自定义属性赋值

  例如,消除页面上的链接虚线框。 通常的做法是:

<a href="link1.htm" onfocus="this.blur()">link1</a>
<a href="link2.htm" onfocus="this.blur()">link2</a>
<a href="link3.htm" onfocus="this.blur()">link3</a> 

  粗看或许还体现不出采用expression的优势,但如果你的页面上有几十甚至上百个链接,这时的你难道还会机械式地Ctrl+C,Ctrl+V么,何况两者一比较,哪个产生的冗余代码更多呢?

  采用expression的做法如下: 

<style type="text/css">
a {star : expression(onfocus=this.blur)}
</style>
<a href="link1.htm">link1</a>
<a href="link2.htm">link2</a>
<a href="link3.htm">link3</a> 

  说明:里面的star就是自己任意定义的属性,你可以随自己喜好另外定义,接着包含在expression()里的语句就是JS脚本,在自定义属性与expression之间可别忘了还有一个引号,因为实质还是CSS,所以放在style标签内,而非s cript内。OK,这样就很容易地用一句话实现了页面中的链接虚线框的消除。不过你先别得意,如果触发的特效是CSS的属性变化,那么出来的结果会跟你的本意有差别。例如你想随鼠标的移进移出而改变页面中的文本框颜色更改,你可能想当然的会认为应该写为 

<style type="text/css">
input 
{star : expression(onmouseover=this.style.backgroundColor="#FF0000";
onmouseout=this.style.backgroundColor="#FFFFFF")}
</style>
<style type="text/css">
input {star : expression(onmouseover=this.style.backgroundColor="#FF0000";
onmouseout=this.style.backgroundColor="#FFFFFF")}
</style>
<input type="text">
<input type="text">
<input type="text">

  可结果却是出现脚本出错,正确的写法应该把CSS样式的定义写进函数内,如下所示:

<style type="text/css">
input {star : expression(onmouseover=function()
{this.style.backgroundColor="#FF0000"},
onmouseout=function(){this.style.backgroundColor="#FFFFFF"}) }
</style>
<input type="text">
<input type="text">
<input type="text"> 

  注意

  不是非常需要,一般不建议使用expression,因为expression对浏览器资源要求比较高。

分享到:
评论

相关推荐

    CSS中使用expression表达式

    CSS中的`expression`表达式是一种特定于Internet Explorer的特性,从IE5版本开始支持,它允许开发者使用JavaScript表达式来动态地计算和设置CSS属性。然而,由于其带来的性能问题和浏览器兼容性限制,`expression`...

    CSS自定义属性Expression

    CSS自定义属性Expression是一种在CSS中添加自定义行为的方式,它允许开发者定义自己的CSS属性,并在这些属性中嵌入JavaScript代码来实现动态效果。这种方式在早期的CSS版本中较为常见,尤其是在Internet Explorer...

    css expression使用概述及其优缺点介绍

    CSS Expression的使用主要是通过`expression`属性,可以直接在CSS中定义。例如,下面的代码片段展示了如何创建一个返回顶部按钮,并将其保持在屏幕底部: ```css .toTop { top: expression(eval(document....

    尽量不要使用CSS Expression的原因

    在CSS Expression中使用JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。CSS Expression在其它浏览器中不起作用,因此在跨浏览器的编码中单独针对IE设置时会比较有用。从IE5开始支持CSS Expression...

    第十四节 IE中利用CSS触发XSS-01

    在CSS中,可以使用CSS表达式(css expression)来执行JavaScript代码。CSS表达式是一个早期的微软DHTML产物,可以在CSS中定义表达式来达到建立元素间属性之间的联系等作用。从IE5开始得到支持,但由于标准、性能、...

    不要使用CSS Expression的原因分析

    在CSS Expression中,开发者可以在CSS属性值中嵌入JavaScript表达式。例如,以下代码将背景颜色设置为根据当前小时数每隔一小时切换一次: ```css background-color: expression( (new Date()).getHours()%2 ? "#F...

    CSS中使用expression完美设置页面最小宽度(兼容ie)

    在IE浏览器(尤其是早期版本)中,`expression`是一个特有的特性,它允许我们将CSS属性与JavaScript表达式结合起来,以实现动态计算和设置样式的目的。 标题提到的问题是关于如何在IE浏览器中设置页面的最小宽度。...

    CSS expression在Chrome的问题

    在Chrome浏览器中使用CSS表达式通常会导致问题,主要是因为Chrome不支持这种写法,可能会导致相关CSS规则无法正确解析或者导致整个样式表的其他规则失效。在上述描述中,提到的问题是在IE低版本浏览器中使用的表达式...

    CSS expression 隔行换色效果

    在本例中,我们将探讨如何使用CSS expression以及JavaScript来实现隔行换色的效果。 首先,让我们来看看CSS expression的使用。在提供的代码中,`expression(this.sourceIndex%2==0?'#9FB7F6':'#B6C8F8')` 是一个...

    CSS expression判断表达式设置input样式

    因此,使用CSS expression具有严重的跨浏览器兼容性问题。 在提供的代码示例中,`expression`被用来根据`input`元素的`type`属性来改变其背景颜色。当`input`类型为`text`时,背景色设置为`#FFC`(浅黄色),否则...

    JavaScript和CSS通过expression实现Table居中显示

    至于居中的原理就不说了,可以看一下我的上篇博客,这次没有使用window的两个事件,而是使用一个叫expression的函数。现在多数的浏览器都支持这个函数。在写上一篇博客的时候,我脑里想能不能把计算后的值赋给css的...

    css3-frog-expression.zip

    总的来说,“css3-frog-expression.zip”中的项目是一个很好的学习案例,它展示了CSS3如何将一个静态的网页元素转变为充满活力的角色,同时让我们看到了CSS3在网页动画和交互设计中的强大潜力。无论是初学者还是经验...

    CSS文集

    利用CSS的Expression自定义属性来实现表格的OnMouseOver 特效 需要掌握...important标记区别Firefox和IE6 DIV+CSS页面布局中注意的问题以及常用的CSS使用方法 网页布局基础-XHTML与CSS基础 CSS命名规则

    Thingworx Expression&Eventsrouter Widget

    例如,在demo1中,我们创建了三个textbox、两个expression和一个eventrouter。每个expression都有一个参数'test_name',并且设置'DataChangeType'为'always',这意味着每当'test_name'的值改变时,expression都会...

    CssStyle.txt

    在这段CSS规则中,使用了`css:expression()`语法,这是一个非标准但常被使用的功能,主要用于在JavaScript中动态地计算或更改CSS属性。具体来说,在这个例子中,当鼠标悬停在`&lt;tr&gt;`元素上时(`onmouseover`事件),...

    Expression

    4. **字体安装与使用**:在Windows或Mac操作系统中,用户可以将".ttf"(TrueType)或".otf"(OpenType)格式的字体文件安装到系统中,以便在各种应用程序中使用“Expression”字体。 5. **编程与Web字体**:在网页...

Global site tag (gtag.js) - Google Analytics