web-dev-qa-db-ja.com

HTML要素の新しい行にWordが1つだけぶら下がらないようにするにはどうすればよいですか?

マーケティングコンテンツを含む簡単なウェブページを作成しています。私が好きではないことの1つは、テキストの行が長すぎる場合、次の行、つまりfineに折り返されることですが、多くの場合、1行しかありません。新しいラインの言葉は、デザインの観点からは悪いニュースです。

そのようなものなどは難しい必要はありません。そのようなものやそのような製品はそれを作ります
簡単

ぶら下がっている各行に少なくとも2つの単語を動的に確保するにはどうすればよいですか?

そのようなものなどは難しい必要はありません。そのようなものやそのような製品は
簡単です

22
Joseph Davison

簡単な解決策は、段落の最後の最後の2つの単語の間に改行しないスペースを使用することです。

 

<p>Such and such doesn't have to be difficult. Such and such product makes it&nbsp;easy</p>

コンテンツが多い場合、特にビジネスで管理されている場合、これは退屈な作業になる可能性があります。その場合、ライブラリを見つけるか、すべての段落の最後の2つの単語の間に改行しないスペースを自動的に挿入するソリューションを作成できる場合があります。

これを試してください: https://matthewlein.com/tools/widowfix

27
koga73

EDIT:ベストアンサー の方がずっときれいです-おそらく代わりにそれを使うべきでしょう。答えは機能し、奇妙な場合にいくつかの価値があるので、私は回答を残します(たとえば、スペースの代わりにダッシュを使用している場合、&nbsp;を使用したくない場合など)。


ここにきちんとした小さな解決策があります。次のようなCSSクラスを作成します。

.nobr { white-space:nowrap; }

クラス「nobr」の要素は、空白(スペース、タブなど)を新しい行に折り返すことができません。したがって、テキストの最後の2語をspan.nobrで囲んでください。

<p>Such and such doesn't have to be difficult. Such and such product makes <span class="nobr">it easy</span></p>
10
Hayden Schiff

<nobr>last two words.</nobr> 鬼ごっこ。

これはまた、あなたがしているかもしれないHTMLの繁栄を遮断しないという利点を提供します、例えば:

<b>&ldquo;</b>Here's a big statement I don't want <nobr>cutting off<b>&rdquo;</b>.</nobr>
2
Kevin Sedgley