Sass против less

Как вставить CSS в HTML — встроенная стилизация

Этот метод, позволяющий осуществить подключение CSS к HTML подразумевает, что вы добавляете весь необходимый код стилизации одним большим фрагментом. Это позволяет стилизовать любой элемент на странице. Подобный подход можно реализовать путем встраивания CSS-кода с помощью <style> в заголовочную часть страницы. Например, поместите приведенный ниже код в раздел <head> HTML-документа:

<style>
    body {
        background-color: darkslategrey;
        color: azure;
        font-size: 1.1em;
    }
    h1 {
        color: coral;
    }
    #intro {
        font-size: 1.3em;
    }
    .colorful {
        color: orange;
    }
</style>

Примерно так будет выглядеть код HTML страницы:

<!DOCTYPE html>
<html>
    <head>
        <title>My Example</title>
        <style>
            body {
                background-color: darkslategrey;
                color: azure;
                font-size: 1.1em;
            }
            h1 {
                color: coral;
            }
            #intro {
                font-size: 1.3em;
            }
            .colorful {
                color: orange;
            }
        </style>
    </head>
    <body>
        <h1>Встроенная стилизация</h1>
        <p id="intro">Позволяет вам определять стили сразу для всей страницы.</p>
        <p class="colorful">Этот абзац оформлен при помощи класса.</p>
    </body>
</html>

Посмотреть демо

Модули CSS в сочетании с практикой React

ВИспользуйте CSS напрямуюПросто имя.

/* dialog.css */
.root {}
.confirm {}
.disabledConfirm {}
import classNames from 'classnames';
import styles from './dialog.css';

export default class Dialog extends React.Component {
  render() {
    const cx = classNames({
      : !this.state.disabled,
      : this.state.disabled
    });

    return <div className={styles.root}>
      <a className={cx}>Confirm</a>
      ...
    </div>
  }
}

Обратите внимание, что имя класса, соответствующее внешнему узлу компонента, обычно называется, Используется здесьclassnamesБиблиотека для работы с именем класса. Если вы не хотите часто печатать, Можешь попробоватьreact-css-modules, Избегает повторного ввода в виде функций высшего порядка。

Расставим точки над.. CSS-препроцессорами (Sass, Less, Stylus) ЧАСТЬ 1

17669

578

23

00:12:32

01.08.2018

Из личной практики персонального преподавания веб-разработки, выяснилось, что наиболее частым вопросом обучающихся было желание разобраться в теме CSS-препроцессоров (Sass/SCSS, Less, Stylus). Что и когда лучше использовать и главное зачем это нужно и какими возможностями оно обладает.

В этой серии из нескольких роликов я как раз и пытаюсь максимально полно раскрыть данную тему. Рассматриваем препроцессоры:
— Sass/SCSS: 🤍
— Less: 🤍
— Stylus: 🤍

Файлы к циклу роликов:
🤍

=
Статьи про PostCSS:
🤍

Стань спонсором канала и получи бонусы: 🤍

Avocode — лучше обезболивающее для того, кому приходится верстать из PSD, AI, XD, Sketch и Figma. Регистрируйся и получи скидку 10% на первую покупку, введя в соответствующем поле промо-код ‘nikita’: 🤍

Обучающие ролики по Avocode: 🤍

Персональные уроки по веб-разработке: 🤍
Отзывы: 🤍
Связаться: 🤍 / makewebme.russia🤍gmail.com

Присоединяйся к нашему Telegram-чату тут 🤍 или, если не работает, тут 🤍
Или по имени чата в поиске — 🤍makewebme

Основные свойства шрифтов в CSS

В CSS при описании шрифта используют следующие характеристики:

Стиль

Стиль шрифта определяет тип начертания для представления текста: наклонный, курсивный или обычный.

Атрибут font style может принимать такие значения как:

  • normal (обычный);
  • italic (курсив);
  • oblique (наклонный).

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

Вариант шрифта

Данная характеристика указывает использование строчными символами обычных глифов или глифов капители. Любой шрифт может включать в себя либо только глифы капители, либо только обычные глифы, либо оба варианта в совокупности.

Свойство font variant может иметь одно из двух возможных значений:

  • normal (обыкновенный шрифт);
  • small-caps (шрифт с малыми прописными буквами).

Вес шрифта

В CSS жирный шрифт или наоборот, более светлый, задаётся параметром font weight. Некоторыми браузерами поддерживаются числовые значения в описании веса.

Каждый шрифт может принимать следующие значения:

  • normal (обычный);
  • lighter (светлее);
  • bold (жирный);
  • bolder (ещё более жирный);
  • 100-900 (числовое описание веса, в котором значение 100 соответствует самому тонкому начертанию, а 900 — самому толстому начертанию).

Например:

p {font-family: georgia, garamond serif;}
td {font-family: georgia, garamond serif; font-weight: bold;}

Размер шрифта

Размер шрифта — это расстояние от нижней кромки текста до границ кегельного пространства. Если в HTML данный параметр варьируется от 1 до 7 условных единиц, что не далеко не всегда является удобным, то в CSS с помощью свойства font size размер шрифта можно указать с точностью до пикселя.

Например, задание шрифта размером 20 пикселей выглядит таким образом:

p {font-size: 20px;}

Также, размер шрифта можно задать с помощью процентов от его базового размера.

Например, шрифт с параметрами:

p {font-size: 150%}

будет отображён на 50% больше стандартного размера. В том случае, если гарнитура и размер шрифта не указаны, браузером будет выводиться базовый шрифт Times New Roman со стандартным, на усмотрение браузера, размером.

Цвет шрифта

Возможности CSS позволяют задать цвет текста и его фона с помощью следующих свойств:

  • color (цвет текста);
  • background color (цвет фона текста).

Цветовые значения рекомендуется указывать в общепринятом шестнадцатеричном виде цветовой модели RGB.

Например, белый текст на чёрном фоне будет иметь такие значения:

  • color: #ffffff;
  • background-color: #000000.

Первая пара цифр отвечает за уровень красного цвета, вторая — за уровень зелёного цвета, а третья — за уровень синего.

Минимальное значение — 0, а максимальное — f. Этот принцип позволяет самостоятельно «придумать» значения некоторых цветов: например, если первой паре цифр присвоить максимальное значение, а второй и третьей — минимальные, получится насыщенный красный цвет #ff0000.

Смешивая цвета, можно получать дополнительные оттенки: совокупность красного и синего цветов, как известно, дадут красно-фиолетовый #ff00ff.

Однако, для того, чтобы не изобретать велосипед, можно воспользоваться специальными программами или онлайн-сервисами для подбора цветового шестнадцатеричного кода: например, если в поисковом сервисе Яндекс ввести слово «цвет», появится удобное для таких целей средство.

Таким образом, возможности CSS позволяют изменить шрифт всего веб-сайта и его свойства всего за несколько минут, что существенно облегчает разработчику жизнь и экономит время.

Надеемся, что данное руководство было для вас полезно. Желаем успехов!

АМАнтон Малаховавтор

#1 Как установить Препроцессор Sass и скомпилировать Sass и SCSS файлы стилей в CSS

22477

404

40

00:08:59

22.06.2018

Как установить Препроцессор Sass и скомпилировать Sass и SCSS файлы стилей в CSS. В этом видео уроке я расскажу вам как установить препроцессор Sass и как скомпилировать файл Sass в CSS. Чтобы компилировать Sass мы установим пакет Sass через nmp (менеджер пакетов, входящий в состав Node.js) и рассмотрим способы компилировать Sass в обычный CSS.

Благодарность автору ( ₽ )
1. Сбербанк VISA: 4274 3200 3233 1582
2. Yandex: 410011260821995 — 🤍
3. Станьте спонсором канала: 🤍

Я, Исмаил Усеинов
ВК — 🤍
Группа ВК — 🤍
Instagram — 🤍
GitHub — 🤍
Twitter — 🤍

Советую посмотреть:
Препроцессор Less: 🤍
Подготовка к верстке с Less: 🤍
Оформляем стили шапки на Flexbox и Less: 🤍

◄ Предыдущее видео: 🤍
► Следующее видео: 🤍

Используем свойство Display: Contents

Для начала я вас познакомлю с этим значением. Каждый элемент в CSS является блочным; и этот блок содержит контент, границы, внутренние и внешние отступы. Если вы примените display: contents, этот блок будет исключен из потока. Я могу представить это как удаление открывающего и закрывающего тэгов вокруг него.

CSS

<header class="site-header">
    <div class="wrapper site-header__wrapper">
            <!-- Header content -->
    </div>
</header>

CSS

.site-header__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

Возможно, в примере, приведенном выше, вам понадобится растянуть header на всю ширину страницы, вместо того, чтобы вписывать его в контейнер.

CSS

.site-header__wrapper {
  display: contents;
}

.site-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

Таким способом элемент wrapper будет скрыт (в каком-то смысле). Теперь, когда мы применили display: flex к элементу site-header, объекты, принадлежавшие контейнеру, станут дочерними для элемента site-header.

Буквицы раньше и сейчас

Летописцы использовали заглавные буквы в рукописях, которые писались от руки, некоторые из них относятся еще к V веку. Прописные буквы продолжали использоваться с VIII по XV век, когда типографские станки позволили вывести печать на промышленный уровень. И рукописные, и печатные буквицы размещались в начале текста. Часто их украшали декоративным рисунком, который располагался вокруг буквы.

Поднятые и опущенные буквы все еще используются в наши дни. Их можно встретить в газетах, журналах и книгах, а также в цифровой типографии. Поднятые литеры иногда называются вытянутыми. Они размещаются на одном уровне с нижней частью текста, который следует за ними. Опущенные буквы размещаются на одном уровне с верхней частью текста, иногда в слое позади основной части текстового контента, или остальной текст обтекает их.

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

Простой сайдбар

Иногда бывает нужно сделать боковую панель на сайте, но так, чтобы:

  1. она расширялась вместе с размером окна браузера;
  2. при уменьшении размера окна панель тоже уменьшалась, пока не достигнет своего минимально допустимого значения.

Например, мы знаем, что минимальная ширина нашей боковой панели — 150 пикселей, тогда на ней всё помещается. Если будет больше — отлично, но меньше нельзя.

Чтобы это реализовать, используем команду в которую передадим минимальную и максимальную ширину нашей панели. Эта команда сама поймёт, какую ширину нужно использовать: если места мало, то используем минимальное значение, а если места хватает — то максимальное.

Посмотрите на основную команду grid-template-columns — она задаёт колонки в сетке. Сколько параметров, столько и колонок. В нашем примере два параметра:

  • minmax() — он отвечает за минимальную и максимальную ширину нашего сайдбара слева
  • 1fr — это значит, что всё остальное пространство займёт вторая колонка.

Если нам нужна боковая панель пошире — можно поставить 200 или 300 вместо 150.

See the Pen
Простой сайдбар by Михаил Полянин (@mihail-polqnin)
on CodePen.

Sass — условия и циклы (@if, @for, @each, @while)

13582

288

24

00:25:18

31.03.2014

uWebDesign Обзор #4 — Sass, глубины CSS препроцессора. В этом ролике я рассмотрел контрольные директивы условного оператор, циклов и другие.

В этом скринкасте я рассказал еще и о директивах для дебаггинга: 🤍debug и 🤍warn, а также директиву 🤍function для определения собственных функций, которые будут возвращать значения.

Так же я рассмотрел работу с контрольными директивами: условный оператор 🤍if и циклы 🤍for, 🤍each, 🤍while. Остановился на отличиях и сходствах этих циклов и продемонстрировал несколько практических примеров использования.

Сайт проекта Sass: 🤍
Документация: 🤍
Документация по функциям: 🤍

uWebDesign это:
• Паблик на ВК: 🤍
• Лента в Twitter: 🤍
• Канал на YouTube: 🤍

Особенность #3: Mixins (миксины)

Выше мы узнали, как применять переменные для CSS-правил. Но что, если нам нужно использовать несколько правил вместе? Для этих целей у Sass есть миксины.

Что такое миксин?

Миксины (также иногда называемые примесями) являются функциями Sass, которые группируют CSS-правила. Мы можем использовать их в качестве переменных.

Миксин создается с помощью команды @ mixin и названия миксина:

@mixin my-font {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-style: italic;
}

Также можно создать миксин в виде функции и добавлять к ней параметры:

$font-color: red;

@mixin my-font($font-color) {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-style: italic;
  color: $font-color;
}

После создания миксина мы можем воспользоваться им в любом классе при помощи команды @ include. Таким образом, мы можем подключить миксин my-font вместо того, чтобы каждый раз писать 4 строки правил для шрифта. Такой подход упрощает код.

p {
  @include my-font;
}

Внешние таблицы стилей

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

Внешняя таблица стилей содержит все правила стилей в отдельном документе, на который вы можете ссылаться из любого HTML-файла на своем сайте. Внешние таблицы стилей являются наиболее гибкими, поскольку с помощью внешней таблицы стилей вы можете изменить внешний вид всего веб-сайта, используя только один файл.

Добавление внешних таблиц стилей CSS

Перед установкой ссылки нам нужно сначала создать таблицу стилей. Давайте откроем ваш любимый редактор кода и создадим новый файл. Теперь введите следующий код CSS внутри этого файла и сохраните его как «style.css».

body {
  background: lightyellow;
  font: 18px Arial, sans-serif;
}
h1 {
  color: orange;
}

Внешняя таблица стилей может быть связана с документом HTML с помощью тега <link>. Тег <link> находится внутри раздела <head>, как показано в этом примере:

<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML Страница</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
  <h1>Заголовок</h1>
  <p>Параграф текста.</p>
</body>
</html>

Среди всех трех методов использование внешней таблицы стилей является наилучшим методом определения и применения стилей к документам HTML.

Импортирование внешних таблиц стилей

Правило @import — это еще один способ загрузки внешней таблицы стилей. Оператор @import указывает браузеру загрузить внешнюю таблицу стилей.

Вы можете использовать его двумя способами. Самый простой способ — в заголовке вашего документа

Обратите внимание, что другие правила CSS так же могут быть включены в элемент

<style type="text/css">
  @import url("style.css");
  p {
    color: blue;
    font-size: 16px;
  }
</style>

Точно так же вы можете использовать правило @import для импорта таблицы стилей в другой файл таблицы стилей.

@import url("layout.css");
@import url("color.css");
body {
  color: blue;
  font-size: 14px;
}

блок 3

Способ отображения контейнера

Так как контейнер – это <div>, он по умолчанию является блочным элементом. Вопрос в том, что делать, если мы хотим, чтобы он отображался в виде сетки, и всё его содержимое располагалось на сетке?

Что ж, я бы не рекомендовал так делать, потому что это противоречит концепции разделения обязанностей. «Обёртка» оборачивает другие элементы, и на этом всё. Если вам нужен контейнер с сеткой, добавьте в существующий контейнер элемент <div> со свойством display: grid. Это более простой, понятный и доступный способ.

HTML

<div class="wrapper">
  <!-- Содержимое -->
</div>

Так делать не рекомендуется, потому что использование элемента wrapper на другой странице может случайно повредить вашу вёрстку.

CSS

.wrapper {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 16px;
}

Лучшим решением будет следующее:

HTML

<div class="wrapper">
  <div class="featured-news">
    <!-- Элементы, которые должны находиться в сетке -->
  </div>
</div>

CSS

.featured-news {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 16px;
}

Заметьте, что я добавил отдельный элемент <div>, чтобы он содержал контент. Пожалуйста, не обращайте внимания на классы и соглашения по именованию в этом примере. Мы можем найти гораздо лучшее решение, создав названия классов, которые могут быть использованы повторно на разных страницах сайта. Однако соглашения по именованию выходят за рамки этой статьи.

Основные стили ссылок

В отличие от CSS селекторов псевдоклассы начинаются с двоеточия, за которым следует имя класса. Наиболее распространенными псевдоклассами ссылок являются:

  • :link — ссылка, по которой пользователь еще не переходил;
  • :visited — ссылка, по которой пользователь переходил раньше;
  • :hover — ссылка, на которую пользователь навел курсор мыши;
  • :active — ссылка, нажатая мышью (или пальцем).

Рассмотрим эти псевдоклассы, добавив следующие правила в CSS (также обратите внимание на то, что мы используем для обозначения цветов ключевые слова, а не шестнадцатеричные коды):

a:link {
  color: blue;
  text-decoration: none;
}
a:visited {
  color: purple;
}
a:hover {
  color: aqua;
  text-decoration: underline;
}
a:active {
  color: red;
}

Фрагменты URL-адресов

Атрибуты id должны быть уникальными, поскольку на них указывают «фрагменты URL-адресов». Фрагменты — это элементы, с помощью которых можно указать пользователям на определенную часть веб-страницы. Они выглядят как селекторы идентификаторов, расположенные в конце URL-адреса:

Например, если мы хотим указать пользователю на вторую кнопку, можно использовать следующий код

Обратите внимание, что можно полностью опустить URL-адрес, если он указывает на другой раздел той же веб-страницы:

<!-- С той же страницы -->
<a href='#button-2'>Go to Button Two</a>
<!-- С другой страницы -->
<a href='selectors.html#button-2'>Go to Button Two</a>

Если вы добавите первый вариант ссылки в разметку страницы selectors.html и кликните по ней, то увидите, что данный URL-адрес значится в адресной строке браузера. Чтобы увидеть, как осуществляется переход ко второй кнопке, нужно добавить на страницу немного произвольного контента или сделать высоту окна маленькой:

Этот пересекающийся функционал является веской причиной для того, чтобы избегать использования идентификаторов. Они создают зависимость между URL-адресами сайта и стилями CSS. Представьте, что вы используете в заголовках кучу атрибутов id в качестве как фрагментов URL-адресов, так и идентификаторов. Если вы забудете обновить таблицу стилей, когда отредактируете URL-адрес, то сломаете свой сайт.

Различия в базовой грамматике:

Прежде чем использовать препроцессор CSS, самое важное — понять синтаксис.К счастью, синтаксис большинства препроцессоров аналогичен синтаксису CSS. Прежде всего, и Sass, и Less используют стандартный синтаксис CSS, поэтому, если вы можете легко преобразовать существующий код CSS в код препроцессора, Sass по умолчанию использует расширение .sass, а Less использует расширение .less

Прежде всего, и Sass, и Less используют стандартный синтаксис CSS, поэтому, если вы можете легко преобразовать существующий код CSS в код препроцессора, Sass по умолчанию использует расширение .sass, а Less использует расширение .less.

Это обычный синтаксис, но Sass также поддерживает старый синтаксис, который позволяет исключить фигурные скобки и точки с запятой:

Синтаксис, поддерживаемый Stylus, более разнообразен. По умолчанию он использует расширение файла .styl. Следующий синтаксис, поддерживаемый Stylus:

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

SASS expliqué en 4 minutes (+SCSS).

8515

234

14

00:04:04

12.04.2019

Pssst … Profite du Parcours Front à -50% en Décembre ici :
🤍

1 Cours gratuit en t’abonnant à ma newsletter :
🤍

Ma chaine en Anglais (tu as le droit de rigoler en m’écoutant parler) :
🤍

Le Shop pour tes stickers ou autres : 🤍

Abonne-toi à la NewsLetter pour recevoir des tas d’infos sur le développement web :
🤍

Tu peux me retrouver sur Udemy :
🤍

Abonne-toi à ma chaîne :
🤍

Suis-moi sur Twitter :
🤍

Playlist consacrée au JavaScript :
🤍

Playlist consacrée au CSS et à l’HTML :
🤍

Si tu veux que je fasse des vidéos sur certains sujets dis le moi!


Mes cours bradés sur Udemy avec ces liens, jusqu’au 1 septembre :

Apprenez à résoudre des algorithmes en JavaScript :
🤍

La visualisation de données avec D3.js :
🤍

Créez des animations javascript avec l’HTML Canvas :
🤍

Materialize CSS :
🤍

React de A à Z (React Hooks inclus) :
🤍

Apprendre à utiliser SASS et SCSS :
🤍

ScrollMagic pour les débutants :
🤍

Bootstrap en partant de Zéro :
🤍

JavaScript : Créez des animations avec GreenSock :
🤍

Maîtrisez CSS GRID ! :
🤍

Gagnez du Temps en Maîtrisant Flexbox ! :
🤍

Créer un Site professionnel et responsive en 2019 :
🤍

Créer un beau site responsive de A à Z avec Bootstrap ! :
🤍

Tu peux aussi suivre mes cours sur le site Tuto.com avec un prix réduit grâce à ce coupon :
3SA62Z
Il est valable jusqu’au 1 septembre.

À bientôt.

Когда используется class, а когда id?

ID используется для отдельных элементов, которые встречаются на странице только один раз. Например, заголовок, подвал, меню и т. д. Селектор class используется для одного или нескольких элементов, которые встречаются на странице несколько раз. Например, абзацы, ссылки, кнопки, элементы ввода. И хотя вы можете использовать class для отдельного элемента, но лучше использовать эти селекторы по назначению.

Также следует учитывать, что у HTML-элемента может быть указан и id, и class. Предположим, что на странице имеется два блока с одинаковым размером и стилизацией, но с разным позиционированием. В таком случае можно применить один и тот же класс к этим блокам для изменения размеров и стилизации, а затем использовать отдельный ID-селектор к каждому блоку, чтобы задать им разное позиционирование.

Элементы также можно привязывать одновременно к нескольким классам. Это очень удобно, когда нужно применить стилизацию к отдельной группе элементов определенного типа. Например, имеется класс .content, который применен ко всем абзацам. Если нужно будет добавить границу или любую другую стилизацию к нескольким отдельным абзацам, то можно сделать это при помощи дополнительного CSS p class .bordered:

<p class="content">Этот пункт не имеет границ.</p>
<p class="content bordered">Этот пункт имеет границы.</p>

Обратите внимание на пустое пространство между двумя именами классов в атрибуте class второго абзаца. Ниже приведен пример CSS-кода:

.content { margin: 10px; font-size: 15px; color: blue }
.bordered { border: 2px solid #222 }

Важно правильно применять id и CSS class, так как их неправильное использование может привести к ошибкам в отображении HTML-кода. Пожалуйста, оставьте свои мнения по текущей теме статьи

Мы крайне благодарны вам за ваши комментарии, дизлайки, лайки, подписки, отклики!

Пожалуйста, оставьте свои мнения по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, дизлайки, лайки, подписки, отклики!

Валентин Сейидовавтор-переводчик статьи «CSS Class vs ID: Which One to Use»

Несколько фактов для начала

CSS препроцессоры добавляют новый синтаксис в CSS.

Существует 5 CSS препроцессоров: Sass, SCSS, Less, Stylus и PostCSS.

Здесь я буду говорить в основном о SCSS, который схож с Sass. О Sass можно почитать здесь: .

  • SASS (.sass) Syntactically Awesome Style Sheets.
  • SCSS (.scss) Sassy Cascading Style Sheets.

Обратите внимание на расширения, они схожи, но отличаются. Для любителей командной строки, есть возможность конвертировать .sass в .scss и наоборот:. Конвертация форматов .scss и .sass

Используем команду sass-convert

Конвертация форматов .scss и .sass. Используем команду sass-convert.

Sass — это первая спецификация Sassy CSS, её разработка началась в 2006 году. Позже разработали альтернативный синтаксис, который некоторые считают лучшей версией языка, а также изменилось первоначальное расширение .sass на новое .scss.

На данный момент ни один браузер не поддерживает CSS препроцессоры напрямую. Вы можете свободно экспериментировать с любым из 5 препроцессоров на сервисе codepen.io. Кроме того, используя препроцессор, вы должны будете установить его к себе на веб-сервер.

Эта статья о SCSS, но другие препроцессоры имеют схожие функции, хотя синтаксис может отличаться.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: