sonyps4.ru

Привести html в нормальный вид. Инструменты для форматирования CSS-кода

Любите ли вы свой 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 , с документацией можно ознакомиться здесь:

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

В CSS для указания типа носителей применяются команды @import и @media , с помощью которых можно определить стиль для элементов в зависимости от того, выводится документ на экран или на принтер.

Ключевые слова @media и @import относятся к эт-правилам. Такое название произошло от наименования символа @ — «эт», с которого и начинаются эти ключевые слова. В рунете для обозначения символа @ применяется устоявшийся термин «собака». Только вот использовать выражение «собачье правило» язык не поворачивается.

При импортировании стиля через команду @import тип носителя указывается после адреса файла. При этом допускается задавать сразу несколько типов, упоминая их через запятую, как показано в примере 4.1.

Пример 4.1. Импорт стилевого файла

HTML5 CSS 2.1 IE Cr Op Sa Fx

Импорт стиля

В данном примере импортируется два файла — main.css предназначен для изменения вида документа при его просмотре на экране монитора, и smart.css — при печати страницы и отображении на смартфоне.

Браузер Internet Explorer до седьмой версии включительно не поддерживает типы носителей при импорте стилевого файла.

Команда @media позволяет указать тип носителя для глобальных или связанных стилей и в общем случае имеет следующий синтаксис.

@media тип носителя 1 { Описание стиля для типа носителя 1 } @media тип носителя 2 { Описание стиля для типа носителя 2 }

После ключевого слова @media идёт один или несколько типов носителя, перечисленных в табл. 4.1, если их больше одного, то они разделяются между собой запятой. После чего следуют обязательные фигурные скобки, внутри которых идёт обычное описание стилевых правил. В примере 4.2 показано, как задать разный стиль для печати и отображения на мониторе.

Пример 4.2. Стили для разных типов носителей

HTML5 CSS 2.1 IE Cr Op Sa Fx

Типы носителей

Как поймать льва в пустыне

Метод случайных чисел

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

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

Просмотреть документ, у которого CSS установлен как тип print можно, если распечатать определенную страницу или воспользовавшись предварительным просмотром в браузере (Файл > Предварительный просмотр ). Или пойти на хитрость и временно заменить print на screen , чтобы отобразить итог в браузере. Именно так был получен рис. 4.2.

Команда @media применяется в основном для формирования одного стилевого файла, который разбит на блоки по типу устройств. Иногда же имеет смысл создать несколько разных CSS-файлов — один для печати, другой для отображения в браузере — и подключать их к документу по мере необходимости. В подобном случае следует воспользоваться тегом с атрибутом media , значением которого выступают все те же типы, перечисленные в табл. 4.1.

Пример 4.3. Подключение стилей для разных носителей

HTML5 CSS 2.1 IE Cr Op Sa Fx

Разные носители

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

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

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

В данном примере ширина для устройств типа handheld ограничена размером 320 пикселов.

Вопросы для проверки

1. Паша решил для своего сайта сделать версию для печати. Какую строку ему следует использовать в коде?

  1. @import "palm.css" print;
  2. @import url("printer.css") printer;
  3. @media "palm.css" print;