Пробелы перед некоторыми знаками препинания на французском языке: есть ли способ CSS, чтобы избежать разрывов строк? - PullRequest
0 голосов
/ 19 декабря 2018

Например, в этом предложении «Comment allez-vous?» Знак вопроса и последнее слово в предложении разделяются пробелом.

Когда текст на французском языке пишется в столбце, вычасто получится что-то вроде этого:

Elle zigzague pour empiéter sur des imposures
?Жаклин Порт Шанс.

Разрыв строки происходит между последним словом предложения и знаком вопроса, что нежелательно.

Elle zigzague pour empiéter sur des *
импосты?Жаклин Порт Шанс.

Есть ли способ решить эту проблему в чистом CSS?Или мы должны вручную обработать текст и обернуть пунктуацию и слово в непрерывный интервал?

1 Ответ

0 голосов
/ 24 декабря 2018

Используйте   в HTML или white-space: nowrap; в CSS.

.sentence {
  width: 314px;
  border: 1px solid #eee;
}

.nowrap {
  white-space: nowrap;
}

.sentence > span {
  border-bottom: 1px solid darkred;
}

code {
  background-color: #ddd;
  padding: 0.2em;
}
<main>

<h3>Regular space</h3>
<p class="sentence">Elle zigzague pour empiéter sur des <span>impostures ?</span> Jacqueline porte chance.</p>

<h3>Avoid new line with non-breaking space HTML entity <code>&amp;nbsp;</code></h3>
<p class="sentence">Elle zigzague pour empiéter sur des <span>impostures&nbsp;?</span> Jacqueline porte chance.</p>

<h3>Avoid new line with CSS <code>white-space: nowrap</code></h3>
<p class="sentence">Elle zigzague pour empiéter sur des <span class="nowrap">impostures ?</span> Jacqueline porte chance.</p>

</main>
...