Как вы обрабатываете пустое пространство в вашем HTML [закрыто]

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

<span>Following punctuation rules.  With two spaces after the period.  </span>

Один из двух пробелов, следующих за периодом, будет считаться незначительным пробелом и будет удален. Конечно, я могу заставить пробел быть значительным с:

<span>Following punctuation rules.&nbsp; With two spaces after the period.  </span>

но это просто раздражает меня, и я обычно не беспокоюсь. Кто-нибудь там автоматически вставляет значительные пробелы во внешние материалы, предназначенные для веб-страницы?

19.08.2008 15:27:31
Я не вижу никакой разницы между этими двумя примерами. Я слепой или упускаю суть?
zenna 4.09.2009 12:39:49
8 ОТВЕТОВ
РЕШЕНИЕ

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

Если вы хотите разрывы строк, <br/> не имеет большого значения, не так ли?


Не уверен, что здесь стоит сделать downmod ... Вы не должны форсировать два пробела через точку, если вы не используете моноширинный шрифт. Для пропорциональных шрифтов отправитель берет нужное количество места после точки. Смотрите здесь и здесь для подробных обсуждений.

6
19.08.2008 19:19:10

Вы можете использовать стилизованный предварительный блок для сохранения пробелов. Большинство редакторов WYSIWYG также вставляют & nbsp; для вас...

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

1
19.08.2008 15:31:59

Если вы действительно хотите сохранить пустое пространство, попробуйте свойство css: white-space: pre;

Или вы можете просто использовать тег <pre> в вашей разметке.

Кстати, хорошо, что HTML-браузеры вообще игнорируют пробелы, это позволяет нам иметь четко отформатированный исходный код, не влияя на вывод.

7
19.08.2008 15:33:49

Это может быть не очень элегантно, но я применяю CSS к тегу <pre>.

Атрибут CSS «пробел» всегда есть, но его можно немного пропустить.

2
19.08.2008 15:36:44

Взгляните на предварительный тег . Это может делать то, что вы хотите.

1
19.08.2008 15:39:58

Лучше использовать пробел: предварительная переноска, чем пробел: pre или & nbsp; В вашем примере последние решения могут начать новую строку в "правилах. & Nbsp;" просто потому , что ваш п трехпозиционный б reakable зр туз попал в конец строки.

0
19.08.2008 15:43:17

Тег PRE может быть правильным решением, в зависимости от ваших потребностей. Однако, если вы пытаетесь использовать правило 2 пробелов в предложениях по всему сайту, вы скоро обнаружите, что другие символы, которые сохраняет тег PRE, - это перевод строки / возврат каретки (или отсутствие), которые испортят любой стиль, который вы пытаетесь сделать.

В общем, я склонен игнорировать правило «2 пробела после предложения», или, если вы придерживаетесь его, я бы придерживался правила & nbsp;, но иногда вы сталкиваетесь с проблемой, изложенной Николасом.

0
19.08.2008 16:25:02

На webtypography.net есть страница, посвященная этой теме . На этом сайте есть много других интересных вещей о создании текста для Интернета с точки зрения типографики, о которых дизайнеры веб-страниц часто даже не задумываются. Это стоит прочитать.

0
19.08.2008 19:27:42