日期:2013-08-13  浏览次数:20972 次

  我们来看下面的代码,成功的实现了隐藏input 文字。但分为三种情况,我们在后面进行分析。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>隐藏 input 内文字的方法</title>
<style type="text/css">
/*<![CDATA[*/
input {
 margin:5px 0;
 width:200px;
 height:20px;
 display:block;
 overflow:hidden;
 background:#f9f9f9;
 border:1px solid orange;
 }
input.a {
 ie:expression(bb.value="提交");
 text-indent:-200em;
 }
input.b {
 padding-top:20px;
 }
input.c {
 font-size:100em
 }
/*]]>*/
</style>
</head>
<body>
<input type="button" value="提交" id="bb" class="a" />
<input type="button" value="提交" class="b" />
<input type="button" value="提交" class="c" />
</body>
</body>
</html>

  我们需求特别注册的是下面的代码:

input {
 margin:5px 0;
 width:200px;
 height:20px;
 display:block;
 overflow:hidden;
 background:#f9f9f9;
 border:1px solid orange;
}

我们看下面的分析:

第一种方法

input.a {
 ie:expression(bb.value="提交");
 text-indent:-200em;
}

  在opera上有问题

第二种方法

input.b {
 padding-top:20px;
}

  如果这个值太小了在opera上文字还是可见,所以设置大一些就没问题了,但FF中又会出现把高度撑大的景象;

第三种方法

input.c {
 font-size:100em
}

  这种方法应该说是兼容性最好的

  FF有点bt.在padding的时候,IE,OPEAR的高度与宽度都不变,就FF变。