Интервал предложения [закрывается]

11
задан 18 February 2010 в 16:54
поделиться

4 ответа

Заверните каждое предложение в пролет, и, возможно, стиль пролета. (Не лучшее решение).

3
ответ дан 3 December 2019 в 03:52
поделиться

Просто хотел выкинуть из головы, что если ваша цель - переопределить стандартную реализацию пробельных символов браузера для обеспечения "правильного" интервала между предложениями, то на самом деле обсуждается , что такое правильный интервал между предложениями. Похоже, что "стандарт" двойного пробела - это, скорее всего, просто переход от того, когда печатные машинки использовали монопространственные шрифты. Денежная цитата:

итог: Профессиональный наборщики, дизайнеры и настольные компьютеры издатели должны использовать только одно место. Сохраните двойное пространство для машинопись, электронная почта, курсовые (если предписанное руководством по стилю, которым вы являетесь используя), или личную переписку. Для всех остальных, делайте что угодно ты чувствуешь себя хорошо.

Если у тебя нет этого как строгого требования, не похоже, что это стоит усилий, чтобы попытаться "исправить". (Я понимаю, что это не ответ на ваш вопрос как таковой, но хотел убедиться, что вы знаете эту информацию, так как она может повлиять на ваше решение потратить на нее много времени)

.
3
ответ дан 3 December 2019 в 03:52
поделиться

Можно использовать white-space: pre-wrap для сохранения последовательностей пробелов, в то время как обертывание текста:

<p style="white-space: pre-wrap;">Lorem ipsum.  Dolor sit amet.</p>

Это не поддерживается в IE до IE 8 в режиме IE 8, и в Firefox до 3. 0.

Можно также использовать или для пробелов шириной один em или один en. Я не знаю, насколько распространена их поддержка, но они, кажется, работают на последних WebKit и Firefox на Mac OS X.

Последовательность из двух   символов предотвратит разрыв строки в этом пространстве; вот что означает  , неразрывное пространство. Последовательность A предложения.  Другое. приводит к появлению   во второй строке, слегка отступая от текста, что, вероятно, является нежелательным. Последовательность A sentence.  Другое. работает нормально, с разрывом строки и без добавления дополнительного отступа, хотя если вы используете его в обоснованном тексте, с   в конце строки, это не позволит правильно обосновать эту строку.   предназначено для случая написания чьего-либо имени, например Mr. Torvalds, или аббревиатуры, заканчивающейся на . , в которой типографская конвенция гласит, что не следует делить его на линии, чтобы люди не запутались и не подумали, что предложение закончилось.

Поэтому использование последовательностей   нежелательно. Так как это стилистический эффект, я бы порекомендовал использовать white-space: pre-wrap, и принять, что стиль будет немного менее чем идеален на платформах, которые его не поддерживают.

edit: Как указано в комментариях, white-space: pre-wrap не работает с выравниванием текста : оправдывает. Однако, я протестировал образец различных сущностей, используя BrowserShots (неприятная реклама, и несколько хлопотная и медленная, но это довольно полезная услуга по цене, которая является бесплатной). Похоже, что в довольно большом количестве браузеров, на довольно большом количестве платформ, поддерживаются и , некоторые из них до сих пор не используют пробелы, поэтому рендеринг не так уж и плох, и только IE 6 на Windows 2000 фактически делает их сломанными, как коробки. BrowserShots не позволяет мне выбрать точные комбо браузера/OS, так что я не могу выбрать IE 6 на XP, чтобы посмотреть, не изменилось ли это. Таким образом, это правдоподобный ответ, пока вы можете жить с IE 6 на Win2K (и, возможно, XP) сломан.

Другим возможным решением было бы найти (или создать) шрифт, который имеет пару кернингов для "..." комбинации символов, чтобы ядро их более широко разделять. С поддержкой @font-face во всех основных браузерах на данный момент, включая IE обратно в IE 5.5 (хотя IE использует другой формат, чем другие браузеры), использование собственного шрифта на самом деле становится разумным, и возврат к пользовательскому шрифту по умолчанию, если он не поддерживается, ничего не сломает.

Последняя возможность может заключаться в том, чтобы уговорить комитет CSS добавить функцию стиля, которая позволит вам указать, что вы хотите более широкий интервал в конце предложений (который будет определяться периодом с последующим пробелом; аббревиатуры и сокращения будут нуждаться в   , чтобы избежать получения более широкого интервала). В настоящее время комитет CSS обсуждает добавление более продвинутой типографской поддержки, поэтому сейчас, возможно, самое время начать обсуждение такой возможности.

.
13
ответ дан 3 December 2019 в 03:52
поделиться

  не тот символ, который нужно использовать, семантически говоря. Это неразрывное пространство: пространство, которое не будет использоваться в качестве разрыва строки. Возможно, использовать пробел в или одинарный , или (моя личная рекомендация) не беспокоиться о старом стиле двойного пробела на вашей странице.

.
2
ответ дан 3 December 2019 в 03:52
поделиться