请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 4066|回复: 3

[讨论] 给不同 type 的 input 自动设置样式 [复制链接]

old9 楼主
帖子
653
体力
1762
威望
88
居住地
安徽省 合肥市
发表于 2008-10-24 12:08:21 |显示全部楼层
input 有一堆 type 属性,不同的 type 对应不同的表单元素。CSS 定义的时候,对于支持 CSS2 选择符的浏览器,可以使用
  1. input[type="checkbox"]
  2. input[type="text"]
复制代码

等等来对 input 分别做不同定义,但是对于 IE6,这法子行不通。
一般的解决方案是给不同的 input 加不同的 class,可以手动加,也可以用 js 遍历自动加,刚由一个问题想到可以用 expression 加。
关键代码:
  1. input{
  2.         zoom: expression(function(ele){(ele.className)?ele.className+=" "+ele.type:ele.className=ele.type; ele.style.zoom = "1";}(this));
  3. }
复制代码

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


例子:

 提示:您可以先修改部分代码再运行

http://old9.blogsome.com 已被 GFW 封锁
西部数码顶级域名注册商39元抢注!
帖子
181
体力
649
威望
2
发表于 2008-10-24 12:12:13 |显示全部楼层
写的很好  支持一下
不在多在专
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

中国网路青年

高级会员

帖子
475
体力
908
威望
0
居住地
广东省 珠海市
发表于 2008-10-24 12:22:58 |显示全部楼层
顶一个.

使用道具 举报

帖子
7047
体力
3688
威望
2
发表于 2008-10-24 14:01:23 |显示全部楼层
感谢楼主分享
作为人,何谓正确。 http://goo.gl/eexPv

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-9 14:04 , Processed in 0.051205 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部