css表达式的缺点,CSS expression判断表达式设置input样式

本文介绍了一种利用CSS expression表达式来为不同类型的input元素设置样式的技巧。该方法适用于IE浏览器,但Firefox不支持。文章提供了两种实现方案,并详细解释了每一步的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用CSS的expression判断表达式设置input样式,简单,轻量级。缺点在于expression判断表达式FireFox是不支持的。致命的是只能区分出一个(例如例子中就只能区分出text文本框),不要试图设置多个…

代码:

复制代码代码如下:

www.52CSS.com

input

{

background-color:expression(this.type=="text"?'#FFC':'');

}

This is normal textbox:
This is normal button:

另一种方法:

复制代码代码如下:

input{

zoom: expression(function(ele){(ele.className)?ele.className+=" "+ele.type:ele.className=ele.type; ele.style.zoom = "1";}(this));

}

1、将 input 的属性取出来,赋给 className。

2、对于 expression,这里使用一个无关紧要的属性(此处是zoom)来触发,处理完需要做的事情之后,再将此属性覆盖掉以解决 expression 不断执行的效率问题。

代码:

复制代码代码如下:

input[type="text"]{

border: 1px solid; border-color: #CCC #EEE #EEE #CCC;

background: #F5F5F5;

}

input[type="password"]{

border: 1px solid; border-color: #CCC #EEE #EEE #CCC;

color: #000; background: #F5F5F5;

width: 50px;

}

input[type="button"]{

border: 1px solid; border-color: #EEE #CCC #CCC #EEE;

color: #000; font-weight: bold; background: #F5F5F5;

}

input[type="reset"]{

border: 1px solid; border-color: #EEE #CCC #CCC #EEE;

color: #666; background: #F5F5F5;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值