HTML网页,HTML邮件中图片插入超链接后出现空白间

作者:零点传媒     发布时间:2014-09-03 11:46:59     来源:http://www.szzero.com

        现在很多企业开始使用HTML邮件给客户发送邮件,但是经常会出现做好的图片经过PS裁剪编辑成HTML页面后,插入超链接,图片之间会出现空白间隙。有些时候在做网页页面编辑的时候也经常会出现这些情况。那么是什么原因造成了这些问题呢?

1、图片插入超链接后,没有在IMG属性中添加Border=“0”(<a href="##"><img border="0" src="##"></a>)添加了Border=“0”属性后,在常规的网页中就不会出现图片间的空白间隙。

2、添加了Border=“0”后图片间还有空白间隙。这个是因为你在Dreamweaver中编辑的时候图片之间有回车造成的。回车在你重复拷贝到其他地方的时候会自动转换成空格(&nbsp;),这样就会导致图片间出现间隙。特别是在HTML邮件中这个问题经常见到。

实例:

<table id="__01" width="827" height="1453" border="0" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td colspan="6">
      <img src="http://www.roevisual.com/newsletters/201409/2014-September-London_01.jpg" width="617" height="126" alt="" border="0">
      </td>
      <td colspan="2">
      <a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_02.jpg" width="210" height="126" alt="" border="0"></a>
      </td>
     </tr>
     <tr>
       <td colspan="8">
       <a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_03.jpg" width="827" height="68" alt="" border="0"></a>
       </td>
      </tr>
      <tr>
        <td colspan="4">
        <a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_04.jpg" width="511" height="446" alt="" border="0"></a></td>
        <td colspan="4">
        <img src="http://www.roevisual.com/newsletters/201409/2014-September-London_05.jpg" width="316" height="446" alt="" border="0"></td>
       </tr>
       <tr>
         <td colspan="8">
         <img src="http://www.roevisual.com/newsletters/201409/2014-September-London_06.jpg" width="827" height="266" alt="" border="0"></td>
       </tr>
       <tr>
         <td>
         <a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_07.jpg" width="295" height="461" alt="" border="0"></a></td>
         <td colspan="4">
         <a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_08.jpg" width="275" height="461" alt="" border="0"></a></td>
         <td colspan="3">
         <a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_09.jpg" width="257" height="461" alt="" border="0"></a></td>
       </tr>
       <tr>
         <td colspan="8">
         <img src="http://www.roevisual.com/newsletters/201409/2014-September-London_10.jpg" width="827" height="58" alt="" border="0"></td>
       </tr>
       <tr>
         <td colspan="2">
         <img src="http://www.roevisual.com/newsletters/201409/2014-September-London_11.jpg" width="312" height="27" alt="" border="0"></td>
         <td>
         <a href="mailto:roe@roevisual.com"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_12.jpg" width="160" height="27" alt="" border="0"></a></td>
         <td colspan="4">
         <a href="www.szzero.com"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_13.jpg" width="179" height="27" alt="" border="0"></a></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/2014-September-London_14.jpg" width="176" height="27" alt="" border="0"></td>
       </tr>
       <tr>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="295" height="1" alt="" border="0"></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="17" height="1" alt="" border="0"></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="160" height="1" alt="" border="0"></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="39" height="1" alt="" border="0"></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="59" height="1" alt="" border="0"></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="47" height="1" alt="" border="0"></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="34" height="1" alt="" border="0"></td>
         <td>
         <img src="http://www.roevisual.com/newsletters/201409/1.gif" width="176" height="1" alt="" border="0"></td>
       </tr>
     </tbody>
 </table>

这个代码是在Dreamweaver中的Newsletter代码。

复制到邮件中后代码

<table id="__01" width="827" height="1453" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td colspan="6">&nbsp;<img src="http://www.roevisual.com/newsletters/201409/2014-September-London_01.jpg" width="617" height="126" alt="" border="0"></td><td colspan="2">&nbsp;<a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_02.jpg" width="210" height="126" alt="" border="0"></a></td></tr><tr><td colspan="8">&nbsp;<a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_03.jpg" width="827" height="68" alt="" border="0"></a></td></tr><tr><td colspan="4">&nbsp;<a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_04.jpg" width="511" height="446" alt="" border="0"></a></td><td colspan="4">&nbsp;<img src="http://www.roevisual.com/newsletters/201409/2014-September-London_05.jpg" width="316" height="446" alt="" border="0"></td></tr><tr><td colspan="8">&nbsp;<img src="http://www.roevisual.com/newsletters/201409/2014-September-London_06.jpg" width="827" height="266" alt="" border="0"></td></tr><tr><td>&nbsp;<a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_07.jpg" width="295" height="461" alt="" border="0"></a></td><td colspan="4">&nbsp;<a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_08.jpg" width="275" height="461" alt="" border="0"></a></td><td colspan="3">&nbsp;<a href="http://www.szzero.com/"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_09.jpg" width="257" height="461" alt="" border="0"></a></td></tr><tr><td colspan="8">&nbsp;<img src="http://www.roevisual.com/newsletters/201409/2014-September-London_10.jpg" width="827" height="58" alt="" border="0"></td></tr><tr><td colspan="2">&nbsp;<img src="http://www.roevisual.com/newsletters/201409/2014-September-London_11.jpg" width="312" height="27" alt="" border="0"></td><td>&nbsp;<a href="mailto:roe@roevisual.com"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_12.jpg" width="160" height="27" alt="" border="0"></a></td><td colspan="4">&nbsp;<a href="www.szzero.com"><img src="http://www.roevisual.com/newsletters/201409/2014-September-London_13.jpg" width="179" height="27" alt="" border="0"></a></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/2014-September-London_14.jpg" width="176" height="27" alt="" border="0"></td></tr><tr><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="295" height="1" alt="" border="0"></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="17" height="1" alt="" border="0"></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="160" height="1" alt="" border="0"></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="39" height="1" alt="" border="0"></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="59" height="1" alt="" border="0"></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="47" height="1" alt="" border="0"></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="34" height="1" alt="" border="0"></td><td>&nbsp;<img src="http://www.roevisual.com/newsletters/201409/1.gif" width="176" height="1" alt="" border="0"></td></tr></tbody></table>

显示样式

可以看到图片之间出现了很多空白间隙。只需要将以上代码中的空格(&nbsp;)删除掉空格就会消失。

其他img div 间距设为0,图片和DIV间距的调整问题:

 

1、如何定义高度很小的容器?
IE6下无法定义小高度的容器,是因为有一个默认的行高。
列举2种解决方案:overflow:hidden | line-height:0

2
、图片下方出现几像素的空白间隙?
这个也有多种解决方案,如将img定义为display:block,或定义父容器为font-size:0,个人更推荐使用vertical-align的方式,它的值可以是text-top | text-bottom | middle

3IE6双倍marginBUG?
display:inline

4
、文本垂直方向对齐文本输入框?
设置inputvertical-align:middletextarea也是如此

5、为什么在web标准下ie无法设置滚动条的颜色?
将设置滚动条颜色的样式定义到html标签选择符上即可

6、如何让层在falsh上显示?
不可以,除了少数几个级别很高的家伙除外。
但可以将flash设置为透明,这时层就会透过falsh显示,近似于覆盖在flash之上了,如:
<param name="mode" value="transparent" />

7
、如何使得文字不换行?
定义包含文字的容器为:width:xxx;white-space:nowrap;

8
ie中如何让超出宽度的文字显示为省略号?
定义容器为:overflow:hidden;width:xxx;white-space:nowrap;text-overflow:ellipsis;

9
、如何在点文字时也选中checkbox?
<input id="test" type="checkbox" value="on" /> <label for="test">
测试</label>

10
、一个divmargin-bottom:10px,一个divmargin-top:5px,为什么2div之间的间距是10px而不是15px?
这种情况浏览器会自动进行margin重叠,只显示较大的margin
解决方案:只设置其中一个divmargin15px

11
、如何解决ie下当li中出现2个或以上的浮动时,li之间产生的空白间隙?
设置livertical-align,值可以为top | text-top | middle | bottom | text-bottom

12
、如何使得英文单词不发生词内断行?
word-wrap:break-word;

13
、为什么被访问过的链接颜色没有变化?
定义链接的样式时,需要按照:link,:visited,:hover,:active这样的顺序,可以使用LoVe HAte(喜欢讨厌)来记忆

14、单行文本如何垂直居中?
height:xxx;line-height:xxx; 高和行高相同即可

15、已知高度的容器如何在页面中水平垂直居中?
参阅:

16、未知尺寸的图片图如何水平垂直居中?
参阅:

17、标准模式和怪异模式下的盒模型区别?
标准模式下:实际宽度 = width + padding + border
怪异模式下:实际宽度 = width - padding - border

18
、如何解决IE下的3像素BUG?
参阅:

19、如何做1像素细边框的table?
方法1:设置tableborder-collapse:collapse;
<style type="text/css">
table
td
</style>
<table cellspacing="0" cellpadding="0" border="1">
<tr>
<td>
测试 </td>
<td>
测试 </td>
</tr>
</table>


方法2:关键在于设置cellspacine="1",用间隙来作为边框
<style type="text/css">
table
tr
</style>
<table cellspacing="1" cellpadding="0" border="0">
<tr>
<td>
测试 </td>
<td>
测试 </td>
</tr>
</table>

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

方法1:使用text-indent的负值,将内容移出容器;
方法2:使用display:none,将内容隐藏;
方法3:使用padding将文字挤出容器之外,并将超出的部分hidden;
方法4:使用font设置超小字体,达到隐藏内容的目的。

方法1(非常不推荐)看起来蛮简单,但其实有几个不理想的地方,1是比较吃资源;2是在ie5下面会出现滞后背景无法显示;3是内容为超链接时,长长的黑色虚框,让你抓狂。
方法2(不推荐)其实倒也不复杂,只是需要多添加一个标签,比较浪费;且display:none出现的几率太多,对seo也是会有些许影响的。
方法3(推荐)Standard Model下要2层标签才能搞定,不过相对方法12还是有优势的,推荐一下。
方法4(强烈推荐)只需要将字体设置为0,然后overflow:hidden;font:0/0 arial;overflow:hidden;就同样可以达到隐藏内容的目的,暂时还没发现有什么副作用,强烈推荐。

21、如何容器透明,内容不透明?
假设在标准模式下有如下结构:
<div class="outer">
<p class="inner">
我不要透明 </p>
</div>

IE only
的方法:在父容器outer被设置为透明后,只需要将子容器inner设置为position:relative; 如果需要兼容其它浏览器,则以上的方法不适用,且结构也需改为:

<div class="outer"> </div>
<div class="inner">
我不要透明 </div>

然后使用position + z-index搞定位置

22、如何去掉链接的虚线框?
IE下: <a href="#" onfocus="this.blur();"...>
FF
:a

23
、如何使得页面字体行距始终保持n倍字体大小为基调?
body内设置line-height:n即可,注,不可以为它加上单位
原因可参阅:

24、如何使用标准的方法插入flash?
<div class="fla-show">
<object type="application/x-shockwave-flash" data="*.swf" width="*" height="*">
<param name="movie" value="*.swf" />
<img src="*.jpg" alt="
用于不支持flash或屏蔽flash时显示" />
</object>
</div>

25
Standard Model如何让容器可以height:100%
设置html,body

26
、如何使得表格的宽度固定?
设置tabletable-layout:fixed;这时表格将使用固定布局算法,多出的内容将不影响表格的宽度

27、如何让min-height兼容ie6?
.min-height
<div class="min-height">
我是兼容的min-height </div>

28
、如何让鼠标变成手型且兼容所有现代浏览器?
cursor:pointer

29
、如何实现ie6下的position:fixed?
参阅:

30IE下如何对Standard ModeQuirks Mode进行切换?
IE6以下的浏览器不用触发,直接以Quirks Mode呈现页面。

IE6IE7都可以触发的(在XHTML 的DTD申明前加上HTML注释):
<!--Let ie6 and ie7 into quirks mode-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"">

IE6
的触发(在XHTML 的DTD申明前加上XML申明):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"">


当没有使用DTD声明或者使用HTML4以下(不包括HTML4)的DTD声明时,基本所有的浏览器都是使用Quirks Mode呈现。

31、如何给一个元素定义多个不同的css规则?
<style type="text/css">
.a
.b
</style>

<div class="a b">
测试 </div>

如上例,该元素同时拥有ab定义的样式规则。
多个规则之间使用空格分开,并且只有class能同时使用多个规则,id不可以

32、如何区别display:nonevisibility:hidden?
相同的是display:nonevisibility:hidden都可以用来隐藏某个元素;
不同的是display:none在隐藏元素的时候,将其占位空间也去掉;而visibility:hidden只是隐藏了内容而已,其占位空间仍然保留

32.超链接访问过后hover样式就不出现的问题
被点击访问过的超链接样式不在具有hoveractive,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A

33.FF
下如何使连续长字段自动换行
众所周知IE中直接使用word-wrap:break-word 就可以了, 这里FF中我们使用JS插入的方法来解决

34.ff下为什么父容器的高度不能自适应
为什么这个P撑不开DIV呢?解决的办法是在div 与 p 之间插入<div style=”clear:both”></div>清除掉这个p的浮动.
什么?你在IE下也碰到过类似问题

35. IE6的双倍边距BUG
浮动后本来外边距10px,IE解释为20px,解决办法是加上display:inline

36. IE6
下绝对定位的容器内文本无法正常选择的问题
上面的问题在IE67中存在,解决问题的办法是让IE进入到quirks mode。关于quirks mode的相关知识,请参考:
aoao:IE6版本是6.0.2900.2180.xpsp_sp2.gdr.070227-2254好像依然存在问题,加了背景色依然无效。接着测试中

37. IE6
下为什么图片下方有空隙产生
解决这个BUG的方法也有很多,可以是改变html的排版,或者定义img 为display:block
或者定义vertical-align属性值为vertical-align:top | bottom |middle |text-bottom
还可以设置父容器的字体大小为零,font-size:0

38. IE6
下这两个层中间怎么有间隙
这个IE3PX BUG也是经常出现的,解决的办法是给.right也同样浮动 float:left 或者相对IE6定义.left margin-right:-3px;

39. list-style-image
无法准确定位的问题
这个list-style-image的定位问题也是经常有人问的,解决的办法一般是用li的背景模拟,这里采用相对定位的方法也可以解决

40. LI中内容超过长度后以省略号显示的方法
li {
width:200px;
white-space:nowrap;
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
overflow: hidden;
}

Copyright © 2002-2014 深圳市零点传媒有限公司 版权所有-技术支持:零点传媒

网站建设

平面设计

摄影摄像

客户投诉