Использование пробелов до и после знака `=` атрибута HTML-элемента - PullRequest
13 голосов
/ 24 августа 2010

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

Ответы [ 5 ]

26 голосов
/ 24 августа 2010

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

Без пробелов:

<link rel="stylesheet" type="text/css" href="/css/screen-iphone.css" title="My Site" media="only screen and (max-device-width: 480px)" />

Пробел:

<link rel = "stylesheet" type = "text/css" href = "/css/screen-iphone.css" title = "My Site" media = "only screen and (max-device-width: 480px)" />
8 голосов
/ 24 августа 2010

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

<link rel="stylesheet" type="text/css" href="overall.css" />

больше похоже на тег с парами имя / значение, а не

<link rel = "stylesheet" type = "text/css" href = "overall.css" />

, который для меня больше похож на цепочку жетонов.

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

6 голосов
/ 24 августа 2010

Я предпочитаю не использовать пробелы до и после, экономит 2 байта на атрибут.Может быстро сложить 500 атрибутов = 1K (где 1K = 1000 байтов, а не 1024!)

4 голосов
/ 01 июля 2017

Чтобы конкретно ответить на ваш вопрос, следуя спецификации HTML5, не существует стандарта о том, что вы не используете пробелы, чтобы окружить знаки равенства при назначении атрибутов.

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

Независимо от того, желательно сделать это или нет по соглашению (вместо стандарта ), остальные ответы уже рассмотрены.

Из спецификации HTML5 :

Синтаксис значения без кавычек
Имя атрибута, за которым следуют ноль или более пробелов, за которым следует один символ U + 003D EQUALS SIGN, за которым следуют ноль или более пробелов, после которых следует значение атрибута, которое, в дополнение к требованиям, приведенным выше для значений атрибута, не должно содержать буквенных пробелов, любых символов U + 0022 QUOTATION MARK ("), символов U + 0027 APOSTROPHE ('), символов U + 003D EQUALS SIGN (=), символов U + 003C LESS-THAN SIGN (<), U + 003E символов GREATER THAN SIGN (>) или U + 0060 GRAVE ACCENT символов (`), и не должно быть пустой строкой.

Если за атрибутом, использующим синтаксис атрибута без кавычек, должен следовать другой атрибут или необязательный символ SOLIDUS U + 002F (/), разрешенный на шаге 6 приведенного выше синтаксиса начального тега, то должен быть пробел, разделяющий символ два.

Синтаксис значения атрибута в одинарных кавычках
Имя атрибута, за которым следуют ноль или более пробелов, за которыми следует один символ U + 003D EQUALS SIGN, за которым следуют ноль или более пробелов, за которым следует один символ U + 0027 APOSTROPHE ('), за которым следует значение атрибута, которые, в дополнение к требованиям, приведенным выше для значений атрибутов, не должны содержать никаких литеральных символов APOSTROPHE U + 0027 ('), и, наконец, за ними следует второй единственный символ APOSTROPHE U + 0027 (').

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

Синтаксис значения атрибута в двойных кавычках
Имя атрибута, за которым следуют ноль или более пробелов, за которыми следует один символ U + 003D EQUALS SIGN, за которым следуют ноль или более пробелов, за которым следует один символ U + 0022 QUOTATION MARK ("), за которым следует значение атрибута , который, в дополнение к приведенным выше требованиям к значениям атрибутов, не должен содержать никаких буквенных символов U + 0022 QUOTATION MARK ("), и, наконец, после него следует второй единственный символ U + 0022 QUOTATION MARK (").

2 голосов
/ 24 августа 2010

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

Я предлагаю вам не добавлять пробелы, но, возможно, использовать редактор с подсветкой кода для HTML (Notepad ++ поможет, но я настоятельно рекомендую вам использовать настоящий редактор, такой как Aptana Studio автономный или плагин для Затмение ).

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