图片替换文字

提要:为什么要使用图片替换文字

文字的表现力差,但是便于网页获取信息,这里说的图片替换文字,是指文字还是存在于dom树中,但是显示的时候用图片来显示。

会遇到得问题: css on/images off

我的理解:当图片没有加载到,页面会什么都不显示

替换方法:

1.原始的方法:使用span元素,设置display为none

代码:

<h3 id="header1">

<span>image replacement</span>

</h3>

/*css*/

#header1{

width: 100%;

height: 100%;

background: url(2.png) no-repeat;

}

#header1 span{

display: none;

}

注意:该方法必须要设置宽高,因为当设置了span元素为none时,h3就不包含元素了,因此不能设置背景。

并且该方法没有解决image off/css on的问题。

存在的问题:

如果文字是一个链接文字,文字被替换后,链接也会消失。

解决方法:在<a>标签中包含一个额外的span元素,设置他为none,并强制把a标签的display设为block,并定义a的宽高。

2.额外增加一个img元素

代码:

<h3 id="header2">

<img src="2.png"/>

<span>image replacement</span>

</h3>

/*css*/

#header2 span{

display: none;

}

注意:该方法在页面中增加了多余的没有语义的元素

3.使用边缘定位(margin position)隐藏文本

代码:

<h3 id="header3">

image replacement

</h3>

/*css*/

#header3{

background: url(2.png) no-repeat top right;

width: 2100px;

margin: 0 0 0 -2000px;

}

注意:必须设置宽度,且宽度要大于负边距的绝对值。这样内容才不会被完全隐藏掉。

该方法没有解决image off/css on的问题

4.使用padding结合overflow:hidden

代码:

<h3 id="header4">

image replacement

</h3>

/*css*/

#header4{

overflow: hidden;

padding: 60px 0 0 0;

height: 0px !important;

height: 60px;/*兼容IE5*/

background: url(2.png) no-repeat;

}

注意:该方法没有解决image off/css on的问题

5.使用text-indent来隐藏文本

代码:

<h3 id="header5">

image replacement

</h3>

/*css*/

#header5{

/*overflow: hidden;*/

/*text-indent: -5000px;*/

text-indent: -100em;

background: url(2.png) no-repeat;

}

注意:可以设置text-indent为负的em也可以为负的px;

该方法没有解决image off/css on的问题

6.原始方法的变形:设置span元素的宽高为0

代码:

<h3 id="header6">

<span>image replacement</span>

</h3>

/*css*/

#header6{

background: url(2.png) no-repeat;

}

#header6 span{

display: block;

width: 0;

height: 0;

overflow: hidden;

}

注意:该方法必须要设置span的overflow为hidden;

该方法没有解决image off/css on的问题

7.使用content替换内容

代码:

<h3 id="header7">

image replacement

</h3>

#header7{

width: auto;

height: auto;

content: url(2.png);

}

注意:该方法替换后文字后,不能对图片进行重复或平铺,或是使用image sprite

8.将文字大小设为1px;且文字颜色设为和背景一样。

代码演示:http://benlai.sinaapp.com/code/image_replace_text.html

原文网址:http://www.mezzoblue.com/tests/revised-image-replacement/

时间: 2024-10-12 15:56:44

图片替换文字的相关文章

CSS 图片替换文字方案

一.Fahrner Image Replacement(FIR) <h2> <span>Hello World</span> </h2> h2 { background:url(hello_world.gif) no-repeat; width: 150px; height: 35px; } span { display: none; } 问题:当图片无法显示时,将导致这个区域没有任何内容.同时,使用 display:none 的方式隐藏的内容,将被许多主流

图片替换技术、雪碧图技术、图片透明技术、常用的电商布局方式

###雪碧图技术### !DOCTYPE html>     <html lang="en">     <head>     <meta charset="UTF-8">     <title>sprite雪碧图技术</title>         <style type="text/css">             div{                 widt

[canvas,js,fileAPI]图片转文字

语言:javascript API及元素:canvas,file API 读取图片像素值,变化为灰度,根据画面设定,替换为文字显示 --- 效果图[福字]: 猜猜下面是什么: [金鸡] 原图: 继续猜猜: 源码非常简单: 1 <html> 2 <head> 3 <title>pic2Str</title> 4 <script src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.js"

几种垂直居中的方式及CSS图片替换技术

由于块级元素的高度是可以设置的,所以对于块级元素的垂直居中比较简单. 方法一: 在不定高的情况下,把元素的上下内边距设为同一个值即可实现,即padding :10px   0; 以上方法针对块级元素和行内元素都可以. 方法二: line-height:(只针对行内元素可行) 将行高设置成和父元素的高度相等,就可以实现行内元素的垂直居中了. 由于行内元素的对其方式是基线对齐,所以当图片和文字位于一列时,呈现出来的效果往往不是我们想要看到的样子, 我们要想将里面的元素都实现垂直居中,就应该分别对每个

UIButton上同时显示图片和文字的方法

参考:http://blog.csdn.net/qijianli/article/details/8152726 不过有个问题,就是我使用时不能改变文字的颜色,后来修改了一下方法,如下: 定义一个UIButton+Manager文件,在.h #import <UIKit/UIKit.h> @interface UIButton (UIButtonImageWithLable) - (void) setImage:(UIImage *)image withTitle:(NSString *)ti

如何让UIBarButtonItem同时显示图片和文字

我们无法在storyboard里,为UIBarButtonItem设置图片+文字,但在代码里,我们可以实现. 自定义一个控件,用于初始化UIBarButtonItem 这里我们只需简单创建一个带图片+文字的UIButton即可,以下示例代码都写在viewDidLoad方法内:     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];     button.backgroundColor = [UIColor gray

.net 下word 中的图片与文字分离

最近在做一个项目要求word 中的图片与文字分离 ,找了好久终于找到一个完美的方法 c#实现word中的图文分离 part 1: class define Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->publicclass WordSeparator:IDisposable { #region Constructor public WordS

ASP.NET(C#)图片加文字、图片水印,神啊,看看吧

ASP.NET(C#)图片加文字.图片水印 一.图片上加文字: //using System.Drawing; //using System.IO; //using System.Drawing.Imaging; private void AddTextToImg(string fileName,string text) { if(!File.Exists(MapPath(fileName))) { throw new FileNotFoundException("The file don't

CSS——图片替换方法比较

图片替换主要是指将文字替换成图片的技术,即在html语句中使用文字,浏览器显示时用对应的图片显示.其意义在于便于做网站优化(SEO),文字才是搜索引擎寻找的主要对象. 经典的替换方法: Fahrner图片替换法(FIR) 源码: Html: <h1 id="fir"><span>Fahrner Image Replacement</span></h1> CSS: #fir { width: 287px; height: 29px; bac