html - CSS:通过文本区域的动态高度

标签 html css modal-dialog textarea containers

如何在拖动/调整文本区域大小时使模态容器适应大小?顺便说一句,这是模态。目前,当我调整文本区域大小时,它会从容器中溢出。

下面是我的 CSS 和 HTML:

.dialog-box {
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left:0;
    z-index: 1000;
}
.dimmer {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    top:0;
    left:0;
    z-index: -1;
}
.container{
    background-color: #fff;
    width: 600px;
    height: 460px;
    position: absolute;
    border-radius: 5px;
    top:0;
    right:0;
    bottom:0;
    left:0;
    margin: auto;
    border: 1px solid #ebebeb;
    padding: 20px;
    align-items: center;
    z-index: 1;
}
<div  class="dialog-box" *ngIf="showDialogBox">
  <div class="dimmer" (click)="hide()"></div>
  <div class="container" >
    <h3>
        <ng-content></ng-content>
    </h3>
    <form class="ui form" [formGroup]="dialogForm" novalidate>
        <div class="field required">
            <label>Name</label>
            <input type="text" class="name" formControlName="name" placeholder="Enter Name..." maxlength="100" required/>
        </div>
        <div class="field">
            <label>Remarks</label>
            <textarea class="remark" formControlName="remark" placeholder="Enter Remarks..." maxlength="1000"></textarea>
        </div>
    </form>
    <ng-content select="[action]"></ng-content>
  </div>
</div>

最佳答案

看看你是否想要这样的东西......

.dialog-box {
  
  width: 100%;
  height: 100%; 
  /* become a flex-container */
  display: flex;
  /* center flex-items vertically */ 
  align-items: center;
  /* center flex-items horizontally */
  justify-content: center;
}

.dimmer {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  left: 0;
  z-index: -1;
}

.container {
  background-color: #fff;
  /* take size of content */
  display: inline-block;
  /* setting minimum size */
  min-width: 600px;
  max-width: calc(100% - 30px);
  min-height: 400px;
  max-height: calc(100% -30px);
  border-radius: 5px;
  border: 1px solid #ebebeb;
  padding: 20px;
  z-index: 1;
  margin: 30px;
}
.remark{
  max-height:70vh;
  max-width:60vw;
}
<div class="dialog-box" *ngIf="showDialogBox">
  <div class="dimmer" (click)="hide()"></div>
  <div class="container">
    <h3>
        <ng-content></ng-content>
    </h3>
    <form class="ui form" [formGroup]="dialogForm" novalidate>
      <div class="field required">
        <label>Name</label>
        <input type="text" class="name" formControlName="name" placeholder="Enter Name..." maxlength="100" required/>
      </div>
      <div class="field">
        <label>Remarks</label>
        <textarea class="remark" formControlName="remark" placeholder="Enter Remarks..." maxlength="1000"></textarea>
      </div>
    </form>
    <ng-content select="[action]"></ng-content>
  </div>
</div>

关于html - CSS:通过文本区域的动态高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45156977/

相关文章:

css - Gatsby .js CSS : custom properties

android - 什么是modal selection选择模式?

javascript - 你如何将文本字段从模态传递到父级?

ios - 如何在 swift 中将 popoverview 居中

javascript - 如何更改多个具有相同名称的类的每个值

javascript - 验证 html-javascript

html - JSON 中的 CSS 标签

html - 带有背景图像但没有内容的跨度

html - 属性文件中的样式文本

html - 使用 html5 和 css3 的可扩展菜单