javascript - 将 span 的额外文本换行到下一行

标签 javascript css text word-wrap

我正在尝试使用 overflow-wrap: break-word 将额外的文本换行到下一行但问题是当你点击时,span向下移动到下一行然后额外的文本在下一行中断。

我希望黄色文本“BlaBla:”与文本“sometextssomet...”位于同一行,但是我希望“sometextssomet...”文本具有 overflow-wrap: break-word;应用于 <p> 内部元素。

我做错了什么?

document.addEventListener('mousedown', () => {

  let name = document.createElement("p");
  name.className = 'Name'
  name.innerHTML = 'BlaBla: '
  name.style = `height:40px; color: #f4c41f`

  document.getElementsByClassName('main')[0].appendChild(name)

  let text = document.createElement("span");
  text.innerHTML = `sometextssometextssometextssometextssometexts`
  text.style = `overflow-wrap: break-word; font-size:14px; color: #ffffff; background: none; `

  document.getElementsByClassName('Name')[0].appendChild(text)
})
.main {
  position: relative;
  width: 250px;
  height: 140px;
  overflow-wrap: break-word;
  background-color: gray;
}
<div class="main" id="main0"></div>

最佳答案

如果我理解你的问题,那么这里有一些地方需要改变。首先,<p>默认情况下应用了边距,这会导致您在将其添加到文档时注意到这种垂直“跳跃”。尝试添加以下 CSS 来解决此问题:

p {
    margin-top:0;
}

此外,考虑添加 <span>到创建的<p>对于黄色“blabla”文本和白色文本都允许 break-word CSS 规则通过执行以下操作按要求工作:

document.addEventListener('mousedown', () => {
  
  // Create span for each piece of text with different styling
  let blabla = document.createElement("span"); 
  blabla.innerText = 'BlaBla:' 
  blabla.style = 'color:yellow'

  let text = document.createElement("span");
  text.innerText = `sometextssometextssometextssometextssometexts` 

  // Append both span elements to the paragraph where word spacing should
  // be applied
  let name = document.createElement("p");      
  name.appendChild(blabla);
  name.appendChild(text);
  
  document.querySelector('.main').appendChild(name)
})
.main {
  position: relative;
  width: 250px;
  height: 140px; 
  background-color: gray;
}

p {
  position: relative;
  margin-top:0;
  display:block;
  color:white;
}
 
span {     
  overflow-wrap: break-word;
}
<div class="main" id="main0"></div>

关于javascript - 将 span 的额外文本换行到下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53506809/

相关文章:

javascript - 使用 CSS 或 JS/JQuery 左右滑动两个页面

javascript - 跨页面更改选定的菜单项类

javascript - 定位Div onClick,点击外部时隐藏

python-3.x - 正则表达式用于在 Python 中检测模式并从该模式中删除空格

JavaScript:将参数传递给 onclick 处理程序

javascript - 对隐藏元素感到困惑

javascript - jQuery Flexigrid 隐藏列下拉

javascript - 向下滑动切换功能

CSS 下拉菜单格式问题

search - 在 Notepad++ 中复制搜索命中的所有行