【问题标题】:How to prevent div container being resizing如何防止 div 容器调整大小
【发布时间】:2016-04-14 04:10:13
【问题描述】:

我将 div 容器用作可放置元素,因此我将按钮元素动态添加到此 div 容器中。如果我添加超出其大小的按钮,则 Div 大小正在调整大小如何避免这种情况?

注意:此问题仅在 Firefox 中出现

sample:fiddle

#divContainer{
    width:100%;
    height:40%;
    overflow:auto;
    border:1px solid;
    display:inline-block;
}
#click{
    width:100px;
    height:30px;
}
table{
    border:1px solid;
}
body{
    height:1000px;
}

//html

<button id="click">ClickME</button>
<table style="width:20%; height:30%">
    <tr>
        <td>
            <div id="divContainer">
            </div>
        </td>
    </tr>
</table>

//脚本

 $(function () {

        $("#click").on("click", function () {

            $("#divContainer").append($("#click").clone());
        });
    });

【问题讨论】:

标签: javascript jquery html css


【解决方案1】:

试试这个..

#divcontainer
{
max-width: 40%;
max-height: 30%;
overflow:auto;
display:inline-block;
}

【讨论】:

  • “不确定”是一种可怕的方式来开始你的回答。如果您有勇气回答广泛的问题,请包含多个解决方案,以便至少其中一个对 OP 有所帮助。只是一些建议!
【解决方案2】:

由于您使用的是表格,表格元素在不同浏览器中的%值不适合,它们会根据内容调整其宽度/高度。所以最好使用 max-widthmin-width 值(也是以像素为单位),这样跨浏览器就不会为您的设计造成任何混乱-

试试下面的css代码:

#divContainer{
    width:100%;
    min-height:100px;
    height:40%;
    max-height:100px;
    overflow:auto;
    border:1px solid;
    display:inline-block;
}
#click{
    width:100px;
    height:30px;
}
table{
    border:1px solid;
}
body{
    height:1000px;
}

更新小提琴链接- https://jsfiddle.net/cpqz01ct/3/

【讨论】:

  • 在不使用“min-height”的情况下,还有其他方法可以防止这个问题吗?
  • 是的,您可以不使用table,而是在div 元素上使用CSS 属性display:table;display:table-cell,然后可以使用postion:absolute 使% 中的高度起作用因为div 元素不会像table 那样自动调整大小。
  • 对于您的布局的小实验,您还可以查看此链接-css-tricks.com/centering-in-the-unknown
  • 我已经检查了你之前的评论,没有工作。此问题仅在 Firefox 浏览器中出现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-08
  • 1970-01-01
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多