Возможности Скайпа

Форматирование кода. Выравнивание текста Онлайн сервис форматирования кода с

Любите ли вы свой CSS-код так, как люблю его я? Если да, то, несомненно, стремитесь к тому, чтобы он не только хорошо себя вёл и чувствовал, но и приятно выглядел.
Надеюсь, что инструменты, описанные ниже, помогут вашему коду приблизиться к идеалу.

1. Styleneat

Вероятно, самый простой сервис из представленных в обзоре.
Возможностей у инструмента не так много:
  • Сортировка свойств по алфавиту
  • Сортировка селекторов по алфавиту (если стоит галочка “Safe Organize” (безопасное форматирование) - этот параметр не доступен)
  • Возможность выбрать стиль форматирования: многострочное или в одну строку
  • Умеет вытягивать CSS-файлы, подключенные с помощью import , в основной файл и безжалостно их обрабатывать
  • Можно передать код на обработку с помощью: текстового поля, загрузив файл или указав ссылку на CSS
  • Результат можно забрать в виде CSS-кода или загрузить файл

2. FormatCSS



Не смотря на свой грозный вид, инструмент прекрасно справляется со своими функциями, коих у него предостаточно.
Настроить можно многое:
  • расстановку пробелов/табов/новых строк,
  • сортировку свойств и имён селекторов,
  • преобразование имён свойств и селекторов в нижний регистр и т.п.
Чем мне особо приглянулся данный сервис: умением форматировать “лесенкой” субправила (я считаю это очень удобным способом организации стилей).

3. CleanCSS



Достаточно мощный инструмент, предоставляющий в наше распоряжение множество возможностей:
  • Скормить CSS можно копипастом в поле “CSS-Code” или в виде ссылки на файл стиля
  • Получить результат можно в виде текста или в файл
  • На выбор пользователя предоставлены 4 типа форматирования исходника: код может быть оптимизирован для наименьшего размера или, наоборот, для лучшей читабельности. Есть возможность задать шаблон форматирования в поле “Custom temlate”
  • Умеет объединять правила, приводить запись свойств к короткому виду
  • Если необходимо - удалит комментарии и невалидные определения
  • Как и вышеописанные сервисы, с радостью отсортирует всё, что душе угодно по алфавиту и преобразует в нижний/верхний регистр
Кстати, в основе данного сервиса обнаруживается движок “ ” - опенсурсный CSS-парсер/оптимизатор. Так что, все желающие свободно могут изобразить на его базе свой собственный бьютифер, с блэкджеком и переключателями.
UPD> В комментариях подсказали ссылку на близнеца это сервиса: CodeBeautifier . Набор функций практически идентичен CleanCSS (сервис тоже работает на CSSTidy).

4. ProCSSor



На мой искушенный взгляд - самое удобное из всего представленного в данном обзоре.
Сервис встречает пользователя приятным интерфейсом и очень наглядными всплывающими подсказками, позволяющими очень быстро разобраться с настройками.
Как и любой уважающий себя бьютифер, ProCSSor примет от нас код в поле ввода, в виде файла или ссылки. Отдаст результат в браузер и выведет ссылку на скачивание файла.
Настроек у инструмента вполне достаточно, чтобы угодить практически любому пользователю, перечислять их не имеет особого смысла - лучше сразу попробовать.
Приятной фичей сервиса является возможность сохранить свои настройки , чтобы в следующий раз можно было пропустить этап настроек и сразу перейти к процессу облагораживания.
Ещё одна достопримечательность - ProCSSor предоставляет API , с документацией можно ознакомиться здесь:

HTML Beautifier & Formatter

Load URL Load URL

HTML Formatter

Enter your messy, minified, or obfuscated HTML into the field above to have it cleaned up and made pretty. The editor above also contains helpful line numbers and syntax highlighting. There are many option to tailor the beautifier to your personal formatting tastes.

When do you use HTML Viewer, HTML Formatter, HTML Formatter

Often when writing HTML your indentation, spacing, and other formatting can become a bit disorganized. It is also common for multiple developers to work on a single project who have different formatting techniques. This tool is helpful for making the formatting of a file consistent. It is also common for HTML to be minified or obfuscated. You can use this tool to make that code look pretty and readable so it is easier to edit.

Examples

The minified HTML below:

Becomes this beautified:

Порой наш код не всегда бывает идеален. А так хочется, чтобы он был не только рабочий, но и красиво оформлен и отформатирован. Время - это наш главный враг, оно редко позволяет следить нам за правилами оформления кода. Мы стараемся побыстрее закончить верстку, или описать десяток css-стилей, и делаем это в ущерб читабельности. В этой статье я приведу список сервисов, которые помогут вам отформатировать ваш код так, чтобы на него было приятно смотреть.

Довериться программе или делать все ручками?

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

Давайте же отформатируем ваш код

Меньше слов, больше дела. Как показала практика, форматирование кода онлайн происходит достаточно просто. Вам нужно лишь скопировать ваш "грязный" код и вставить его в специальные текстовые поля на одном из указанных сайтов. Затем нажать кнопку, немного подождать и - вуаля! Вы получаете прекрасный, отформатированный и легко читабельный код.

Вот список всех известных мне "пурификаторов" кода для различных языков.

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

Табл. 1. Способы выравнивания текста
Выравнивание по левому краю Выравнивание по правому краю Выравнивание по центру Выравнивание по ширине
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

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

Для установки выравнивания текста обычно используется тег абзаца

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

с аналогичным атрибутом align , как показано в табл. 2.

Табл. 2. Выравнивание текста с помощью параметра align
Код HTML Описание
Добавляет новый абзац текста, по умолчанию выровненный по левому краю. Перед абзацем и после него автоматически добавляются небольшие вертикальные отступы.

Текст

Выравнивание по центру.

Текст

Выравнивание по левому краю.

Текст

Текст

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

Выравнивание элементов по левому краю задано по умолчанию, поэтому указывать его лишний раз необходимости нет. Так что align="left" можно опустить.

Отличие между абзацем (тег

) и тегом

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

Атрибут align достаточно универсален и может применяться не только к основному тексту, но и к заголовкам вроде

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

Пример 1. Выравнивание текста

Выравнивание текста

Как поймать льва?

Метод перебора

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

Метод дихотомии

Делим пустыню на две половины. В одной части - лев, в другой его нет. Берем ту половину, в которой находится лев, и снова делим ее пополам. Так повторяем до тех пор, пока лев не окажется пойман.

Результат примера показан на рис. 1.

Рис. 1. Выравнивание текста по правому и левому краю

В данном примере выравнивание заголовка происходит по центру окна браузера, выделенного абзаца по правому краю, а основного текста — по левому краю.

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

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

Отступы блоков

Каждый вложенный блок должен иметь больший отступ слева, чем родитель.

То есть мы строим визуальную иерархию тэгов, в которой легко ориентироваться. Сравните с «плоским стилем»:

Современные текстовые редакторы, например Notepad++ автоматически делают такой отступ по Enter"у, что полностью снимает проблему с их ручной расстановкой. Обычно кодеры вначале создают открывающий и закрывающий тэг, а уже после его разбивают по строкам Enter"ом. Это гарантирует, что у открывающего тэга всегда будет закрывающий.

«Смыкающиеся» блоки

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

В данном примере div.layout-center-wrap всегда содержит непосредственного потомка div.layout-wrap без разрыва. Такие блоки можно визуально рассматривать как один. Вот еще один пример, где блоки можно разместить на одном уровне.

Титул

Главное здесь - не переусердствовать: больше 2-3 блоков на одной строке/уровне размещать не стоит. Если же между блоками размещается текст или код, то их точно следует размещать на разных строках.

Текст

Такое форматирование не годится. Правильно будет так:

Текст

Пробел или табулятор

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

Если же делать пробелами, то для каждого отступа нужно нажать 4 пробела. Частая проблема в том, что по ошибке можно нажать не 4, а 3, 5 или еще сколько-нибудь, и при этом нужно либо считать нажатия клавиш, либо визуально контролировать результат.

В этом плане, табулятор гораздо «надежнее». С технической же точки зрения, что табулятор, что пробелы без разницы (html-код всё равно будет сжат).

Использование нескольких пробелов - это иммитация табулятора. Так что этот вопрос лежит в плоскости удобства использования. Но, если вы решили использовать пробелы, то на каждый отступ должно быть 4 символа, иначе текст теряет читабельность. Встречаются руководства, где рекомендуется ставить 2 пробела, но по мне такой код визуально «неряшливо куцый».

Верхний и нижний регистр

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

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

Одинарные и двойные кавычки

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

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

Поэтому правило по кавычкам в HTML и CSS простое: основные кавычки - двойные, а если их не хватает, то используем одинарные.

Необязательные закрывающие теги

Тут просто - всегда ставим. Это касается тэгов P, LI и других.

Слэш в конце одиночных тэгов

Никогда не ставим. Это пережиток старого стандарта XHTML. Так неверно:

Так верно:

Порядок атрибутов в тэгах

Класс (class) всегда указывается первым. Собственно при разборе верстки всегда смотрится тэг и его классы, а уже после остальные атрибуты.

Те атрибуты, которые могут быть одиночными (вроде required) лучше указывать последними:

Пустые классы/атрибуты нужно удалять.

Форматирование CSS-кода

Класс размещается в отдельной строке и открывает блок свойств ({). После двоеточия свойства делается пробел. Каждое свойство размещается на одной строке и всегда завешается точкой с запятой (;).

T-label { color: white; background: blue; font-size: .75rem; padding: 1px 10px; border-radius: 3px; }

Если указываются сразу несколько классов, то их размещают на отдельных строках:

Article, aside, footer, header, nav, section { display: block; }

Если класс короткий и состоит из одного свойства, то его можно разместить на одной строке:

W100-max { max-width: 100%; } .w-hide { display: none; } .w-auto { width: auto; }

У нулей единицы измерения не пишутся (там где это не имеет значения), вместо 0px следует указывать просто 0 .

У дробных чисел с нулем, вместо 0.8em лучше указать.8em . Однако это условие не обязательное и можно использовать любой вариант, главное, чтобы было единообразие хотя бы на уровне одного css-файла.

Если свойство поддерживает сокращённую запись, то ей можно воспользоваться, например вместо margin: 0 20px 0 20px; можно указать margin: 0 20px;

Если значение цвета можно сократить, то это можно сделать, например вместо #FFAA88 указать #FA8 . Здесь важный момент в том, что часто такой цвет не набирается вручную, а копируется из программ «пипеток». Обычно у них используется полная запись из 6 цифр. Кроме того, некоторые программы отдают строчные буквы, а другие прописные: #FFAA88 или #ffaa88 . Поэтому для задания цвета подходит любой вариант. Каждый раз вручную менять регистр букв - глупость.

Буквенные имена цветов следует использовать с осторожностью и лучше только на этапе прототипирования. В результирующем коде их лучше заменить на шестнадцатеричные значения, например вместо color: red; нужно указать color: #F00; . Такой подход позволит изменить цвет прямо в редакторе кода, вроде Notepad++ (он реагирует на символ #).

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

Следует понимать, что форматирование CSS-кода - это чистой воды условность. В реальности такой код будет сжат и минифицирован Sass-компилятором. Если потребуется его отформатировать для просмотра, то никто в здравом уме вручную это делать не будет: есть десятки онлайн-сервисов по красивому форматированию кода с любыми настройками. Поэтому CSS-форматирование требуется только на этапе разработки.