如果<p contenteditable =“”>增长,让<div>增长

时间:2016-05-28 16:19:17

标签: javascript html css contenteditable

当我输入内容时,如何移动段落p下面的所有元素,即contenteditable

这是我的代码:

body,
html {
  margin: 0;
  padding: 0;
  background-color: white;
}
.input {
  border: 1px dotted black;
  width: 30%;
  float: right;
  left: 45%;
  height: 40px;
  position: absolute;
  background-color: #8CE1FF;
  color: #6E6E6E;
  font-size: 16px;
  font-family: 'Arimo';
}
.input:hover {
  border: 1px solid black;
}
#content {
  border: 1px dotted black;
  width: 50%;
  float: right;
  position: absolute;
  background-color: #8CE1FF;
  color: #6E6E6E;
  font-size: 19px;
  font-family: 'Arimo';
  height: 40%;
}
#content:hover {
  border: 1px solid black;
}
.details {
  margin-bottom: 30px;
  z-index: 900;
  font-family: 'Arimo';
  font-size: 17px;
}
section {
  background-color: #53CFFC;
  margin: 20%;
  z-index: 901;
  border: 1px solid black;
}
#button {
  color: #C0C0C0;
  margin-top: 5%;
  background: #168CB7;
  border: 1px solid #0C8FBF;
  height: 40px;
  width: 100%;
  font-family: 'Arimo';
  font-size: 20px;
  position: relative;
}
#title {
  height: 40px;
  text-align: center;
  font-family: 'Arimo';
  font-size: 20px;
  background: #168CB7;
  color: #C0C0C0;
}
#form {
  padding: 4%;
}
<section>
  <div id="title">title</div>
  <div id="form">
    <div class="details">Name <strong>*</strong>:
      <input type="text" class="input" id="name">
      <br>
    </div>
    <div class="details">Mail <strong>*</strong> :
      <input type="text" class="input" id="mail">
      <br>
    </div>
    <div class="details">Website:
      <input type="text" class="input" id="name">
      <br>
    </div>
    <br>
    <div class="details">
      Text:
      <p id="content" contenteditable="true">Click to write your post.</p>
      <br>
    </div>
  </div>
  <button id="button" onclick="">Submit</button>
</section>

这是jsFiddle

3 个答案:

答案 0 :(得分:1)

溢出问题是由于您position: absolute上有float: right#content

这是一个带有备用CSS的工作示例的Codepen:

http://codepen.io/charliebeckstrand/pen/WxNpyQ

答案 1 :(得分:1)

  • word-wrap: break-word添加到#content
  • position:absolute
  • 中将relative更改为#content

&#13;
&#13;
body {
  margin: 0;

}
.input {
  border: 1px dotted black;
  width: 30%;
  float: right;
  left: 45%;
  height: 40px;
  position: absolute;
  background-color: #8CE1FF;
  color: #6E6E6E;
  font-size: 16px;
  font-family: 'Arimo';
}
.input:hover {
  border: 1px solid black;
}
#content {
  border: 1px dotted black;
  width: 100%;
  float: right;
  position: relative;
  background-color: #8CE1FF;
  color: #6E6E6E;
  font-size: 19px;
  font-family: 'Arimo';
  height: 40%;
  word-wrap: break-word
}
#content:hover {
  border: 1px solid black;
}
.details {
  margin-bottom: 30px;
  z-index: 900;
  font-family: 'Arimo';
  font-size: 17px;
}
section {
  background-color: #53CFFC;
  margin: 20%;
  z-index: 901;
  border: 1px solid black;
}
#button {
  color: #C0C0C0;
  margin-top: 5%;
  background: #168CB7;
  border: 1px solid #0C8FBF;
  height: 40px;
  width: 100%;
  font-family: 'Arimo';
  font-size: 20px;
  position: relative;
}
#title {
  height: 40px;
  text-align: center;
  font-family: 'Arimo';
  font-size: 20px;
  background: #168CB7;
  color: #C0C0C0;
}
#form {
  padding: 4%;
}
&#13;
<section>
  <div id="title">title</div>

  <div id="form">

    <div class="details">Name <strong>*</strong>:
      <input type="text" class="input" id="name">
      <br>
    </div>
    <div class="details">Mail <strong>*</strong> :
      <input type="text" class="input" id="mail">
      <br>
    </div>
    <div class="details">Website:
      <input type="text" class="input" id="name">
      <br>
    </div>

    <br>
    <div class="details">Text:
      <p id="content" contenteditable="true">Click to write your post.</p>
      <br>
    </div>

  </div>


  <button id="button" onclick="">Submit</button>
</section>
&#13;
&#13;
&#13;

答案 2 :(得分:-2)

在CSS中更改这些样式,并知道这是否可以解决您的问题

            #content {
                border: 1px dotted black;
                width: 50%;
                float: right;
                position: absolute;
                background-color: #8CE1FF;
                color: #6E6E6E;
                font-size: 19px;
                font-family: 'Arimo';
                height: auto;
                min-height:40%;
            }