CSS сетки рамки могут сделать вашу жизнь проще, но они не лишены недостатков.К счастью для нас, современных методов предлагаем новый подход к построению макетов страниц.Но прежде чем добраться до решения, мы должны сначала понять, трех казалось бы, непреодолимые недостатки, влияющие в настоящее время CSS grids.
Problems
Проблема # 1: Они не Semantic
Самая большая жалоба, которую я слышал от пуристов, так как я создал 1 Кб CSS Grid Два года назад в том, что системы CSS сетки не позволяют правильное разделение разметки и презентации.Грид-систем требуют, чтобы веб-дизайнеры добавляют .grid_x
CSS классы для HTML элементов, смешивая презентационной информацией с иным семантической разметки up.
Плавающих элементов должны быть очищены, часто требующей ненужных элементов, которые будут добавлены на страницу.Об этом свидетельствует «чистка» дел, который поставляется с 960.gs:
<div class="grid_3"> 220 </div> <div class="grid_9"> 700 </div> <div class="clear"></div>
Проблема № 2: Они не Fluid
В то время как CSS сети хорошо работают для фиксированной ширины макеты, имея дело с жидкостью проценты сложнее.В то время как большинство систем сетку действительно обеспечивают жидкость вариант, они ломаются, когда вложенные столбцы вводятся.В 1KB сетки CSS примере ниже, .grid_6
, как правило, устанавливается шириной до 50%, а .grid_3
, как правило, устанавливается до 25%
Но когда .grid_3
появляется внутри .grid_6
клетки, проценты должны быть пересчитаны.В то время как типичная система сетки необходимо всего 12 CSS правила для указания ширины всех 12 колонн, жидкость сетки потребуется 144 правила, разрешающие только для одного уровня вложенности: возможно, но не очень convenient.
<div class="column grid_6"> <div class="row"> <div class="column grid_3"> </div> <div class="column grid_3"> </div> </div> </div>
Проблема № 3: Они не Responsive
Отзывчивый веб-дизайн является ключевым словом этого года.В то время как новые инструменты, такие как 1140 CSS Grid и Adapt.js растут, что позволит вам изменить макет страницы в зависимости от размера экрана или типа устройства, оптимального решения до сих пор не arrive.
Blame It On The Tools
Все эти три проблемы непосредственно в результате ограниченности наших существующих инструментов.CSS оставляет нам ультиматум либо угрозу наши принципы, добавив презентационных классов для разметки, или придерживаться нашего оружия и отказ от подвесной системы в целом.Но, эй, мы не можем ничего с этим поделать, право
Ну, не так быстро.Пока мы ждем для браузеров, чтобы добавить родной CSS support на этой порочной сетке module, футуристическая версия CSS доступна today, которые уже поддерживаются всеми CSS-браузер с поддержкой: МЕНЬШЕ CSS.
Меньше приносит новые мощные возможности для CSS.
Менее то, что
Вы, наверное, слышали о меньшем, но, возможно, никогда не давал ему попробовать.Подобный SASS, меньше extends CSS, давая вам возможность использовать переменные, выполнять операции и развитие многоразовых Mixins.Ниже приведены несколько примеров того, что он может do.
Variables
Укажите значение один раз, и затем использовать его на протяжении стилей, определяя variables.
// LESS @color: #4D926F; #header { color: @color; }
Выше примере будет составлять следующим образом:
/* Compiled CSS */ #header { color: #4D926F; }
Operations
Умножения, деления, сложения и вычитания значений и цветов с использованием operations.
// LESS @border-width: 1px; #header { border-left: @border-width * 3; }
В этом примере, 1px
умножается на 3
выход следующих:
/* Compiled CSS */ #header { border-left: 3px; }
Mixins
Самые мощные из всех, Mixins включить весь фрагменты CSS для повторного использования.Просто включите имя класса примесь в другой класс.Более того, LESS позволяет параметров, передаваемых в mixin.
// LESS .rounded(@radius) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius; } #header { .rounded(5px); }
Verbose, браузер конкретных свойств CSS3 продемонстрировать выгоды, которые приносят Mixins:
/* Compiled CSS */ #header { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
Минусы LESS
Будучи скептически менее на первый, я сейчас сильный защитник.МЕНЬШЕ стилей являются кратким и читаемым, и они поощряют кода для повторного использования.Тем не менее, есть некоторые потенциальные недостатки, чтобы быть в курсе:
- Она должна быть скомпилирована.Это один дополнительный шаг, что вам не придется беспокоиться о с ванильным CSS.
- В зависимости от того, как МЕНЬШЕ документов структурирован, составлен CSS файл может быть немного больше, чем эквивалентный ручной CSS file.
Примечание по составлению LESS
Есть три подхода к составлению МЕНЬШЕ стилей в CSS:
- Пусть браузер compiling.Как следует из названия, LESS.js написано в JavaScript и может составить менее в CSS непосредственно в браузере пользователя.Хотя этот метод является удобным для развития, используя один из следующих двух методов перед запуском в производство будет лучше (потому что компиляция в браузере может занять несколько сотен миллисекунд)
- Использование серверного compiler.LESS.js также можете скомпилировать серверный с Node.js, и она была портирована на ряд друг …
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров