通常偏移掉字体的方式是:
(1)使用{text-indent:-9999px};
可是他有一个局限性 他只适用于块级元素block而我们往往有时候想偏移掉的a上的字体所以问题就来了text-indent:-9999px;虽然用起来比较惬意将a转化 成block的话 往往 他身后的的元素就被他赶到下一行了如果正好这个a后面 是一个a按钮就要用float来浮动以使他身后再出现簇拥者这样是不是有些麻烦呢
(2){line-height:0;font-size:0;overflow:hidden;}
能完美“隐藏”掉你background之上的字体经测试 ie6.0 、 7.0 、8.0、firefox 通过
(3)最方便的是加个span,然后display:none,而且这样不会出bug。
遗憾的是,多了个标签,循环中使用的话,html又多了一堆字节,单个按钮推荐这样使用。
而针对input value的隐藏这个方式就有些吃力了所以还是只能用block加text-indent来“偏移”模拟隐藏了
{display:block;font-size:0;line-height:0;text-indent:-9999px;}
经测试兼容性问题良好,暂未有不兼容问题发生。