2015-02-23 18 views
2

我有一个问题:我的div(红色的一个)是在表td(我无法更改)内,正在使父容器增长并显示一个滚动无关紧要我用于我的div宽度。我的html div正在使其父容器增长超过其限制

Design of my page

下图显示了实际问题

enter image description here

我也有小提琴的例子

Fiddle Code

<div class="principal"> 
<table width="100%" class="sometable"><tbody><tr><td> 

    <!-- my code starts here --> 
<div id="div_translation_container"> 
    <div class="taxonomy_section_body"> 
     <div class="taxonomy_section_row"> 
      <div class="taxonomy_section_cell">6000 ABD</div> 
      <div class="taxonomy_section_cell"> 
      i 
      </div> 
      <div class="taxonomy_section_cell"> 
      i 
      </div> 
      <div class="taxonomy_section_cell"> 
      i 
      </div> 
      <div class="taxonomy_section_cell"> 
      i 
      </div> 
      <div style="clear: both;"></div> 
     </div> 
    </div> 
</div> 
<!-- my code ends here --> 


    </td> 
    </tr> 
    </tbody> 
</table> 
</div> 

CSS

.principal{ 
    width:900px; 
    background-color:black; 
    overflow:auto; 
} 

#div_translation_container{ 
    background-color:red; 
    border-top: 2px solid #141414; 
    padding-top: 10px; 
    width: 50%; 
} 

.taxonomy_section_body { 
    display: inline-block; 
    margin: auto; 
    min-height: 10px; 
    overflow-x: auto; 
    width: 100%; 
    margin-bottom: 10px; 
} 

.taxonomy_section_row { 
    background-color: yellow; 
    white-space: nowrap; 
} 

.taxonomy_section_cell { 
    background-color: blue; 
    display: inline-block; 
    width: 250px; 
    overflow: hidden; 
    height: 30px; 
    white-space: nowrap; 
    padding: 5px; 
    text-align: center; 
} 

表格的宽度为100% 列是80% 和我DIV为50%

但不知何故,这些百分比不考虑..

注*我不能更改表格或主体div,因为我的HTML代码是动态编组的,并且它不应该影响任何超出其边界的任何东西

谢谢你的帮助

回答

0

如果我正确理解你的问题,只是删除溢出或使溢出:隐藏到.principal:

.principal{ 
    width:900px; 
    background-color:black; 
    overflow:hidden; 
} 
+0

的问题是,我不能改变主(因为我的div是dinamically结痂),还有没有其他的办法吗? – 2015-02-23 21:44:32

+0

你不能改变它的CSS? HTML将保持不变。 – coopersita 2015-02-24 16:04:28

+0

不,我不能,也不应该,因为它是一个WCM企业网站。 – 2015-02-24 16:11:20

0

我不知道如果这是你正在寻找。开始时,您的部分主体显示属性设置为内嵌块。我只删除它,因为你所有的div都被封装在表格中(如果你想在CSS中设置它的话,可以使用display:table)来避免显示问题。

Fiddle

.principal{ 
width:600px; 
height: 300px; 
background-color:black; 
overflow:auto; 

}

#div_translation_container{ 
background-color:red; 
border-top: 2px solid #141414; 
padding-top: 10px; 
width: 60%; 
position:absolute; 

}

.taxonomy_section_body { 

margin: auto; 
min-height: 10px; 
overflow-x: auto; 
width: 100%; 
margin-bottom: 10px; 

}

.taxonomy_section_row { 
background-color: yellow; 
white-space: nowrap; 

}

.taxonomy_section_cell { 
background-color: blue; 
display:inline-block; 
width: 250px; 
overflow: hidden; 
height: 30px; 
white-space: nowrap; 
padding: 5px; 
text-align: center; 

}

+0

很好的解决方案,但现在div_translation_container不尊重其母公司的宽度 – 2015-02-23 22:10:20

+0

我假设它是一个与类原则的div元素这是造成这个问题,但如果你不能改变它,那么它总是会保持这种方式。至少这是我的假设。希望你找到一个更好的解决方案:) – 2015-02-23 22:48:02

+0

谢谢你,我的div是incrusted(div_translation_container)不应该影响它的父母:(但我的div中有一些东西让他们的父母表现得很奇怪 – 2015-02-23 23:00:05