【问题标题】:textarea wrap hard add new line to the wrapped wordtextarea wrap hard 将新行添加到包装的单词
【发布时间】:2018-10-28 22:47:35
【问题描述】:

我有一个脚本,可以在文本区域中打印文件的内容,以便对文件的内容进行更改,然后对其进行更新。

$file_content = file_get_contents($filename);
if (isset($_POST['text']))
    file_put_contents($filename, $_POST['text']);

<textarea name="text" wrap="hard">
    echo htmlspecialchars($file_content, ENT_QUOTES, 'UTF-8');
</textarea>

为了让 textarea 编辑表单“看起来更好看”,我添加了wrap="hard" 属性,这样可以在不水平滚动的情况下查看文件的内容。

这个属性的问题是当它换行时,一行中的句子:使用表格更新文件后,换行在文件内容中也有效,在包裹的句子。

有什么办法可以避免这种情况?

【问题讨论】:

  • 让我们看看你在演示中设置这个问题。我们希望看到一些示例数据以及您希望的输出结果。
  • 嗯,我认为您无法区分用户换行符和自动换行符。我的意思是即使你onsubmit()去掉wrap属性,如果有任何调整,我认为修复数据的意识还不够。
  • 为什么要使用硬包装?当它达到 textarea 的列宽时,它专门为提交的数据添加换行符。你有什么理由不能用wrap="soft" 做到这一点?使文本区域足够大,然后只与希望将数据放在一行中的人一起使用。
  • overflow-x: hidden; 如果您在输出到浏览器期间正在寻找 CSS 方法,则可能会起作用。无论哪种情况,您最好使用 CSS 来处理,而不是弄乱文件。

标签: php html textarea word-wrap


【解决方案1】:

我会推荐style="resize: vertical;,并确保您对colsrows 属性尽可能慷慨。

这将避免生成不需要的换行符并消除水平滚动的可能性。

我在https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_textarea_wrap做了一个快速/肮脏的测试

正如@Funk 所说,overflow-x: hidden 是另一种有效的样式技术。

但是,嘿,textarea 的默认行为是无论如何都会为您包装它。您是否将其他样式应用于您的元素,但您没有告诉我们?文本区域是否被其他元素限制?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多