您现在的位置是:网站首页> 编程资料编程资料
CSS中使用expression表达式CSS expression判断表达式设置input样式CSS expression在Chrome的问题优化浏览器渲染 避免CSS expressionsCSS中使用expression完美设置页面最小宽度(兼容ie)css expression使用概述及其优缺点介绍CSS行为expression轻松实现IE6无抖动固定定位CSS表达式(expression)解决IE6 position:fixed无效问题
2021-09-06
796人已围观
简介 这篇文章主要介绍了CSS中使用expression表达式,需要的朋友可以参考下
逛到发现这个效果,个人感觉非常赞
下面是CSS样式
input {
border:1px solid #B3D6EF;
background:#ffffff;
}
input {
star : expression(
onmouseover=function(){this.style.backgroundColor="#D5E9F6"},
onmouseout=function(){this.style.backgroundColor="#ffffff"})
}
好处在于 不用在页面中写一堆一堆的onMouseover函数了
lolo
有些问题需要注意下,这种写法有可能在IE6下造成浏览器卡死,目前做的一个旧出现了卡死现象...
这里引用下怪飞的一篇CSS优化的文章
浏览器中 CSS Expression 特性的最大的问题:会反复执行,每秒钟可能执行了成百上千次,有严重的性能问题。
如何对 CSS Expression 进行优化呢?
至少:如果我们将 CSS Expression 在匹配的元素中仅执行一次,性能将会提升很大。
old9 在 《CSS Expression Reloaded》一文中提供了一个解决方案:
在 CSS Expression 语句体里,将触发该 Expression 的 CSS 属性重置。
div {
zoom: expression(function(el){el.style.zoom = "1"; alert(el.tagName);}(this));
}
或者
div {
-singlex: expression(this.singlex ? 0 : (function(t) { alert(t.tagName); t.singlex = 0; } )(this));
}
说明一下~:
CSS Expression 执行在任意一个匹配的元素上。
在 CSS expression 内, “this”关键字指向当前匹配的 HTML 元素。
CSS 属性选用一些不常用的属性来触发,触发完重置回默认值。
关于Expression,雅虎团队提到这些
避免使用CSS表达式(Expression)
CSS表达式是动态设置CSS属性的强大(但危险)方法。Internet Explorer从第5个版本开始支持CSS表达式。下面的例子中,使用CSS表达式可以实现隔一个小时切换一次背景颜色:
background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );
如上所示,expression中使用了JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。expression方法在其它浏览器中不起作用,因此在跨浏览器的设计中单独针对Internet Explorer设置时会比较有用。
表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。
一个减少CSS表达式计算次数的方法就是使用一次性的表达式,它在第一次运行时将结果赋给指定的样式属性,并用这个属性来代替CSS表达式。如果样式属性必须在页面周期内动态地改变,使用事件句柄来代替CSS表达式是一个可行办法。如果必须使用CSS表达式,一定要记住它们要计算成千上万次并且可能会对你页面的性能产生影响。
相关内容
- CSS3 实现侧边栏展开收起动画CSS3超酷环形动画菜单其子菜单可环绕展开CSS3华丽的Tab菜单当鼠标滑过时会出现展开动画纯CSS3实现的横向和纵向鼠标滑过手风琴自动展开效果基于jquery+css3实现左右摇摆可滑动展开折叠圆形导航菜单CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
- 三个很特别的CSS小技巧分享CSS网页布局25个实用小技巧25条div+css编程提醒及小技巧整理 CSS小技巧:为不同类型的文件设置不同的链接样式书写CSS的5个小技巧让你的样式更规范适合新手的CSS网页布局小技巧整理CSS中关于居中的小技巧个人小结29个常用的CSS小技巧汇总
- css3选择器基本介绍CSS3 选择器 基本选择器介绍CSS3 选择器 属性选择器介绍对CSS3选择器的研究(详解)
- css3的transition属性详解css动画属性使用及实例代码(transition/transform/animation) 使用css transition属性实现一个带动画显隐的微信小程序部件CSS3使用transition属性实现过渡效果CSS3中的元素过渡属性transition示例详解css3中transition属性详解css简单动画之transition属性详解
- 仿新浪微博箭头的css写法详解CSS3 用border写 空心三角箭头 (两种写法)CSS怎么去掉select的下拉箭头样式 纯CSS绘制三角形箭头图案技术解析CSS制作箭头图标代码(圆,三角形,椭圆) CSS三角箭头应用实践纯CSS绘制三角形箭头效果纯CSS实现箭头、气泡让提示功能具有三角形图标Css绘制箭头实现代码CSS模拟小箭头的实现代码使用css实现任意大小、任意方向和任意角度的箭头示例
- 绝对定位元素被遮挡的解决方法CSS绝对定位元素left设为50%实现水平居中绝对定位的元素在ie6下不显示隐藏了的有效解决方法IE7中绝对定位元素之间的遮盖问题示例探讨将一个绝对定位的div水平垂直居中对齐css教程之绝对定位使用详解有关绝对定位的全面理解
- 浅谈CSS Sprites切图技术css sprites把很多小图集成在一张图片上CSS Sprites 样式生成工具 3.0CSS Sprites简介以及优缺点使用CSS sprite 的好处和坏处分析什么是CSS Sprites(图片合并)技术 图文介绍CSS Sprites详解css sprites技术 CSS Sprites图片切割术与图片优化深入理解CSS Sprite从大图中截取小图完整教程
- CSS3 @font-face属性使用指南深入理解CSS @font-face性能优化CSS3用@font-face实现自定义英文字体什么是@font-face及font-face如何在css中使用CSS @font-face属性实现在网页中嵌入任意字体css常用样式font设置字体的多种变换(实例详解)css中引入指定字体@font-face兼容各浏览器的问题
- CSS3简单实现照片墙纯css实现照片墙3D效果的示例代码CSS3制作漂亮的照片墙的实现代码CSS3制作精致的照片墙特效CSS3实现漂亮的照片墙效果的简单实例(推荐)CSS3实现鼠标悬停照片墙放大特效源码纯css3实现照片墙效果CSS3实现的悬挂照片墙效果源码jquery+css3实现非常大气的瀑布流照片墙特效利用css制作3D照片墙效果
- padding ie 不兼容问题浅谈原生页面兼容IE9问题的解决方案新版chrome浏览器设置允许跨域的实现css hack之\9和\0就可能对hack IE11\IE9\IE8无效css区分ie8/ie9/ie10/ie11 chrome firefox的代码解决CSS浏览器兼容性问题的4种方案常见的浏览器兼容性问题(小结)border-radius IE8兼容处理的方法浅谈遇到的几个浏览器兼容性问题base64图片在各种浏览器的兼容性处理 对常见的css属性进行浏览器兼容性总结(推荐)