css的几种以图换字方式小结


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

复制代码
代码如下:

<h1 class="logo"><a href="#">logo</a></h1>
.logo>a{display:block;text-indent:-999px;}

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

复制代码
代码如下:

<h1 class="logo"><a href="#"><span>logo</span></a></h1>
.logo>a>span{display:none;}

此方法(不推荐)其实倒也不复杂,只是需要多添加一个标签,比较浪费;且display:none出现的几率太多,对seo也是会有些许影响的。
方法3:使用padding将文字挤出容器之外,并将超出的部分hidden
例如:

复制代码
代码如下:

<h1 class="logo"><a 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"><a 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"><a 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"><a href="#">logo</a></h1>
.logo>a{color:transparent;}
/*或者*/
.logo>a{color:rgba(0,0,0,0);}

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



« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3