如何使div仅从下往下扩展

时间:2016-02-05 19:34:35

标签: javascript html css css3 css-float

我在下面的模式中有一个div。我遇到的问题是当我点击Add Row时,这会创建另一个带有行的div并展开顶部和底部。然后,在添加几行后,div会离开屏幕。请看截图。 注意:query-row元素是一个angular指令,因此您没有看到该模板的原因(包括实际字段和添加行按钮)。但在这种情况下,这无关紧要。

HTML

<div class="ng-modal ng-cloak" ng-show="true">
    <div class="ng-modal-overlay">
        <div class="ng-modal-close">
            <div class="ng-modal-close-x">CLOSE</div>
        </div>
        <div class="ng-modal-dialog">
            <div class="ng-modal-dialog-content">
                <div class="document-content-wrapper">
                    <div class="document-content">
                        <div ng-repeat="row in rows">
                            <query-row rows="rows" remove-row="removeRow(row)" add-row="addRow()"></query-row>
                        </div>
                        <div class="row">
                            <button ng-click="submit()" class="btn btn-primary">Submit</button>
                            <button ng-click="cancel()" class="btn btn-info">Cancel</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

CSS

.ng-modal {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ng-modal-overlay {
    position: absolute;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #282828;
    opacity: 0.9;
}
.ng-modal-dialog {
    z-index: 10000;
    position: absolute;
    top: 164px;
    left: 53%;
    width: 800px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    padding: 10px;
    background-color:#FFF;

}
.ng-modal-dialog-content {
    overflow: hidden;
    height: 100%;
}

.ng-modal-dialog-input {
    margin: 0px;
    padding: 5px;
    font-size: 36px;
    width: 100%;
    border: none;
    background-color: #fff;
    outline: 0;
    color: #000;
    font-weight:700;

}

.ng-modal-close {
    position: absolute;
    top: 15px;
    right: 28px;

}
.ng-modal-close-x {
    font-family: Arial, sans-serif;
    display: inline-block;
    cursor: pointer;
    float: right;
    font-size: 18px;
    color: #fff;
}
.ng-modal-title {
    font-weight: bold;
    font-size: 200%;
    display: block;
    margin-bottom: 10px;
    padding-bottom: 7px;
    border-bottom: solid 1px #999;
}

Plunker示例:http://plnkr.co/edit/RFNsrC

第一个截图只有一行。 Screenshot 1 第二个屏幕截图是添加了3行,您可以看到模式如何从屏幕顶部消失。我希望它保持固定在最顶层,并且只向底部Screenshot 2

增长

1 个答案:

答案 0 :(得分:0)

这是一个codepen,问题是你在尝试创建新行,它在上面而不是下面,尝试放入一个表。 http://codepen.io/calendee/pen/buCHf

  <a href="#" class="button" ng-click="addRow()">Add Row {{counter}}</a>

<table>
  <thead>
    <tr>
  <th width="200">Some Header</th>
</tr>
 </thead>
  <tbody>
   <tr ng-repeat="rowContent in rows">
      <td>{{rowContent}}</td>
     </tr>
    </tbody>
    </table>    

并设置.ng-modal对话框的css如下:

height:900px;
overflow-x: auto;

如果有效,请告诉我:)