http://www.zjboke.cn/Blog/article.asp?id=27
定义
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`是一个特性,...因此,虽然`expression`在早期Web开发中提供了一种创新的解决方案,但在现代Web开发中,为了兼容性、性能和代码质量,应避免使用`expression`,转而使用标准的CSS和JavaScript技术。
在CSS中,可以使用CSS表达式(css expression)来执行JavaScript代码。CSS表达式是一个早期的微软DHTML产物,可以在CSS中定义表达式来达到建立元素间属性之间的联系等作用。从IE5开始得到支持,但由于标准、性能、...
CSS Expression的使用主要是通过`expression`属性,可以直接在CSS中定义。例如,下面的代码片段展示了如何创建一个返回顶部按钮,并将其保持在屏幕底部: ```css .toTop { top: expression(eval(document....
然而,尽管这种技术在某些情况下看似方便,却隐藏着一系列潜在问题,这也是为什么现代Web开发中不再推荐使用CSS Expression的原因。 **CSS Expression的工作原理** 在CSS Expression中,开发者可以在CSS属性值中...
在本例中,我们将探讨如何使用CSS expression以及JavaScript来实现隔行换色的效果。 首先,让我们来看看CSS expression的使用。在提供的代码中,`expression(this.sourceIndex%2==0?'#9FB7F6':'#B6C8F8')` 是一个...
2. **JSP页面结构**:包括JSP指令(page, include, taglib)、声明、脚本元素(scriptlet, expression, declaration)以及动作元素。 3. **JSP生命周期**:从加载、编译到执行的完整过程,包括初始化、服务和销毁三...
在JSP中,我们可以使用JSTL(JavaServer Pages Standard Tag Library)或EL(Expression Language)来引入CSS资源,例如通过`<link>`标签来链接外部CSS文件,或者直接在JSP页面中使用`<style>`标签内联定义样式。...
**JavaScript** 在这里作为前端脚本语言,虽然不在标题中直接提到,但在实际的Web应用中,通常与JSP、HTML和CSS一起使用。JavaScript负责客户端的交互逻辑,比如表单验证、动态更新页面内容等。随着AJAX...
HTML、JavaScript和CSS是Web开发中的三大核心技术,它们共同构建了网页的结构、交互和样式。这个压缩包包含了8本关于这些主题的CHM( Compiled Help Manual)电子书,对于初学者来说是一份宝贵的资源。 1. **HTML...
JSP的核心概念包括页面指令、脚本元素、动作标签和EL(Expression Language)。通过JSP,开发者可以轻松地创建基于Java的Web应用,同时利用Java的强大功能和跨平台优势。JSP的生命周期包括翻译、初始化、服务和销毁...
CSS Expression 是 Internet Explorer 浏览器特有的一种特性,它允许开发者在CSS中使用JavaScript表达式动态计算样式值。然而,Expression 的主要缺点是其性能问题,因为它会在页面渲染和用户交互时频繁执行,可能...
例如,你可以在JSP中嵌入CSS样式表,使用EL(Expression Language)或JSTL(JavaServer Pages Standard Tag Library)来动态生成表单元素,并结合YUI库提供交互性。 总的来说,理解并掌握YUI Tree控件的使用和CSS...
6. **组件库**:JSF提供了丰富的内置组件,如PrimeFaces或RichFaces等第三方库则提供了更多高级组件,如图表、日历等,这些可能在项目中被使用。 7. **部署和运行**:项目可能包含一个或多个部署描述符(如web.xml...
虽然`expression`并非标准CSS的一部分,但在Internet Explorer中是可用的,它允许在样式表中使用JavaScript表达式。具体分析如下: - **`v:expression`属性**:这是Internet Explorer特有的CSS属性,可以用来执行...
正则表达式(Regular Expression)是JavaScript中进行字符串匹配和验证的强大工具。例如,我们可以使用正则表达式来检查密码是否包含大写字母、小写字母、数字和特殊字符,以提高安全性。在注册过程中,可以实时验证...
避免使用CSS表达式(Expression)** - **背景与意义**:CSS表达式允许在CSS中嵌入JavaScript代码,以动态更新样式属性。然而,这种方式存在性能问题,因为它可能在页面的每一次重绘时都被计算,导致不必要的计算负担...
4. **JavaBean**:Java类,遵循一定的规范,通常用于封装数据和业务逻辑,方便在JSP中使用。 5. **EJB(Enterprise JavaBeans)**:企业级Java组件,用于构建分布式、事务处理和安全的Java应用。 6. **JDBC(Java ...
在IT行业中,JSP(JavaServer Pages)、JavaScript和CSS是构建动态网页和应用程序的重要技术。这份"JSP+Javascript+Css帮助文档"为开发者提供了一站式的资源,涵盖了这三个领域的核心概念、用法以及最佳实践。 JSP...