【发布时间】:2018-05-31 04:39:12
【问题描述】:
我将一个名为 chat-message 的 div 附加到一个名为 card-block 的 div 中,但是我希望它能够包装文本以使其不会超出屏幕。我尝试使用 CSS 属性:
var message = document.createElement('div');
message.setAttribute('class', 'chat-message');
message.innerHTML = "<preBot>" + data[x].name + ": " + data[x].message + '</preBot>';
messages.appendChild(message);
messages.insertBefore(message, messages.nextSibling);
.chat-message {
word-break: break-all;
width: 400px;
}
<div class="container">
<div class="row">
<div class="col-md-6 offset-md-3 col-sm-12">
<h1 class="text-center">
Quick ORDR
<button id="clear" class="btn btn-warning">Clear</button>
</h1>
<div id="status"></div>
<div id="chat">
<input type="text" id="username" name="username" class="form-control" placeholder="Enter name..." style="display:none;" wrap="soft">
<br>
<div class="card">
<div id="messages" class="card-block" style="overflow:auto;">
</div>
</div>
<br>
<textarea id="textarea" name="message" class="form-control" placeholder="Enter message..."></textarea>
<br />
<div class="yes" style="display:none;"><button id="yes" class="btn btn-success" display="none">Correct</button> <button id="no" class="btn btn-danger">Incorrect</button> </div>
</div>
</div>
</div>
</div>
prebot 标签仅用于 textcolor 和 justification 并确保有分页符。当我运行代码时,我输入的文本表现正常,只是一直向右移动。
【问题讨论】:
-
什么是消息?
-
无论如何,如果你想让你的文本换行到下一行,你只需要一个固定宽度的元素 { white-space: normal; }
-
是否被解释为 元素?这会导致你所描述的。
-
没有看到工作示例很难确定,但这听起来像是设置宽度的简单案例。如果 div 跑出屏幕,那么它的文本内容也会如此
-
messages 是我发送所有我创建的名为聊天消息的 div 的 div
标签: javascript html css