javascript - 突出显示跨度的换行问题

标签 javascript html css

我有这个突出显示的范围,您可以在其中键入文本

jsfiddle

您可以单击白色区域并开始输入。现在,当您键入并到达时,我希望它换行。

HTML 不是很特别:

<div>
  Complete the story:<br>
  Once upon a time there was <span></span>. And they all die :)
</div>

<input>

为了使输入成为可能,我使用了一个隐藏的(在演示中没有隐藏)输入字段。无论如何,现在当您开始输入并到达该行的末尾时,它应该按如下方式换行:

enter image description here

我已经尝试过像 word-wrap:break-word; 这样的东西,但效果不是很好。这样的事情甚至可能吗?

最佳答案

您不能在 input 中换行文本。您可以改用 textarea。您必须调整 CSS 以随着文本跨越多行而增大跨度大小,方法是将 height 更改为 min-height:

   min-height: 20px;

请参阅工作版本的 fiddle :https://jsfiddle.net/3L4bazg6/7/

我还删除了您的跨度规则中的一些样式,以获得您正在寻找的环绕效果。

enter image description here

这是另一个完全隐藏文本区域的 fiddle :https://jsfiddle.net/3L4bazg6/10/

而且,这里有一个 fiddle ,完全取消了 textarea 和 JavaScript,只使用 contenteditable:"https://jsfiddle.net/3L4bazg6/17/

关于javascript - 突出显示跨度的换行问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35903406/

相关文章:

javascript - 如何制作全屏图片的着陆页?

javascript - AngularJS 在文本区域中渲染 HTML

javascript - 这个内存泄露是怎么造成的?

javascript - 如何使用 javascript 和 asp.net 获取 gridview 中选中的行单元格值

需要 JavaScript 来填充内容和页脚之间的剩余高度空间

javascript - 使用 javascript 单击嵌入的 youtube 视频

jQuery Mobile ListView : Change a Value When Clicked

html - 为什么我的标志在所有浏览器中都可见,但在他们的打印 View 中不可见

javascript - 其他浏览器中类似 WebKit 的磨砂玻璃

php - 带有滚动条的动画文本