При просмотре исходного кода некоторые сайты имеют аккуратную разметку, а некоторые нет. Почему? (фото прилагается)

Уродливая и аккуратная разметка

Обратите внимание на то, как в «уродливой» стороне тип документа имеет полный отступ, а некоторые мета-строки выходят за левый отступ.

Как сделать так, чтобы моя разметка выглядела аккуратно при просмотре исходного кода в браузере? Есть ли способ кодировать код при использовании редактора? Кстати, я использую Notepad ++.


person J82    schedule 21.07.2011    source источник


Ответы (6)


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

person shanethehat    schedule 21.07.2011
comment
Ах, в этом есть смысл. Я только что понял, что части без отступов были записаны на стороне сервера WordPress через хук wp_head. - person J82; 21.07.2011

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

person Paul    schedule 21.07.2011
comment
Не могли бы вы подробнее рассказать о чистом php? Есть ли какие-нибудь утилиты, которые помогут вам сделать вещи красивее? - person mrtsherman; 21.07.2011
comment
Я не уверен, что я использовал в то время, это было частью системы шаблонов для какой-то внештатной работы, которую я когда-то выполнял. В основном шаблоны были сделаны с правильным отступом, и для вывода HTML в часть шаблона я сделал что-то вроде $tpl->output('<div><a>Test</a>'); Затем система шаблонов проанализирует его и поместит каждый открывающий тег на новую строку с отступом еще на один пробел, и закрывающие теги будут совпадать. Также будет выдано предупреждение, если по завершении страницы теги не будут сбалансированы. - person Paul; 21.07.2011

Уродливые, вероятно, выглядят красиво в основном php или другом источнике. После преобразования в HTML он выглядит некрасиво, и очень немногие программисты попытаются сделать его красивым - оно того не стоит.

person Ariel    schedule 21.07.2011
comment
Уродливая слева на самом деле моя. Да, заранее это выглядит красиво, но когда я загружаю его, он выглядит именно так. - person J82; 21.07.2011
comment
Совершенно нормально. Если хотите, вы можете добавить лишние пробелы в сгенерированный HTML, чтобы сделать его красивым. - person Ariel; 21.07.2011

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

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

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

person Brad    schedule 21.07.2011

Я использую Eclipse для кодирования, и я могу использовать Source-> Format, чтобы очистить свой код и красиво его отформатировать.

Я считаю, что для Notepad ++ вы можете использовать HTML tidy согласно: Код форматирования в Notepad ++

TextFX -> HTML Tidy -> Tidy: Reindent XML

person F21    schedule 21.07.2011

Вы действительно хотите, чтобы ваш HTML-код выглядел так: view-source: http://lightningsoul.com/

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

person Lightningsoul    schedule 26.04.2018