2010-06-08 3 views

ответ

8

Да, например: практически в любое время данные являются встроенными.

Сравнить:

<p>H<b>e</b>llo, world</p> 

и

<p>H <b>e</b> llo, world</p> 
+0

так мы должны всегда удалить пробелы в источнике? –

+8

№ 'Hello У мира есть пробелы, которые вы хотите сохранить.Пробелы значительны и не могут быть произвольно добавлены или удалены. – Quentin

+0

Вы упомянули, где «данные встроены», но что будет «данными является блоком»? – barlop

2

Сравните эти две строки в браузере:

<img src="..." /> <img src="..." /> 
<img src="..." /><img src="..." /> 

Вы увидите, что есть пространство между изображениями в первой строке, а не пара в секунду.

1

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

1

ie6 используется для создания пробелов между некоторыми тегами при визуализации. Это также имеет значение, когда Office 2009 отображает html-письма с использованием слова. Если у вас есть пространства строк, это может привести к пробелам в 2px.

+0

+1 Может ли вы дать какой-нибудь пример IE6? –

+0

С другого форума, Вы разрешаете IE6 вводить пробел. IE видит пространство внутри пустого div и применяет к нему высоту линии. Затем div будет расширен в IE6 (и старше), чтобы разместить это пространство. У вас есть пробел. Простое решение - убедиться, что IE6 понимает, что пустой div действительно _is_ пуст, помещая комментарий внутри него и удостоверяясь, что есть нет разрыва строки. Изменение этого ...

... и не будет больше разрыв. –

5

Пробел имеет значение, но все пробелы рассматриваются как одно пространство. Например,

<span>hello</span> <span>there</span> 

Будет оказана браузером точно так же, как

<span>hello</span>   <span>there</span> 

Если только <pre> тег не используется.

+3

или стиль whitespace: pre css используется: http://www.quirksmode.org/css/whitespace.html, например, вы не можете знать, важны ли пробелы, не зная, что используется css. – Douglas

+1

Или если пробел имеет неразрывную разновидность. –

0

Как указано Дугласом и Дэвидом Дорвардом, пробел имеет значение.

Однако в блоках HTML (т. Е. Не в JavaScript или других встроенных типах контента) все последовательные пробелы эквивалентны одному пробелу. То есть, hello <b>world</b> эквивалентно

hello 
      <b>world</b> 

Исключение из этого правила, в пределах <pre>..</pre> блоков, которые являются чувствительным белым пространством в спецификации.

+0

'' все последовательные пробелы эквивалентны одному пробелу "' Это неправда! См., Например, неразрывные пробелы. –

+0

@BrockAdams, хотя в HTML-коде вы не можете поставить в буквальном неразрывном пространстве, вы должны использовать код. Итак, если вы говорите о пробеле в самом HTML-коде, сам нерасширяющийся символ пространства isn Там нет. Сравните с Ms Word, где вы действительно можете вводить неразрывные пробелы. Они выглядят как пробелы, но они никогда не создают новую строку. Ms Word имеет полную и правильную поддержку пространства и неразрывного пространства! Также, когда люди говорят о пространстве, они означают char 32 not char 160, и если они означают char 160, они скажут, что это не разрыв. – barlop

0

Это зависит от модели содержимого элемента, содержащего пробелы. Если модель является текстовой, в том числе, когда она является смешанными элементами и текстом, тогда пробелы имеют значение (хотя несколько простых пробелов обычно сворачиваются в одно и ведущее/конечное пространство, полностью удаленное, за исключением внутри <pre>). Если модель допускает только контент элемента, то пробелы вообще не имеют значения; например, пробелы между <ul> и его <li> с должны быть совершенно неважными.

2

Текстовые области также затронуты с пробелами между открывающим и закрывающим тегами, как предполагается, что любой контент между этими двумя его содержание, что он должен показать ....