【问题标题】:Why does Opera 9 have a space between these two images?为什么 Opera 9 在这两个图像之间有一个空格?
【发布时间】:2011-07-02 17:41:38
【问题描述】:

所有其他浏览器都正确呈现此内容。

<body>
    <div>
        <div><img src="img/logo_top.png" width="168" height="85" alt="Logo top" /></div>
        <div><img src="img/logo_bottom.png" width="168" height="83" alt="Logo bottom" /></div>
    </div>
</body>

没有 div 和图像之间的 也是一样的。

更新:

这是我的 HTML,带有文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
    <head>
        <title>Test</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
            img {border: none;}
            body {font-size: 0px;}
        </style>
    </head>
    <body>
        <div>
            <div><img src="img/logo_top.png"  alt="Logo top" /></div>
            <div><img src="img/logo_bottom.png" alt="Logo bottom" /></div>
        </div>
    </body>
</html>

【问题讨论】:

  • Opera 是否有可能在 div 之后中断?!最终你可以用 CSS 解决这个问题。
  • 您使用的是什么文档类型? (显示您的整个文件)

标签: html css browser opera


【解决方案1】:

尝试删除第一个 &lt;/div&gt; 和第二个 &lt;div&gt; 之间的空格。有时,浏览器会将这些 CRLF 空白字符解释为物理空间的指示。

【讨论】:

  • 我试过了,图像之间仍然有空格。 Opera 10 和 Opera 11 还可以,我遇到问题的是 Opera 9(9.50 版),当然我的客户正在使用的浏览器...
  • @A-OK - 您可以尝试将两个 div 的样式更改为 display: inline;
【解决方案2】:

如果这是我认为的问题,那么添加这个 CSS 应该可以解决:

img {
    vertical-align: top
}

或者这个:

img {
    display: block
}

【讨论】:

  • &lt;div&gt; 显示默认为阻止。我认为您的意思是建议将其更改为inlineinline-block
  • 显示:块;工作,谢谢! :) Stackoverflow 说我可以在 7 分钟内接受答案,所以...
  • @Joel Etherton:你说得对,&lt;div&gt; 确实默认阻​​止。但是,我将其应用于&lt;img&gt;
  • See here 很好地解释了这个问题。这个答案值得更多投票!
  • 你是对的,我很抱歉。我没有仔细阅读您的回答。
猜你喜欢
  • 2013-07-26
  • 1970-01-01
  • 1970-01-01
  • 2012-07-25
  • 1970-01-01
  • 2016-01-07
  • 2017-11-18
  • 2021-10-01
  • 2018-12-02
相关资源
最近更新 更多