Семантическая модульная сетка для завтрашних шаблонов

Библиотеки CSS для модульных сеток облегчают нашу жизнь. Но и в них есть недостатки. К счастью, новейшие техники предлагают свежие подходы к проектированию шаблонов. Но прежде, чем получить решение, надо разобраться в трех непреодолимых  пороках текущих версий модульных сеток CSS.

 

Проблема №1. Они не семантические.

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

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

<div class="grid_3">
	220
</div>
<div class="grid_9">
	700
</div>
<div class="clear"></div>


Проблема №2. Они не могут быть резиновыми.

Модульные сетки отлично работают в фиксированных шаблонах, но использование процентов для ширины требует ухищрений. Хотя большинство библиотек имеют опции для резиновых шаблонов, они ломаются при появлении вложенных колонок. В ниже приведенном примере использования сетки 1KB CSS Grid, элемент .grid_6 имеет ширину 50%, а элемент .grid_3 - 25%.

Но когда элемент .grid_3 появляется в ячейке .grid_6, проценты должны быть пересчитаны. Хотя обычная сетка нуждается только в 12 правилах CSS для задания ширины, то резиновый шаблон потребует 144 правила для одного уровня вложенности: не очень утешительные сведения.

<div class="column grid_6">
	<div class="row">
		<div class="column grid_3"> </div>
		<div class="column grid_3"> </div>
	</div>
</div>

 

Проблема №3. Они не адаптивны

Адаптивный дизайн веб страниц стал очень популярным в последние годы. Хотя новые инструменты (например, 1140 CSS Grid или Adapt.js) позволяют вам изменять шаблон страницы на основе сведений о размере экрана или типе устройства, оптимальное решение все еще отсутствует.

 

Причина проблем - используемый инструмент

Все три проблемы являются следствием ограничений, которые накладывают существующие инструменты разработки. CSS бескомпромиссно заставляет добавлять презентационные классы в разметку. Но неужели мы ничего не можем сделать? Фантастическая версия CSS уже доступна сегодня и поддерживается каждым браузером: LESS CSS.

 

Что такое LESS?

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

Переменные

Определите значение один раз и затем используйте его по всему коду с помощью переменной.

// LESS
@color: #4D926F;

#header {
  color: @color;
}

Выше приведенный код будет скомпилирован следующим образом:

/* Скомпилированный CSS */
#header {
  color: #4D926F;
}

Операции

Умножение, деление, сложение и вычитание значений и цветов с помощью операций:

// LESS
@border-width: 1px;

#header {
	border-left: @border-width * 3;
}

В данном примере 1px будет умножен на  3. Результат будет выглядеть так:

/* Скомпилированный CSS */
#header {
	border-left: 3px;
}

Макросы

Самая мощная часть LESS. Макросы позволяют повторно использовать части кода CSS. Просто включайте макрос в класс. Но LESS также позволяет передавать параметры в макрос.

// LESS
.rounded(@radius) {
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    border-radius: @radius;
}

#header {
    .rounded(5px);
}

Многострочное свойство CSS3 наглядно демонстрирует использование макроса:

/* Скомпилированный CSS */
#header {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

 

Недостатки LESS

Таблицы стилей LESS краткие и простые для чтения, в них доступно повторное использование кода. Однако у него есть несколько потенциальных недостатков, о которых нужно знать:

  1. Код LESS нуждается в компиляции. Один дополнительный шаг, который отсутствует в обычном CSS.
  2. В зависимости от построения структуры документа LESS, скомпилированный CSS файл может быть немного больше, чем эквивалентный код, подготовленный вручную.

 

Компиляция LESS

Существует три подхода к компиляции стилей LESS в CSS:

  • Браузер выполняет компиляцию.LESS.js - скрипт JavaScript, который может выполнить компиляцию файла LESS в код CSS непосредственно в браузере пользователя. Хотя такой метод удобен при разработке, на рабочем проекте предпочтительнее использование двух других методов (компиляция может занимать несколько сотен миллисекунд).
  • Использование компилятора на серверной стороне. LESS.js может также выполнять компиляцию на стороне сервера с помощью Node.js ( LESS также портирован на несколько других языков серверной стороны).
  • Использование настольного приложения.LESS.app является приложением для Mac, которое компилирует локальные файлы и сохраняет их на компьютере.

 

Инновации, которые LESS вносит в CSS, являются основой для нового подхода к построению шаблонов страниц. Такой подход используется в модульной сетке SEMANTIC. Ее преимущества:

  1. Она семантическая;
  2. Она может быть как фиксированной, так и резиновой;
  3. Она адаптивна;
  4. Она позволяет изменять количество колонок, ширину колонок и интервалов прямо в таблице стилей.

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/ahvTJ2HHZ8c/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Семантическая модульная сетка для завтрашних шаблонов | | 2012-06-19 12:03:47 | | Статьи Web-мастеру | | Библиотеки CSS для модульных сеток облегчают нашу жизнь. Но и в них есть недостатки. К счастью, новейшие техники предлагают свежие подходы к проектированию шаблонов. Но прежде, чем получить решение, | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: