在IE中,CSS是可以嵌入js表达式的,可以在CSS类中定义,但是将含有表达CSS类从DOM对象中移除,样式表达式是不会失效的。
经过研究找到了答案,需要使用js调用style对象的removeExpression()方法才可去除。
下面是方法的说明:
语法
bSuccess = object.removeExpression(sPropertyName)
参数
sPropertyName |
Required. String that specifies the name of the property from which to remove an expression. |
返回值
Returns one of the following possible values:
true |
The expression was successfully removed. |
false |
The expression was not removed. |
下面给出一个实用例子:利用样式限制图片最大宽度,通过一个按钮切换实际大小与缩放大小。
CSS类,作用:限制图片的最大宽度,超出指定宽度等比缩小。
.wrap {
border:none;
max-width:730px;
height:auto;
width:expression(this.width>730?"730px":true);/*ie6补丁*/
}
图片<img>
<img id="chart_img" class="chart" src="bond_big.jpg"/>
切换按钮
<span id="imgctr" style="cursor: pointer;display: block" onclick="showOrigin()">[原始大小]</span>
js代码(需要jQuery)
function showOrigin(){
$('#chart_img').toggleClass("chart");
if($('#chart_img').attr("class")){
$('#imgctr').text("[原始大小]");
}else{
$('#imgctr').text("[缩放大小]");
$('#chart_img')[0].style.removeExpression('width'); /*ie6补丁*/
}
}
这个事例只有在IE6中才能体现removeExpression()的作用,ie7以上是不需要的。
分享到:
相关推荐
CSS中的`expression`是一个特性,它允许在CSS样式规则中嵌入JavaScript表达式,使得CSS属性的值能够动态地根据JavaScript表达式的计算结果进行更新。这个特性在Internet Explorer 5及更高版本中被支持,但并非W3C的...
CSS自定义属性Expression是一种在CSS中添加自定义行为的方式,它允许开发者定义自己的CSS属性,并在这些属性中嵌入JavaScript代码来实现动态效果。这种方式在早期的CSS版本中较为常见,尤其是在Internet Explorer...
在CSS中,避免使用JavaScript表达式来设置样式是一种好习惯。虽然IE浏览器支持使用`expression`来动态更新样式,但这会导致性能问题。因为每当浏览器重绘页面时,都会重新计算表达式的值,这会显著降低页面性能。...
2. 用于去除CSS的正则表达式: ```php "'[^>]*?>.*?</style>'si" ``` 该表达式与去除JavaScript的表达式类似,只不过目标是匹配`<style>`标签及其内容。 3. 用于去除HTML标签的正则表达式: ```php "'<[/!]*?[^]*?>...
使用CSS表达式 另一种方法是在CSS中使用表达式,但这种方法不推荐,因为它的性能开销较大,且在某些情况下可能导致页面渲染问题。 ```css a {blr: expression(this.onFocus=this.blur())} ``` ### 结论 虽然有...
在网页设计中,CSS(Cascading Style Sheets)是一种用于控制网页元素样式和布局的语言。在上述提供的“CSS隐藏代码大全”中,我们看到一系列的CSS规则,它们主要用于隐藏网页中特定部分,以达到定制化界面或者优化...
例如,用`expression`去除链接边框的方法在Firefox中应使用`:focus`伪类配合`outline: none;`来实现。 4. **滚动条样式兼容性**: - Firefox并不支持直接通过CSS设置滚动条颜色,这与IE的`scrollbar-color`系列...
可以使用JavaScript或CSS表达式来模拟此功能: ```css min-width: 300px; /* 或针对IE6 */ *html .element { width: expression(this.offsetWidth ); } ``` **8. 隐藏水平滚动条** 如果希望页面在所有情况下都...
} // 注意这里的语法可能不是标准的CSS,而是针对IE的特定表达式 ``` 2. **Firefox等其他浏览器**: ```css a:focus { outline: none; } ``` #### 三、实现背景透明 为了实现背景透明效果,可以通过以下几种...
根据给定文件信息,主要有两种方法可以去除链接时的虚线框,一种是使用CSS属性“outline”并将其值设置为“none”,另一种是使用一个特定于旧版IE浏览器的表达式。 1. 使用outline属性 outline是CSS的一个属性,它...
`expression`是一种JavaScript表达式,可以动态计算CSS属性的值。针对IE6,我们可以这样编写CSS: ```css .fit_image { border: 0; max-width: 700px; /* 这里设置一个较大的值,以防止IE6在图片加载前应用错误的...
Python中的正则表达式是处理文本的强大工具,尤其在处理HTML文档时,它可以用来去除HTML标签,从而提取纯文本内容。在上述示例中,我们看到一个名为`filter_tags`的函数,它专门用于从HTML字符串中过滤掉标签并保留...
在这个方法中,我们使用 Meta 标签和 CSS 表达式来去除图像或链接黑眼圈。 首先,我们需要在 HTML 头部添加以下 Meta 标签: ``` ; charset=gb2312"> ``` 然后,我们使用以下 CSS 代码来去除焦点: ``` a {...
4. **CSS表达式清理**:去除CSS中的`expression()`,确保其不再执行JavaScript。 然而,仅靠这些简单的过滤规则并不能完全防止XSS攻击。更复杂的情况,如HTML编码、URL编码和CSS特殊字符编码,都可能使过滤变得困难...
在某些设计风格中,这个虚框可能会影响页面的整体视觉效果,因此开发者常常需要找到方法来去掉这个虚框。 针对这个问题,有几种常见的 CSS 解决方案: 1. **设置 `outline` 属性为 `none`**: 这是最常见且跨...
此外,代码中还包含了`blr:expression(this.onFocus=this.blur())`,这是一段针对旧版IE浏览器的JavaScript表达式,它的作用是在元素获取焦点时立即失去焦点,以此避免在IE中显示虚线边框。然而,由于现代浏览器已经...
这里使用了`blr`属性,该属性并不存在于标准CSS中,而是一种特殊的写法,用于触发IE中的JavaScript表达式。`this.onFocus = this.blur();` 这段代码的作用是在获得焦点时立即移除焦点,从而达到消除虚线框的效果。 ...
正则表达式也常用于网站后台的数据清洗,如去除无用的空格或特殊字符,确保数据库中的数据质量。 其次,网站设计涉及到多个层面,包括用户体验(UX)、界面设计(UI)、响应式布局以及交互设计。用户体验关注如何使...
首先,我们要理解什么是正则表达式(Regular Expression)。正则表达式是一种模式匹配工具,可以用来检查一个字符串是否符合某种预定义的模式。在PHP中,我们可以使用`preg_match()`、`preg_match_all()`、`preg_...