今天搞EDM发现一个在ie7下很扯淡的bug,由于以前没遇到过,所以花了点时间来解决下。

IE7下bug重现:

<table cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff" width="700" style="padding:20px;margin:0 auto;border:1px solid #000000;">
<tbody>
<tr>
<td style="background:#3A87AD;padding:10px 0;color:#ffffff;">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td>内容</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>

我们用ie7浏览器查看,会发现,有蓝色背景的内容变宽了,如下图(上面的是现代浏览器效果,下面的是ie7效果):

经过一些调试,发现是 table 上设置了 padding,而属于这个 table 的 td 也设置了padding 导致的 bug。

以上例子,就是因为 第1行的 table 设置了 padding,而第4行的 td 也设置了 padding 。

我们对以上例子做一下修改,我们保留第1行 table上的padding ,把第4行的td的padding复合属性分开写(padding-top:10px;padding-bottom:10px;),如:

<table cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff" width="700" style="padding:20px;margin:0 auto;border:1px solid #000000;">
<tbody>
<tr>
<td style="background:#3A87AD;padding-top:10px;padding-bottom:10px;color:#ffffff;">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td>内容</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>

然后在 IE7 下面预览,发现和现代浏览器显示效果一样。

EDM排版table设置padding在ie7下bug的更多相关文章

  1. 【css】a:hover 设置上下边框在 ie6 和 ie7 下失效

    前段时间在写样式的时候发现了这个问题,虽然当时就解决了这个 bug 不过还是记录下,以免再次出现这样的问题. demo 代码: <!doctype html> <html lang= ...

  2. ie6,ie7下设置overflow:auto下滚动条不起作用

    今天遇到一个比较特殊的情况:ie6,ie7下设置overflow:auto下滚动条出来了但是滚动条不起任何作用,但在火狐,ie8,ie9,谷歌等浏览器下正常显示,解决方案:只需要加一个position ...

  3. ie7下设置z-index无效如何解决?

    ie7下z-index无效的问题之前做练习的时候遇到过,百度解决掉之后就丢脑后了.今天项目中又发现这个bug,无奈又去百度,这次还是记下来,节省了百度的时间还能小装一把... 需求是这样的: 页面中的 ...

  4. css padding在ie7、ie6、firefox中的兼容问题

    padding 简写属性在一个声明中设置所有内边距属性. 说明这个简写属性设置元素所有内边距的宽度,或者设置各边上内边距的宽度.行内非替换元素上设置的内边距不会影响行高计算:因此,如果一个元素既有内边 ...

  5. 【css】ie6 和 ie7 下 position 与 overflow 的问题

    前几天做的项目中碰到这样一个问题,在 ie6 和 ie7 下,给父元素设置 overflow:hidden 不起作用无法隐藏,后来发现是子元素中有设置 position:relative,如果子元素删 ...

  6. IE6/IE7下margin-bottom失效兼容解决办法及双倍边距问题

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-04-08) 一.IE6/IE7下margin-bottom失效兼容解决办法 1.用padding-bottom代替:2.在 ...

  7. IE下设置body{overflow:hidden;}失效Bug

    问题重现: <p>There are no scrollbars on this page in sane browsers</p> html, body, p { margi ...

  8. vertical-align及IE7下的inline-block

    在IE7下,是不支持inline-block元素的,当对块级元素如dl进行inline-block样式设置时,在IE7浏览器是下样式是不会生效的. 若要在IE7下实现将块级元素设置为内联元素,可以这样 ...

  9. IE6,IE7上设置body{overflow:hidden;}失效Bug

    IE6,IE7下设置body{overflow:hidden;}失效Bug 最近做项目发现在IE7下设置body{overflow:hidden;}后还是会出现纵向滚动条,所以上网查查了,在这里记录一 ...

随机推荐

  1. 利用nginx做负载均衡

    round-robin:轮询.以轮询方式将请求分配到不同服务器上,默认 least-connected:最少连接数.将下一个请求分配到连接数最少的那台服务器上 ip-hash :基于客户端的IP地址. ...

  2. 几个好用的截取字符串的php函数分享

    分享几个好用的PHP 截取字符串函数(支持gb2312和utf-8). 1.截取GB2312字符用的函数 <?php /** **截取中文字符串 * edit by www.jbxue.com ...

  3. vim使用大全

      鸟哥介绍的几个高级功能 1. 区块选择的按键意义 v 字符选择,会将光标经过的地方反白选择! V 行选择,会将光标经过的行反白选择! [Ctrl]+v 区块选择,可以用长方形的方式选择资料 y 将 ...

  4. 【转】perl特殊符号及默认的内部变量

    perl特殊符号及默认的内部变量,有需要的朋友不妨参考下 Perl的特殊符号 @       数组                          $x{}   x名字前面是美元符号($),后面是花 ...

  5. cmd&Linux 下使用mysql全记录

    php mysql数据库常用cmd命令集 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

  6. gridView AspNetPager 翻页时 弹出窗体关闭报错

    gridView AspNetPager 翻页后,你右击刷新或F5会发现弹出一个刷新页面. 这是因为默认翻页都是用dopostback方式回发的.因为这时的页面已经不是原来的页面.所以会弹出提示. 这 ...

  7. ubuntu find方法

    通用格式:find pathname -options [-print -exec -ok]例子:find / -name filename 再根目录里面搜索文件名为filename的文件find / ...

  8. 【git】学习路径失败了

    期初规划:搭建git远程服务器  使用gitlab作为管理工具 过程遇到的问题 1.gitlab不能安装到win ,且对centos要求6以上,我只有一台centos5  让运维帮升级 ...等待.. ...

  9. 微软职位内部推荐-Sr DEV Lead, Bing Search Relevance

    微软近期Open的职位: Contact Person: Winnie Wei (wiwe@microsoft.com )Sr DEV Lead, Bing Search RelevanceLocat ...

  10. centos apache 隐藏和伪装 版本信息

    1.隐藏Apache版本信息 测试默认 apache 的状态信息[root@1314it conf]# curl -Is localhostHTTP/1.1 200 OKDate: Tue, 16 N ...