页面中的新行无缘无故

时间:2012-10-04 16:02:29

标签: html css

我已在site更新了我的横幅广告。 有无法解释的超边距(在左边第一个和左边第二个之间)。 边距是HTML中的新行,但没有任何推子元素来保存它。 这很奇怪。

我尝试设置jsfiddle,但错误不存在。

以下是代码:

<br>
<div class="invisible_box">
    <a class="overlay" onclick="window.open('http://www.s-maof.com/LandingPages/PRO/','PRO','scrollbars=yes, toolbar=no,status=no, width=570,height=650')"></a>
    <object type="application/x-shockwave-flash" data="http://s-maof.com/stuff/bannerPro150x75.swf" width="150" height="75">
        <param name="movie" value="http://s-maof.com/stuff/bannerPro150x75.swf" />
        <param name="quality" value="high" />
        <param name="wmode" value="transparent" />
        <param name="loop" value="false" />
    </object>
</div>

<div class="invisible_box" style="z-index: 7000">
    <a class="overlay" style="cursor:auto;"></a>
    <object type="application/x-shockwave-flash" data="http://s-maof.com/stuff/tachlit-150x150.swf" width="150" height="150">
        <param name="movie" value="http://s-maof.com/stuff/tachlit-150x150.swf" />
        <param name="quality" value="high" />
        <param name="wmode" value="transparent" />
        <param name="loop" value="false" />
   </object>               
</div>

CSS:

.invisible_box {
    height: 75px;
    margin-bottom: 5px;
    position: relative;
    width: 150px;
}
.overlay {
    background: none repeat scroll 0 0 white;
    display: block;
    height: 75px;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 150px;
    z-index: 10000;
}  

4 个答案:

答案 0 :(得分:5)

div之后有三个不可见的U+200B字符,它们可能是原因。源代码显示了这一点(在文本编辑器中查看,允许您查看这些内容):

<div class="invisible_box">
    <a class="overlay" onclick="window.open('http://www.s-maof.com/LandingPages/PRO/','PRO','scrollbars=yes, toolbar=no,status=no, width=570,height=650')"></a>
    <object type="application/x-shockwave-flash" data="http://s-maof.com/stuff/bannerPro150x75.swf" width="150" height="75">
        <param name="movie" value="http://s-maof.com/stuff/bannerPro150x75.swf" />
        <param name="quality" value="high" />
        <param name="wmode" value="transparent" />
        <param name="loop" value="false" />
    </object>
</div>​​​<U+200B><U+200B><U+200B>

正如Tiby所指出的,它们可能会导致您在Chrome控制台上看到的流氓元素。

答案 1 :(得分:3)

在Google Chrome控制台中,如果您查看该区域,第一个横幅和第二个横幅之间会有一个大的空文本块(它出现在引号之间)。我刚刚删除了那个,两个横幅之间的空白区域消失了。尝试一下。

答案 2 :(得分:2)

尝试在<!-- -->

中插入html评论
<div class="invisible_box">
            <a class="overlay" onclick="window.open('http://www.s-maof.com/LandingPages/PRO/','PRO','scrollbars=yes, toolbar=no,status=no, width=570,height=650')"></a>
            <object type="application/x-shockwave-flash" data="http://s-maof.com/stuff/bannerPro150x75.swf" width="150" height="75">
                <param name="movie" value="http://s-maof.com/stuff/bannerPro150x75.swf" />
                <param name="quality" value="high" />
                <param name="wmode" value="transparent" />
                <param name="loop" value="false" />
            </object>
        </div><!--

                --><div class="invisible_box" style="z-index: 7000">
<a class="overlay" style="cursor:auto;"></a>
    <object type="application/x-shockwave-flash" data="http://s-maof.com/stuff/tachlit-150x150.swf" width="150" height="150">
        <param name="movie" value="http://s-maof.com/stuff/tachlit-150x150.swf" />
        <param name="quality" value="high" />
        <param name="wmode" value="transparent" />
        <param name="loop" value="false" />
   </object>      

</div>

答案 3 :(得分:0)

谢谢大家和@Mr_Green,

只有当我将代码复制到记事本时才会发现隐藏的三个字符! vbulletin编辑器(我的网站框架)中没有显示。

非常有趣..