css的几种以图换字方式

以图换字,其实是为了保证页面的可读性,这样既有利于搜索引擎,又有利于结构查看。由于这种方式被大多数人所认同,所以方法也越来越多:

方法1:使用text-indent的负值,将内容移出容器

 例如:

 <h1 class="logo"><href="#">logo</a></h1>

 

 .logo>a{display:block;text-indent:-999px;}

 

此方法(非常不推荐)看起来蛮简单,但其实有几个不理想的地方,1是比较吃资源;2是在ie5下面会出现滞后背景无法显示;3是内容为超链接时,长长的黑色虚框,让你抓狂。

 

方法2:使用display:none,将内容隐藏

例如:

 <h1 class="logo"><href="#"><span>logo</span></a></h1>

 

 .logo>a>span{display:none;}

 

此方法(不推荐)其实倒也不复杂,只是需要多添加一个标签,比较浪费;且display:none出现的几率太多,对seo也是会有些许影响的。

 

方法3:使用padding将文字挤出容器之外,并将超出的部分hidden

例如: 

<h1 class="logo"><href="#"><span>logo</span></a></h1>

 

.logo>a{display:block;width:200px;height:35px; overflow:hidden;}

.logo>a>span{padding-left:200px;}

 

 方法4:使用font设置超小字体,达到隐藏内容的目的

 例如:

 <h1 class="logo"><href="#">logo</a></h1>

 

.logo>a{font-size:0;}

/*部分浏览器设置为0不起作用,最好设置成下面的*/

.logo>a{font-size:0.01px;}

 

此方法(推荐)只需要将字体和行高设置为0,然后overflow:hidden就行;不过这样在Safari和Chrome下还是会有1px高的字出现,所以应该再设置一下字体的颜色和背景图相同或相近。以此就同样可以达到隐藏内容的目的,暂时还没发现有什么副作用。

 

方法5:设置较大行高line-height,将内容移出容器

例如: 

 <h1 class="logo"><href="#">logo</a></h1>

 

.logo>a{display:block;width:100px; height:25px; line-height:300px;}

 

此方法(推荐)兼容性比方法要好,支持一些特殊标记的文字隐藏如button等。

 

方法6:设置文字颜色为transparent或者rgba(0,0,0,0)

 例如:

 <h1 class="logo"><href="#">logo</a></h1>

 

 .logo>a{color:transparent;}

/*或者*/

.logo>a{color:rgba(0,0,0,0);}

 

此方法(推荐)但不支持ie8以下的浏览器,体验最好,并且用户还可以选择到文本。

 

 -

posted @ 2010-11-10 22:51  tangoboy  阅读(493)  评论(5编辑  收藏  举报