input 有一堆 type 属性,不同的 type 对应不同的表单元素。CSS 定义的时候,对于支持 CSS2 选择符的浏览器,可以使用复制内容到剪贴板
代码:
input[type="checkbox"]input[type="text"]
等等来对 input 分别做不同定义,但是对于 IE6,这法子行不通。一般的解决方案是给不同的 input 加不同的 class,可以手动加,也可以用 js 遍历自动加,刚由一个问题想到可以用 expression 加。
关键代码:复制内容到剪贴板
代码:
input{zoom: expression(function(ele){(ele.className)?ele.className+=" "+ele.type:ele.className=ele.type; ele.style.zoom = "1";}(this));
}
两点:将 input 的属性取出来,赋给 className。
对于 expression,这里使用一个无关紧要的属性(此处是zoom)来触发,处理完需要做的事情之后,再将此属性覆盖掉以解决 expression 不断执行的效率问题。
Code
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""/TR/xhtml1/DTD/xhtml1-strict.dtd">
<htmlxmlns="/1999/xhtml"lang="zh-CN"xml:lang="zh-CN">
<head>
<metahttp-equiv="Content-type"content="text/html;charset=UTF-8"/>
<title>title</title>
<metaname="keywords"content=""/>
<!--[ifltIE7]>
<styletype="text/css"media="screen">
input{
zoom:expression(function(ele){(ele.className)?ele.className+=""+ele.type:ele.className=ele.type;ele.style.zoom="1";}(this));
}
input.text{
border:1pxsolid;border-color:#CCC#EEE#EEE#CCC;
background:#F5F5F5;
}
input.password{
border:1pxsolid;border-color:#CCC#EEE#EEE#CCC;
color:#000;background:#F5F5F5;
width:50px;
}
input.button{
border:1pxsolid;border-color:#EEE#CCC#CCC#EEE;
color:#000;font-weight:bold;background:#F5F5F5;
}
input.reset{
border:1pxsolid;border-color:#EEE#CCC#CCC#EEE;
color:#666;background:#F5F5F5;
}
</style>
<![endif]-->
<styletype="text/css"media="all">
input[type="text"]{
border:1pxsolid;border-color:#CCC#EEE#EEE#CCC;
background:#F5F5F5;
}
input[type="password"]{
border:1pxsolid;border-color:#CCC#EEE#EEE#CCC;
color:#000;background:#F5F5F5;
width:50px;
}
input[type="button"]{
border:1pxsolid;border-color:#EEE#CCC#CCC#EEE;
color:#000;font-weight:bold;background:#F5F5F5;
}
input[type="reset"]{
border:1pxsolid;border-color:#EEE#CCC#CCC#EEE;
color:#666;background:#F5F5F5;
}
</style>
</head>
<body>
<inputtype="text"name="xx"/>
<inputtype="password"name="yy"/>
<inputtype="checkbox"name="oo"/>
<inputtype="radio"name="pp"/>
<inputtype="button"name="qq"value="button"/>
<inputtype="reset"name="oo"value="reset"/>
</body>
</html>