【问题标题】:Put text below span将文本放在跨度下方
【发布时间】:2018-04-18 18:01:33
【问题描述】:

我想解析文本区域中的输入文本并更新输入文本,以便某些特殊单词将用红色或绿色下划线,并且错误/绿色单词将显示在下划线下方。

我已更新动态文本,但无法将成功/错误文本置于下划线下方。

请在文本区域输入“Lorum Ipsun Lorum Ipsum aaa Lorum Ipsun bbb Lorum Ipsun”,这样在点击按钮 aaa 和 bbb 后,单词会被 span 替换,但无法将文本置于下划线下方。

提前致谢。

【问题讨论】:

标签: javascript jquery css


【解决方案1】:

您可以使用伪元素来执行此操作。虽然这在<textarea> 中不起作用。您可以尝试使用<div>contenteditable attribute

.error,
.success {
  text-decoration: underline;
  position: relative;
}

.error::after,
.success::after {
  position: absolute;
  top: 100%;
  left: 50%;  
  transform: translateX( -50% );
}

.error {
  color: red;
}

.error::after {
  content: 'error';
}

.success {
  color: green;
}

.success::after {
  content: 'success';
}
<p>
  Lorem ipsum <span class="error">aaa</span> dolor.
  Lorem ipsum <span class="success">bbb</span> dolor.
<p>

【讨论】:

  • :感谢您的及时回复。这几乎解决了我的问题。现在只有当文本很大并且输出为 2-3 行时才会出现问题,因此错误和成功将被下一行覆盖。更新了小提琴 - jsfiddle.net/o2gxgz9r/46008。你能帮忙吗?线之间需要足够的间隙。我无法使用行高
猜你喜欢
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-08
相关资源
最近更新 更多