是否可以使用 CSS 将句子分隔为每行一个单词?
输入:
<div>Hello world foo bar</div>
渲染输出:
Hello
world
foo
bar
例如1px
,不希望将宽度设置为。
是否可以使用 CSS 将句子分隔为每行一个单词?
输入:
<div>Hello world foo bar</div>
渲染输出:
Hello
world
foo
bar
例如1px
,不希望将宽度设置为。
你必须使用display:table-caption;
来实现这一点。
这是解决方案。
的HTML:
<div>Hello world foo bar</div>
CSS:
div{display:table-caption;}
希望这可以帮助。
内森使用的答案table-caption
几乎是正确的,但错过了一个关键问题,即句子实际上只被最长的单词分割,导致较短的单词分组。
例如下面的句子:
这个技巧根据最长的单词对句子中的单词进行分组和拆分。
实际上导致以下输出。in a
注意输出上和输出中的分组on the
。
This
trick
groups
and
splits
words
in a
sentence
based
on the
longest
word.
word-spacing
实际上,您可以通过设置which has很好的支持很容易地做到这一点。
使用它,您可以正确输出句子,如下所示:
This
trick
groups
and
splits
words
in
a
sentence
based
on
the
longest
word.
这是您可以运行的工作代码示例。
片段
p {
word-spacing: 9999rem;
}
p ~ p {
/* Undo last assignment */
word-spacing: unset;
display: table-caption;
}
<h3>word-spacing</h3>
<p>
This trick splits each word in a sentence
</p>
<hr/>
<h3>table-caption</h3>
<p>
This trick groups and splits words in a sentence based on the longest word.
</p>