【问题标题】:My html div is making grow their parent container beyond its limit我的 html div 正在使它们的父容器超出其限制
【发布时间】:2018-11-01 06:39:35
【问题描述】:

我有一个问题:我的 div(红色的)在 table-td(我无法更改)内,正在使父容器增长并显示滚动,无论我的百分比是多少用于我的 div 宽度。

下图显示了实际问题:

我在小提琴中也有一个例子

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 代码是动态镶嵌的,它不应影响其边界之外的任何内容

【问题讨论】:

    标签: html css html-table


    【解决方案1】:

    像这样?

    #div_translation_container{
    .....
    position:absolute;
    }
    

    小提琴:https://jsfiddle.net/hoj2Lwdv/1/

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 问题是我不能改变principal(因为我的div是动态镶嵌的),还有其他方法吗?
      • 你不能改变它的CSS? HTML 将保持不变。
      • 不,我不能,我也不应该,因为它是一个 WCM 企业网站。
      • 你可以在主体内添加另一个 div,并将那个宽度设为 900px 并隐藏溢出吗?
      • 是的,我可以,但是宽度需要是一个百分比:(因为900px只是一个例子,我不知道父宽度
      【解决方案3】:

      我不确定这是否是您要查找的内容。最初,您将部分正文显示属性设置为 inline-block。我只删除了它,因为您所有的 div 都包裹在表格中(如果您要在 CSS 中设置样式,则显示:表格)以避免显示问题。

      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;
      

      }

      【讨论】:

      • 不错的解决方案,但现在 div_translation_container 不尊重其父级的宽度
      • 我假设它是您的 div 元素,它具有导致问题的类原则。但如果你不能改变它,那么它总是会保持这种状态。至少这是我的假设。希望你能找到更好的解决方案:)
      • 谢谢,我的 div 包含 (div_translation_container) 不应该影响它的父级 :( 但是我的 div 中有一些东西让他们的父级表现得很奇怪
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 2011-12-24
      • 2015-08-24
      • 2021-04-26
      • 2013-08-07
      • 1970-01-01
      相关资源
      最近更新 更多