【问题标题】:Where this gap comes from and how to get rid off it?这个差距从何而来,如何摆脱它?
【发布时间】:2011-06-27 03:50:14
【问题描述】:

简单代码:

<a href="#">
    <div>
        <img src="http://dummyimage.com/600x400/000/fff&text=image" class="image" />
        <img src="http://dummyimage.com/600x15/000/fff" alt="" class="shadow" />
    </div>
</a>

两张图片的边距和内边距为 0,但它们之间仍有差距。

如何避免这种行为?

是的,这不是一个错误,整个东西都必须在 A 标记中。

例子:

http://jsfiddle.net/fqrfU/

【问题讨论】:

  • 为什么会有额外的 div?你不需要额外的 div 容器
  • @corroded,事实上我是这样做的,我的真实代码要复杂得多(图像前后有几个 div):)
  • 嗯,我的意思是,它们被用作容器吗?还是出于造型目的?

标签: html css image margin gaps-in-visuals


【解决方案1】:

我认为是导致问题的行高。 Check it out.

另外,我知道你说它本来是这样的,但实际上是无效的(?)HTML 在锚点内包含div 标记。尝试改用spans。

【讨论】:

【解决方案2】:

这两个图像是内联显示的。这意味着图像的基线与文本的基线对齐。在文本下方通常有更多空间来说明低于基线的字母,例如pjgq

只需制作图像display: block; 即可在您的场景中解决此问题。

此页面非常清楚地描述了您的情况:http://devedge-temp.mozilla.org/viewsource/2002/img-table/

【讨论】:

    【解决方案3】:

    同时添加display:block;

    演示:http://jsfiddle.net/fqrfU/22/

    【讨论】:

      【解决方案4】:

      你可以浮动和清除它们:

      img {
          clear: both;
          float: left;
      }
      

      http://jsfiddle.net/lukemartin/fqrfU/11/

      【讨论】:

        【解决方案5】:
        <a href="#">
            <div>
                <img src="http://dummyimage.com/600x400/000/fff&text=image" class="image" /><img src="http://dummyimage.com/600x15/000/fff" alt="" class="shadow" />
            </div>
        </a>
        

        【讨论】:

          【解决方案6】:

          您在 IE 中遇到问题了吗? 尝试将两个图像标签放在 HTML 中的同一行,中间不要有任何空格...

          【讨论】:

            【解决方案7】:

            通过做简单的CSS,

            .image, .shadow {
                margin: 0;
                padding: 0;
                display:block;
            }
            

            http://jsfiddle.net/fqrfU/43/

            【讨论】:

              【解决方案8】:

              博格丹说了什么,或者:

              <div> <img src="http://dummyimage.com/600x400/000/fff&text=image" class="image" /><img src="http://dummyimage.com/600x15/000/fff" alt="" class="shadow" /> </div> </a>

              看,/&gt; 和第二个&lt;img 之间的空白实际上被渲染了,这给出了两张图片之间的空间。

              --皮特

              【讨论】:

                【解决方案9】:

                这刚刚对我有用:

                img
                {  
                    display: block;
                }
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2020-11-29
                  • 2020-11-22
                  • 2016-11-29
                  • 2021-07-07
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-10-02
                  • 2023-02-03
                  相关资源
                  最近更新 更多