Если за последние 6 месяцев вы занимались веб-дизайном, вы наверняка слышали о прекомпиляторах CSS . Короче говоря, они появились, чтобы дать css возможности, которых у него не было. Но не без затрат на введение промежуточного файла, который в конечном итоге будет преобразован в CSS. Итак, здесь я приступил к написанию руководства для начинающих, которое могло бы помочь начать с SASS (синтаксически удивительные таблицы стилей) и компаса . Он охватывает важные концепции, установку и пример проекта, чтобы увидеть его в действии.
I. Важные понятия
Как упомянуто выше, и SASS & less должны быть скомпилированы в css, но чтобы быть осторожнее с терминами, этот процесс более формально известен как транспилирование . Поскольку компиляция часто включает в себя получение исходного кода и его преобразование во что-то, что может быть выполнено в формате, читаемом машиной (байтовый код). Однако с помощью Sass & Less все это немного отличается, поскольку включает только процесс, когда исходные файлы на этих языках берутся и преобразуются в другой язык. Здесь это CSS, который является языком стилей. Однако, делая вещи более запутанными, этот же процесс также широко называют прекомпиляцией . Извините, если я уже сломал вашу голову здесь. ?
II. Монтаж
Сосредоточив внимание на Compass, это просто еще одна реализация SASS, которая поставляется в качестве драгоценного камня Ruby. Если вы не rubyist, Ruby gem больше похож на библиотеку, когда вы думаете об этом с точки зрения C ++. Итак, давайте сначала установим Compass,
- Компасу нужен рубиновый драгоценный камень. Если вы на Mac, вы, вероятно, должны иметь его. Если вы хотите подтвердить, есть ли уже ruby, вы можете сделать это, нажав «ruby -v» в вашем терминале / командной строке. Если у вас его нет, отправляйтесь в Руби Лэнг .
- Чтобы установить компас, нажмите следующие две команды в вашем терминале:
$sudo gem update --system
Примечание : иногда вы можете столкнуться с проблемами, если вы не используете sudo. Следовательно, я решил сделать это в режиме sudo. Если вы используете Windows, вам просто нужно открыть cmd.exe как администратор. Выше $ — только заполнитель, который вам не нужно вводить.
III. Пример проекта
Теперь, когда у нас все настроено. Мы можем перейти к нашему первому проекту, простой адаптивной странице с фоновым видео, воспроизводимым с YouTube. Таким образом, для создания нашего проекта с поддержкой sass / compass существует два способа, с помощью которых можно сгенерировать скелет проекта с помощью следующей команды:
$compass create compass_demo
Следующий подход, который в основном используется теми, кто использовал компас в течение определенного периода времени, — это создание его вручную из существующего проекта. Я точно знаю, что у вас вряд ли будет такой, особенно если вы решили следовать этому посту, чтобы впервые попробовать компас. Не волнуйся, я тебя прикрыл! Вы можете использовать проект, который я разработал для этого поста из GitHub .
Тем не менее, я бы не советовал вам следовать второму подходу, описанному выше, поскольку он предотвратит загрязнение вашей руки при создании приложения с поддержкой компаса с нуля. Поэтому, предполагая, что вы придерживаетесь первого режима, здесь суть этого поста, настройка файла ruby config.rb, сгенерированного после команды create выше. Давайте разберемся с этим, этот файл дает нам возможность определить два важных аспекта всего этого процесса. Первым было бы определить, где в основном будут находиться наши css, sass, js и файлы изображений, структуру нашего проекта.
Следующее — определить, какой синтаксис мы будем использовать с нашими файлами sass. Я выбрал .scss , так как предпочитаю его синтаксис .sass . Вот содержимое моего конфигуратора (ieconfig.rb),
# Require any additional compass plugins here.
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "js"
output_style = :expanded # After dev :compressed
# To enable relative paths to assets via compass helper functions.
# relative_assets = true
line_comments = true
# If you prefer the indented syntax, you might want to regenerate this
# project again passing --syntax sass, or you can uncomment this:
preferred_syntax = :scss
Это было здорово, не так ли? Однако по 2 причинам я не собираюсь проходить через файл SASS
- очень просто, что он использует только несколько миксинов и ровно 3 переменные!
- это сделало бы этот пост очень длинным.
Итак, вот мой style.scss , простой, как это возможно!
@import 'compass/css3';
$bg_color: #3b3531;
$text_color: #ffffff;
$header_color: #B7AE74;
@mixin height($min, $max) {
min-height: $min;
max-height: $max;
}
@mixin min_height($min) {
min-height: $min;
}
body {
background: $bg_color;
color: $text_color;
}
.video-section .pattern-overlay {
background-color: rgba(71, 71, 71, 0.59);
padding: 110px 0 32px;
@include min_height(496px);
}
#footer {
@include height(250px, 300px);
}
.dark-overlay {
padding: 20px;
@include min_height(206px);
}
.dark, .video-section h1, .video-section h3 {
text-align: center;
}
.dark h1, .video-section h1 {
font-size: 110px;
font-family: 'Buenard', serif;
font-weight: bold;
text-transform: uppercase;
margin: 40px auto 0px;
text-shadow: 1px 1px 1px #000;
-webkit-text-shadow: 1px 1px 1px #000;
-moz-text-shadow: 1px 1px 1px #000;
}
h3 {
font-size: 25px;
font-weight: lighter;
margin: 0px auto 15px;
}
.dark h3 {
margin: 10px auto 2px;
color: $header_color;
font-size: 22px;
}
.dark h4 {
margin: 16px auto 2px;
color: $header_color;
font-size: 12px;
font-weight: lighter;
}
#credits {
margin-top: 90px;
}
.video-section .buttonBar {
display: none;
}
.player {
font-size: 1px;
}
Так где же мой CSS? Дай мне туда! как только мы правильно настроим наш config.rb, все, что нам нужно сделать, это открыть окно терминала, перейти в каталог нашего проекта и нажать следующую команду:
$compass watch
Если вы мне доверяете, здесь вам больше не нужно беспокоиться о своем CSS-файле, поскольку вы можете правильно написать свой sass-файл. Поскольку вышеприведенная команда наблюдения постоянно следит за любыми изменениями или изменениями, которые вы вносите в свой файл sass. Как только вы сохраните его, он подберет его / их, преобразует в css (т.е. переносит), а затем поместит его в назначенный каталог, который определен в файле конфигурации. Так что не говоря уже о процессе наблюдения, чтобы присмотреть за файлом (ами) css.
Внутривенно Tl; др
Вы можете просмотреть готовую демоверсию здесь и получить ее код ! У каждого всегда будут сомнения, что происходит с теми CSS-файлами, которые не требуют предварительной компиляции, такими как thebootstrap.css. Что ж, это тоже хорошо обрабатывается процессом наблюдения, так как он не перезаписывает и не удаляет любые файлы css, у которых нет соответствующего файла sass. На самом деле вы можете наблюдать это, если вам доведется работать с вышеуказанным хранилищем. Надеюсь, это поможет вам уверенно погрузиться в мир нахальства, спасибо.