Имеет ли когда-либо значение пробел между HTML-элементами? - PullRequest
8 голосов
/ 08 июня 2010

Имеет ли значение когда-либо пробел между HTML-элементами в источнике? когда мы даем стиль через CSS? и нужна кросс-браузерная совместимость

Для любого браузера?

Ответы [ 8 ]

8 голосов
/ 08 июня 2010

Да, например: почти всегда, когда данные встроены.

Сравнить:

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

и

<p>H <b>e</b> llo, world</p>
5 голосов
/ 08 июня 2010

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

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

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

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

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

2 голосов
/ 08 июня 2010

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

2 голосов
/ 08 июня 2010

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

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

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

1 голос
/ 08 июня 2010

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

1 голос
/ 08 июня 2010

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

0 голосов
/ 08 июня 2010

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

0 голосов
/ 08 июня 2010

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

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

hello   
            <b>world</b>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...