CSS-фреймворк — фреймворк, созданный для упрощения работы верстальщика, быстроты разработки и исключения максимально возможного числа ошибок вёрстки (проблемы совместимости различных версий браузеров и т. д.). Как и библиотеки скриптовых языков программирования, CSS-библиотеки, обычно имеющие вид внешнего css-файла, «подключаются» к проекту (добавляются в заголовок веб-страницы). Более функциональные фреймворки также имеют больше функций и дополнительных функций на основе JavaScript, но в основном ориентированы на дизайн и ориентированы на интерактивные шаблоны пользовательского интерфейса. Эта деталь отличает фреймворки CSS от других фреймворков JavaScript.
Преимущества
- Позволяет неискушенному в тонкостях вёрстки программисту или дизайнеру правильно создать HTML-макет.
- Вёрстка на базе слоёв, а не таблиц.
- Более быстрая разработка.
- Кроссбраузерность.
- Возможность использования генераторов кода[1] и визуальных редакторов.
- Единообразие кода при работе в команде позволяет снизить число разногласий при разработке.
Недостатки
- Библиотеки бывают сильно «раздуты» — может быть много лишнего кода, который не будет использоваться в проекте.
- Дизайн будет зависеть от css-библиотеки.
- Из-за необходимости добавления множества классов к одному элементу нарушается принцип, ради которого и был создан CSS: разделение описаний структуры и внешнего вида.
Отличия
- Некоторые библиотеки[2] используют сброс стилей (reset.css) для приведения в соответствие стилей по умолчанию для разных браузеров, в то время как другие[3] используют нормализацию (Normalize.css), что уменьшает количество изначального кода библиотеки.
Типы CSS-библиотек
Из-за упомянутых недостатков использование CSS-библиотек вызывает споры в профессиональном сообществе. Также это привело к появлению различных типов CSS-библиотек. Условно можно выделить два типа: Всеобъемлющие и Ограниченные.
Третьим вариантом может быть разработка собственной библиотеки[4]. Этот вариант предпочитает большинство разработчиков, так как это дает выгоды персонального решения и уменьшает негативные моменты зависимости от использования сторонних библиотек.
Всеобъемлющие CSS-библиотеки
Этот тип библиотеки пытается охватить большинство вещей, которые могут понадобиться разработчику. К этому типу относятся библиотеки, которые включают CSS для вёрстки и сброса (или какую-то основу).
Ограниченные CSS-библиотеки
Как следует из названия, библиотеки этого типа охватывают лишь ограниченный объём потребностей или имеют конкретную цель.
Примеры CSS-библиотек
Всеобъемлющие
Ограниченные
Примечания
Ссылки