为了账号安全,请及时绑定邮箱和手机立即绑定

当 Javascript 更新 <p> 标签时,CSS 不会断线

当 Javascript 更新 <p> 标签时,CSS 不会断线

慕仙森 2021-12-23 19:07:21
我正在对您可以在我的网站上发布的帖子进行“实时预览”,当您在内容部分中输入内容时,预览不会中断,它只会继续下去。您可以测试的实时版本:https : //sponge.rip/post<script type="text/javascript">    function update_preview() {        document.getElementById('preview_title').innerHTML = document.getElementById('title').value;    }    function update_content() {        document.getElementById("preview_content").innerHTML = document.getElementsByTagName("textarea")[0].value;    }    function preview() {        if (document.getElementById("preview").checked == true) {            var row = document.querySelectorAll('#row');        } else {        }    }</script><div class="col-md-6">    <div class="post-holder">        <div class="post-item">            <div class="post-header">                <div class="title">                    <h2 id="preview_title">title</h2>                    <span class="author"><a href="/Tobias">Tobias</a></span>                    <?php                        $date = date("y-m-d");                        echo "<time>$date</time>";                    ?>                </div>            </div>            <div class="post-body">                <p id="preview_content">content</p>            </div>        </div>    </div></div>.main {    margin-top: 20px;    padding-bottom: 90px;}.post-holder {    margin-bottom: 15px;}.post-item {    background-color: #ffffff;    border-radius: 5px;    padding: 12px 12px 0;    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);}.post-item .post-header {    display: flex;    flex-wrap: wrap;    padding-bottom: 11px;    margin-bottom: 11px;    border-bottom: 1px solid rgba(160, 160, 160, 0.15);}.post-item .post-header span {    font-size: 12px;    font-weight: 600;    line-height: 1;    margin-left: 2px;}.post-item .post-header .title {    width: 90%;    padding-top: 2px;}结果应该看起来像主页:https : //sponge.rip/ 你可以看到一些帖子,文本没有溢出 div
查看完整描述

3 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

您需要一个富文本编辑器来添加换行符。基本的 textarea 不添加 html 标签。查看类似tinymcesummernote或互联网上可用的其他数百种文本编辑器中的任何一种


查看完整回答
反对 回复 2021-12-23
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

您始终可以将换行符转换为 html <br />。像这样的东西:

document.getElementById("preview_content").innerHTML = document.getElementsByTagName("textarea")[0].value.replace(/\r?\n/g, '<br />');



查看完整回答
反对 回复 2021-12-23
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

断字工作正常。你可以试试看。

<p style="word-break: break-all;"></p>

https://jsfiddle.net/dm6u4qra/


查看完整回答
反对 回复 2021-12-23
  • 3 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信