摘要:a标签中写有文字并有图片如何隐藏文字只显示图片经常遇到<a>标签有一个样式,是显示一张图片,但标签中写有文字,又想让文字隐藏,很多种情况下,会想到 text-indent:-9999em; 但今天就发
经常遇到<a>标签有一个样式,是显示一张图片,但标签中写有文字,又想让文字隐藏,很多种情况下,会想到
text-indent:-9999em;但今天就发现ie7中以及360默认ie模式下,图片就不显示了,就到网上查了查,下面就总结一下:
凡ie7模式下的css写法如下:
text-indent: -9999em;
overflow: hidden;
float: left; //当然也可以float: right;上述css已经可以解决这个问题。
360中有个ie模式和极速模式,想要网页一打开默认极速模式,只需要在<head>中加入下边一句话就可以了:
<meta name="renderer" content="webkit"> 极速模式
<meta name="renderer" content="ie-comp"> 兼容模式
<meta name="renderer" content="ie-stand"> IE模式
十种图片替换文本CSS方法
很多网站的logo都使用图片替换文本来实现,而且在一些情况下也有使用图片效果来替换难以实现的文本效果。这些制作我想大家在平时制作中都或多或少的碰到过,那么今天我老话重谈,整理了十种图片替换文本的制作方法。希望对大家有所帮助。
制作原理:
使用图片替换文本,其原理是相当的简单:就是在样式中使用背景图片来替换掉HTML模板中的文本内容,从而达到一种样式无法实现的页面渲染效果。使用图片替换有其优点也有其缺点,优点就是能实现一些特殊的页面效果,缺点就是需要加载图片,而且一些不好的替换方法给残障人员浏览网页会造成一定的不良之处,另外据说会对搜索引擎的搜索有影响,对于这一点没有考究过。那么我们也不去控寻这方面的问题,我们一起来看今天所要说的图片替换文本的制作方法。
方法一:
HTML Markup
CSS Code:
这种方法被称为“FIR”方法, Joe Clark在《Facts and Opinion About Fahrner Image Replacement》一文中有做深入的介绍。使用这种方法需要注意两点:
结构性需要增加一个标签包裹文本;如上面的HTML Markup所示;
需要把背景图设置在外标签上,并且将文本外标签隐藏。
这种方法有一个不好的地方就是不利于阅读器浏览网页。
方法二:
HTML Markup
CSS Code
这种方法是Radu Darvas创建的,使用负margin配合宽度来制作。如果运用在简单之处,此方法可行,但对于复杂的布局中,大家还需慎用。因为其有可能会影响你的页面布局。
方法三:
HTML Markup
CSS Code
这种方法是由Mike Rundle创建,并且简称为Phark方法,也是目前使用图片替换文本常和的方法。这种方法简单易懂而且支持阅读器之类浏览网页。其关键之处使用“text-indent属性,并且给其设置一个较大的负值,达到隐藏文本的效果,”如果你想了解的更深可以参考一下Malarkey Image Replacement (MIR)。
方法四:
HTML Markup
CSS Code
这种方法,我不知道来自源于何处,也不知道其有什么优势之处,可以说他和方法三没有多大的区别,只是上面的替换的是文本,下面是替换的图片而以。这样使用我至今没有整明白是为什么?不知道是不是和SEO方面有关系。无从考究,先放上来给大家参考一下。
方法五:
HTML Markup
CSS Code
这种方法有一个特别之处我们此处使用一个透明的gif图片,通过在img标签中的“alt”属性来弥补display:none。这样阅读器之类的就能阅读到所替换的文本是什么。
方法六:
HTML Markup
CSS Code
这种方法是由Seamus Leahy和Stuart Langridge发明。使用零高度来隐藏文本,但为了显示背景图片,需要设置一个与替换图片一样的大小的padding值。
方法七:
HTML Markup
CSS Code
Leon Dwyer想出的这种方法,通过把span的大小都设置为“0”,来达到隐藏文本效果,这样阅读器就能完全阅读到,而且又达到了图片替换文本的效果。真是好方法。
方法八:
HTML Markup
CSS Code
Levin Alexander。这种方法在利用一个空白的span标签来放置背景图片,并对其进行绝对定位,使用覆盖文本,达到隐藏替换文本的效果。
方法九:
HTML Markup
CSS Code
Levin Alexander写的这种方法很独特,设置字体为微小值,但这里需要注意一点不能忘了设置字体色和替换图片色一样,不然会有一个小点显示出来。
方法十:
HTML Markup
CSS Code
Jonathan Snook使用css的clip属性来实现图片替换文本的效果,详细可以参考Hiding Content for Accessibility。
方法十一
以前是通过text-indent的负值来隐藏文本,但其实还有一种类似的方法:
方法十二
今天在整理SASS的Mixin时,打算写一个图片替代文本的效果,让我意外发现一种新的图片替代文本方法,特意动手一试,还真心不错:
上面的结构,大家都清楚,就是一个logo的居住地,接下来,我们来看实现代码
其中把起这个功能作用的代码抽出来,并定义为`ir`
最终效果,可以猛击:DEMO
转载 W3CPLUS