html - 行内 block 元素行中的软连字符

标签 html css

当行内 block 元素之间有换行符时,我需要插入连字符。

这是我尝试过的:

span {
  display: inline-block;
}
<div style="width: 200px">
  <span>This is a long se</span>&shy;<span>quence of spans.</span>
  <span>This is a long se</span>&shy;<span>quence of spans.</span>
  <span>This is a long se</span>&shy;<span>quence of spans.</span>
</div>

但是连字符不会显示,至少在 Chrome 中是这样。我需要这样的结果,其中正确显示了它们,但没有跨度。

span {
  display: inline-block;
}
<div style="width: 200px">
  <span>This is a long se</span>-<span>quence of spans.</span>
  <span>This is a long se</span>-<span>quence of spans.</span>
  <span>This is a long se</span>-<span>quence of spans.</span>
</div>

当使用行内 block 添加空格时(参见 Add soft hyphens in a CMS: getting it to work in Chrome)不起作用:

span {
  display: inline-block;
}
<div style="width: 200px">
  <span>This is a long se</span> &shy; <span>quence of spans.</span>
  <span>This is a long se</span> &shy; <span>quence of spans.</span>
  <span>This is a long se</span> &shy; <span>quence of spans.</span>
</div>

有什么想法,不使用 JavaScript?谢谢。

最佳答案

只需在 ­ 实体周围不使用跨度即可:跨度本身就是内联元素,因此它们会打断单词(这就是为什么您看不到连字符的原因),­

span {
  display: inline-block;
}
<div style="width: 140px">
  <span>This is a long se&shy;quence of spans.</span>
  <span>This is a long se&shy;quence of spans.</span>
  <span>This is a long se&shy;quence of spans.</span>
</div>

关于html - 行内 block 元素行中的软连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43208121/

相关文章:

javascript - Internet Explorer 过滤器 &lt;input&gt; 透明

jquery - 动态更改宽度和高度属性

css - 覆盖整个页面的背景图像

html - 如何防止在无序列表之前发生换行?

html - Z-index 按钮不可点击

javascript - 我如何在无序列表中居中绝对列表项?

HTML & CSS : Using CSS to properly align <h1> and <p> tags

html - css float 的意外行为

javascript - 如何使用 JavaScript 删除 HTML 中的子节点?

javascript - 在有源的情况下使用 HTML 脚本标签进行编码