Что-то давно я ничего не писал о CSS, а ведь использовать эту технологию приходится практически постоянно. Кроме того, последнее время я начинаю замечать, что все чаще использую CSS фреймворки. Поэтому сегодня речь пойдет именно о них. А точнее, об одном из них, под названием 960 Grid System. Почему именно о нем? Тут все очень просто. Я более-менее плотно работал с двумя фреймворками: Blueprint и 960 grid. При этом, на мой взгляд, разработчикам 960 grid system удалось добиться очень хорошего отношения возможности/размер фреймворка. Рассмотрим его подробнее. Начнем с недостатков. Если вы хоть немного интересовались темой, то, конечно, знаете, что есть много возражений против применении CSS фреймворков как таковых. Основные возражения такие.
1) Фреймворки увеличивают размер страницы. 2) Загоняют разработчика в определенные рамки. Например, 960 grid предназначен для верстки страниц с шириной 960рх. 3) Многим не нравятся имена классов вроде «grid-16». 4) Кто-то считает, что нужно самому создавать фреймворк «под себя». Но давайте посмотрим насколько существенны эти недостатки. 1) Объем файлов действительно увеличивается. Но 960 Grid System состоит из трех файлов, суммарный размер которых – 8 кБ (сжатая версия). Если использовать архивацию размер уменьшается до 1,6кБ. Вы, конечно, сможете обойтись меньшим количеством кода для конкретной страницы, но разница вряд ли будет больше 1 кБ, т. е. если на вашей страничке есть хотя бы парочка картинок, выигрыш в общем объеме окажется менее 1%. 2) По поводу ограничений. Фреймворк, как и любую библиотеку, имеет смысл использовать в случаях, для которых он разрабатывался. Т. е. если нужна «резиновая» верстка, 960 Grid – не подходящее решение (хотя есть проект Fluid 960 Grid System). Но если в тех. задании сказано, что страница должна иметь фиксированную ширину 960px, то ситуация меняется. 3) Имена классов. На мой взгляд – это вопрос привычки. Цифры в имени означают ширину блока и по ним достаточно просто ориентироваться. Кроме того, никто не запрещает использовать одновременно несколько классов, например,