当前位置: 首页 > 前端笔记 > CSS > CSS隐藏文字的几个方法
2014年30五月

CSS隐藏文字的几个方法

作为一个web前端开发,为了html语义化常常要给内容模块加上一些标题,来让页面更有意义。当然还有我们的图片按钮,在抛开css裸奔的情况下也能很顺利的汲取到页面信息,通常为了传达更好的视觉效果,我们常用图片替代掉字体,而早前的前端开发常直接不在html中给出内容,甚至为空。这样在没有加载到css时就无法知道这个区块究竟是什么内容了。

通常偏移掉字体的方式是:

使用text-indent:-9999px;
可是他有一个局限性 他只适用于块级元素block,而我们往往有时候想偏移掉的a上的字体,所以问题就来了。 text-indent:-9999px;虽然用起来比较惬意,将a转化成block的话 往往 他身后的的元素就被他赶到下一行了,如果正好这个a后面 是一个a按钮,就要用float来浮动以使他身后再出现簇拥者。这样是不是有些麻烦呢?

使用line-height:0;font-size:0;overflow:hidden;
能完美“隐藏”掉你background之上的字体,经测试大部分浏览器测试通过。

最方便的是加个span,然后display:none,而且这样不会出bug。遗憾的是,多了个标签,循环中使用的话,html又多了一堆字节,单个按钮推荐这样使用。
而针对input value的隐藏这个方式就有些吃力了。所以还是只能用block加text-indent来“偏移”模拟隐藏了。
display:block;font-size:0;line-height:0;text-indent:-9999px;

文章信息

  • 发布日期:2014年05月30日 09:45:33
  • 固定地址:http://www.estorm.cn/notes/css/2014-05-30/css-hidden-text.html