2011-05-02 65 views
1

我很难搞清楚这一点。ie7孩子块元素扩大和无视父母填充

我有一个块内的另一个块元素有一个底部填充(父)。子元素将其高度展开为100%,同时吃掉/重叠父级的底部填充,就好像根本没有填充。

什么可能触发这种行为?

这里的HTML代码:

<span class="boxTop"> 
    <span class="boxBottom"> 
     <span class="boxLeft"> 
      <span class="boxRight"> 
       <span class="box"> 
        Content goes here 
       </span> 
      </span> 
     </span> 
    </span> 
</span> 

这里的CSS:

.infoBox .boxTop { 
padding:20px 0 0 0; 
display:block; 
background:transparent url(images/infobox-top.png) repeat-x 0 0; 
} 
.infoBox .boxBottom { 
padding:0 0 20px 0; 
display:block; 
background:transparent url(images/infobox-bottom.png) repeat-x 0 bottom; 
} 
.infoBox .boxLeft { 
padding:0 0 0 20px; 
display:block; 
background:transparent url(images/infobox-left.png) repeat-y left 0; 
} 
.infoBox .boxRight { 
padding:0 20px 0 0; 
display:block; 
background:transparent url(images/infobox-right.png) repeat-y right 0; 
} 

这是它看起来像在IE7:

这里的boxBottom:http://img.photobucket.com/albums/v466/nemesis2k4/Forum%20Posts/boxbottom.jpg

和这里的boxLeft和boxRight,都扩大和重叠/无视boxBottom的pa dding: http://img.photobucket.com/albums/v466/nemesis2k4/Forum%20Posts/boxleft.jpg http://img.photobucket.com/albums/v466/nemesis2k4/Forum%20Posts/boxright.jpg

+0

请出示您的代码,以便更好地理解 – sandeep 2011-05-02 11:42:28

+0

由于您的HTML示例代码包含五个元素,因此很难理解您引用“父”和“子”元素的元素。您的示例代码中也没有任何内容可以让元素“将其高度展开100%”。你能更精确吗?也许发布一个**工作**的例子,例如jsfiddle.org – RoToRa 2011-05-02 13:02:02

+0

对不起,我应该更具体。发布编辑!谢谢 – DigitalDouble 2011-05-03 02:46:46

回答

0

尝试。我想,你希望把你的.boxRight和.boxLeft在.boxBottom

的HTML

<span class="infoBox"> <!--InfoBox Start--> 
<span class="boxTop"> <!--boxTop Start--> 
</span>    <!--boxTop End--> 

<span class="boxBottom"> <!--boxBottom Start--> 
    <span class="boxLeft"> <!--boxLeft Start--> 
    </span>     <!--boxLeft End--> 

    <span class="boxRight"> <!--boxRight Start--> 
    </span>     <!--boxRight End--> 
</span>     <!--boxBottom End--> 
</span>     <!--InforBox End--> 

的CSS

.boxTop 
{ 
display: block; 
padding-bottom: 20px; 
} 

.boxBottom 
{ 
display: block; 
padding-top: 20px; 
}