CSS隐藏文字的6种方法

(编辑:jimmy 日期: 2025/4/22 浏览:2)

作为一个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之上的字体
经测试 ie6.0 、 7.0 、8.0、firefox 3.010 通过

三、最方便的是加个span,然后display:none,而且这样不会出bug。
遗憾的是,多了个标签,循环中使用的话,html又多了一堆字节,单个按钮推荐这样使用。

而针对input value的隐藏这个方式就有些吃力了
所以还是只能用block加text-indent来“偏移”模拟隐藏了
display:block;
font-size:0;
line-height:0;
text-indent:-9999px;
经测试 ie6.0 、 7.0 、firefox 3.010 通过

四、display:none:它可以使包括容器本身在内的东西都消失,简便且有效,但它有两个耳熟能详的缺陷,那就是对搜索引擎不友好,且被屏幕阅读器所忽略。

五、overflow:hidden:
这是一个比较合理且我最喜欢的方法(站长注),具体代码如下:
以下为引用的内容:

复制代码代码如下:
.texthidden{
display:block;/*统一转化为块级元素*/
overflow:hidden;
width:0;
height:0;
}
六、positon:absolute:
用绝对定位将其推出可视区,不过虽然可视性不存在,但仍占据物理空间,与隐藏文字的宗旨相背
以下为引用的内容:


复制代码代码如下:
.texthidden{
positon:absolute;
margin-top:-9999px;
margin-left:-9999px;
}

注:后面的3种方法虽然也可以实现隐藏文字效果,但不推荐。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?