以图换字的几个方法及思路_经验交流

今天有个朋友做网页的时候遇到个问题:想保留链接的背景,但又要链接里的文字消失!可是弄了半天一直没办法把这个文字去掉。我想很多学标准的朋友都遇到过这个问题,这里我把常用的几个方法写出来,把思路也讲一下,希望能帮助刚开始学习的朋友。

“以图换字”就是用图片替换文字表现。我们都知道,文字在浏览器里的表现形式是很差的,会有锯齿,没办法圆润还有没办法做很多效果。一般情况下网页的内容部分是不需要做效果的,但是在WEB标准中对于LOGO、标题,常常需要用到这些。用表格来做的话我们只是在某个地方帖上一张图,这样的方式比较简单,但是不利于搜索。所以我们需要采用标准方式来做,保证网页处于一种良好的状态而有利于搜索。通常以图

显示消失:(display:none;) 这不只是让容器内的内容消失而是包括容器本身都消失。所以我们必需在容器内再做一个容器来保证内消失部分之后,容器内的背景可以正常显示。例:

复制代码 代码如下:

<div id="logo">标题内容</div>#logo {display:none; background:URL; width:300px; height:100px;} 

如果是这样写那么你根本什么也看不到。那正确的方式是什么写呢?看示例:

复制代码 代码如下:

<div id="logo"><span>标题内容</span></div>#logo {background:URL; width:300px; height:100px;}#logo span {display:none;} 
大家注意上面的代码,背景是在#logo下定义,而#logo span下除了display:none;没有任何样式。因为被定义了display:none;属性的容器会一无所见,如果定义其它样式也是浪费。光是这样还是有问题,这是个没有链接的例子,那有链接的时候怎么办呢?我们再来看个例子: 

复制代码 代码如下:

<div id="logo"><a href="URL" title="标题">标题内容</a></div>#logo {background:URL; width:300px; height:100px;}#logo a {display:none;}

大家猜一下这个代码能显示出东西吗?事实是背景显示了,可是链接没了。我们上面说过:被赋于了display:none;属性的容器自身也会消失。那我们就清楚了,必需要在这个A标签里加个容器。我们再看示例:

复制代码 代码如下:

<div id="logo"><a href="URL" title="标题"><span>标题内容</span></a></div>#logo {background:URL; width:300px; height:100px;}#logo a span {display:none;} 
这样的是不是就正确了呢?还是不行,为什么呢,我们都知道A不是块级标签,也就是说A的高宽都是内容来决定的,现在内容消失了,也就没有了这个高宽的属性了,那么这个链接也就成了一个没有热区的链接了。可能是点不着的。我们必需要把上面的代码再做修改。 

复制代码 代码如下:

<div id="logo"><a href="URL" title="标题"><span>标题内容</span></a></div>#logo a {background:URL; width:300px; height:100px; display:block;}#logo a span {display:none;}

注意这里的A标签的属性一定要加上display:block;把他强制为块级元素。这样A标签就成了一个宽为300高为100,有一个背景没有文字内容的链接形式。大家看到了上面在A标签里还加了一个span标签,好像有点多余。能不能不用span也可以实现效果呢。可以,不过思路就不一样了,而是下面的这种位置移动法。

位置移动:也就是让内容啊分进行位置移动,移出显示区之外。我们还是看代码来了解这个方法。

复制代码 代码如下:

<div id="logo"><a href="URL" title="标题">标题内容</a></div>#logo, #logo a {width:300px; height:100px; overflow:hidden;}#logo a {background:URL; padding:100px 0 0; display:block;} 
在CSS中设置了#logo与A有一个溢出隐藏(overflow:hidden;)也就是说有超出300*100大小的就会被隐藏。我们看A被定义了一个padding:100px 0 0; 这个顶部的内距正好把内容压到了显示区以外。那为什么#logo也要用overflow:hidden;呢?因为在IE下会出现一个小BUG,A的内容没办法溢出隐藏所以必需要在父级标签上还要加一个overflow:hidden;

以上内容只是我比较常用的两种方法,当然还会有一些别的方式方法,这些方法都有各自的有缺点,不过各种方法之间也都有互补的。在应用时可以依据情况选择使用即可。

时间: 2024-08-04 03:45:14

以图换字的几个方法及思路_经验交流的相关文章

以图换字的几个方法及思路

今天有个朋友做网页的时候遇到个问题:想保留链接的背景,但又要链接里的文字消失!可是弄了半天一直没办法把这个文字去掉.我想很多学标准的朋友都遇到过这个问题,这里我把常用的几个方法写出来,把思路也讲一下,希望能帮助刚开始学习的朋友. "以图换字"就是用图片替换文字表现.我们都知道,文字在浏览器里的表现形式是很差的,会有锯齿,没办法圆润还有没办法做很多效果.一般情况下网页的内容部分是不需要做效果的,但是在WEB标准中对于LOGO.标题,常常需要用到这些.用表格来做的话我们只是在某个地方帖上一

用css来控制图片大小显示的实现方法与代码_经验交流

有时候图片太大,会破环网页整齐的布局.这时可以用css来强制按比例压缩图片的高度或宽度 css代码如下: img,a img{ border:0;  margin:0;  padding:0; max-width:590px; width:expression(this.width>590?"590px":this.width); max-height:590px; height:expression(this.height>590?"590px":th

布局中以图换字的低级实现和高级实现

日常的布局中,经常会涉及到我们用一张优雅的图片标题去代替普通的问题标题.但是我们在布局中会始终写上标题相关的内容文字,然后将其隐藏起来. 前段时间参加了公司伟大的瑶姐的一次关于布局中以图换字的分享.今天我将其中实用的两种方法分享给大家.如有不足,请指正,如果你还有其他方法,请告知我. 1,低级方法:这种方法就是直接影藏掉文字,只显示图片.实现如下: <style> #logo a {background:url(test.jpg) no-repeat; width:195px; height:

xhtml+css网页制作中常见问题解决方法_经验交流

无论是谁,在制作页面的过程都是会碰到这样或者那样的问题,出了问题就肯定要解决.解决问题的前提是要知道问题出在什么地方,对于新手来说不一定一看到问题就知道问题出在哪里.比如在IE6中"多了一只猪"的问题,对于一些问题需要更多的经验交流分享吸收后才能更好的成长. 在网络中我想大家都有提过问题,需要别人解答的时候,但往往是你的一个问题却得不到任何人给你的解答,或者说是完全被无视了.对于这个时候的你,是不是在想"难道是因为我这个问题太简单了,他们都不想回答""他们

采用XHTML和CSS设计可重用可换肤的WEB站点的方法第1/4页_经验交流

XHTML 标准的目标是取代 html.按照 W3C 的说法,"XHTML 是 html 的继承者"(http://www.w3.org/MarkUp/). XHTML具有两大目标: 在文档结构和表示形式之间创建更明显的分离. 将 html 重新表示为 XML 的应用程序. 使用XHTML标准的好处是:只需设计页面一次,即可让该页以完全相同的方式在任何现代的浏览器中显示和工作.例如,在按照标准生成以后,页面在Internet Explorer.Mozilla Firefox.Netsc

当标题不能显示完整的解决方法_经验交流

其实建议用css控制超出隐藏显示 也就是标题因为设计的宽度问题所以没有显示全,看样子是使用程序来截字的.我想很多网站都遇到这样的情况.为了视觉效果不得不进行截字显示以满足网站的整体视觉效果.通常我们采用截字的方法是两种,一种是通过后台输出时来事先设定一定的字符数量.另一种是通过CSS或是JS来对已经输出的完整的内容进行视觉剪截. 在网页标准没有兴起的时候基本上是采用第一种方式来解决这个问题,直到现在这种方式依然被广泛地使用着.这种方式的好处就是可以准确的剪截字数,而不足可能就是因为剪截的工作在后

firefox css自动换行的实现方法_经验交流

IE直接用:word-break:break-all;  /*允许词内换行*/    word-wrap:break-word; /*内容将在边界内换行*/    /*需要注意的默认是:*/    word-wrap:normal /*允许内容顶开指定的窗口边界*/           而firefox却没有很好的实现办法 ,一个折中方案就是使用滚动条,但网上也提出了一种用js来判断换行的办法,这里摘录下(转自网络,特此说明). JavaScript复制代码 <script type="t

DIV 居中的绝好解决方法_经验交流

现在进行WEB重构的时候,一般我们做DIV 居中是这样:  复制代码 代码如下: body{ margin:0px auto; text-align:center; } 但是在没申明下面这句解析方法的时候,页面就会出错.不能居中对齐! 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 为此

固定表格的高度超过指定高度就隐藏的方法_经验交流

经常做网页,可发现原理只用控制<td>的高度,超过了就隐藏是不能用的,应该还有其它的方法,后来发现,原理,只需要在<td>...</td>中加个<div style="height:80px; overflow:hidden"> </div>就可以了,唉