Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ β€” SASS: ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для Π½Π°Ρ‡Π°Π»Π° разбСрёмся с ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ стилСй. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ миксин сброса стилСй.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ миксин, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово @mixin ΠΈ Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя. Π’Π½ΡƒΡ‚Ρ€ΠΈ этого миксина просто Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ миксина Π² сСлСктор ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово @include послС Ρ‡Π΅Π³ΠΎ указываСтся имя миксина, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° сбросим отступы Π² ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ спискС.

ПослС компиляции ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ CSS-ΠΊΠΎΠ΄:

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, Ρ‡Ρ‚ΠΎ позволяСт Π½Π° основС ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ миксина Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ миксина horizontal-menu ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π΄Π²Π° Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΡ… миксина ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ использовали Π΅Π³ΠΎ для стилизации нашСго мСню. ВсС стили ΠΈΠ· миксинов flex-between ΠΈ reset окаТутся Π²Π½ΡƒΡ‚Ρ€ΠΈ миксина horizontal-menu. ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ CSS-ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, поэтому порядок Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ миксинов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° этим. А Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ влоТСнности миксинов. Π₯ΠΎΡ‚ΡŒ SASS ΠΈ позволяСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ миксины Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, Π½ΠΎ Π½Π΅ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° большой Π³Π»ΡƒΠ±ΠΈΠ½Π΅. Π§Π΅ΠΌ большС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ миксинов, Ρ‚Π΅ΠΌ мСньшС контроля ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π·Π° стилями. ΠœΠΈΠΊΡΠΈΠ½Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для облСгчСния написания ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ CSS-ΠΊΠΎΠ΄Π°. Если Π²Ρ‹ чувствуСтС, Ρ‡Ρ‚ΠΎ Ρƒ вас появилась глубокая Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ, Π²Ρ‹Π΄ΠΎΡ…Π½ΠΈΡ‚Π΅ ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стили стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· миксинов.

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π² старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Для Ρ‚Π°ΠΊΠΈΡ… свойств ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π΅Π½Π΄ΠΎΡ€Π½Ρ‹Π΅ прСфиксы. Если ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ свойство box-shadow ΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Firefox 3.5, Chrome 9, Safari 4.3, Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π½Π΄ΠΎΡ€Π½Ρ‹Π΅ прСфиксы -moz- ΠΈ -webkit-. Для Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ миксины.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎ прСпроцСссору Sass для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ познакомимся с прСпроцСссором Sass, Π΅Π³ΠΎ прСимущСствами, синтаксисом ΠΈ рассмотрим возмоТности использования Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ настроСнный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с GitHub

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Sass

Когда я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ знакомился с CSS прСпроцСссорами, ΠΌΠ½Π΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, Π±Ρ‹Π»Π° Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° понятна сама идСя использования CSS прСпроцСссоров. Π—Π°Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ прослойку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ инструмСнты, ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ CSS, Π΄ΡƒΠΌΠ°Π» я. Но со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π°Ρ‡Π°Π» ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎ дня Π² дСнь написаниС CSS ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡŒ ΠΏΡ‹Ρ‚ΠΊΠΎΠΉ, сСрой Ρ€ΡƒΡ‚ΠΈΠ½ΠΎΠΉ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дСйствия ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСлСкторы, свойства ΠΈ Π΄Π°ΠΆΠ΅ Ρ†Π΅Π»Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ CSS ΠΊΠΎΠ΄Π° для достиТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. БСгодня, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ прСпроцСссор Sass, Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Π°Π·Π²Π»Π΅Ρ‡ΡŒΡΡ ΠΏΡ€ΠΈ написании ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ слоТных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Настройка окруТСния

Π’ качСствС окруТСния для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Sass Π² этом ΡƒΡ€ΠΎΠΊΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π°ΡˆΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ…, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Sass для таск-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Gulp (gulp-sass). Для использования ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Ruby вСрсии ΠΈΠ»ΠΈ компиляции Sass посрСдством ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ПО, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с инструкциями Π½Π° ΠΎΡ„. сайтС. Π”Π°Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ носит прСимущСствСнно практичСский Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€, поэтому ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Sass Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярным способом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Gulp.

Π’ ΠΏΠ°ΠΏΠΊΠ΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ npm init ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ пошагово ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вашСм Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΆΠ΅, Π΅ΡΡ‚ΡŒ Π½Π° страницС руководства Gulp.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

Π”Π°Π»Π΅Π΅ установим Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ gulp, sass ΠΈ gulp-sass ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π”Π°Π»Π΅Π΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° создадим gulpfile.js ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТания:

Π£ вас Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ структура ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² вашСй Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС:

    myproject/

      css/

        common.css

      sass/

        common.sass

      node_modules/gulpfile.jspackage.json

ЗапускаСм Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Gulpfile ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ gulp Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ всС Sass Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ sass/ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ CSS Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΠ°ΠΏΠΊΡƒ css/. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, здСсь ΠΌΡ‹ устанавливаСм наблюдСниС watch Π·Π° измСнСниями Π² Sass Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π² CSS, Ссли Ρ‚Π°ΠΊΠΈΠ΅ измСнСния ΠΈΠΌΠ΅ΡŽΡ‚ мСсто Π±Ρ‹Ρ‚ΡŒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ css Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² вСрстку.

Если Π²Π°ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ понятно ΠΏΠΎ настройкС Gulp ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ руководство Gulp.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ нашС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ настроСно ΠΈ Sass ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ прСобразуСтся Π² CSS ΠΏΡ€ΠΈ сохнанСнии *.sass Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ sass/, ΠΌΠΎΠΆΠ½ΠΎ спокойно ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ сСгодня Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Бинтаксис Sass

SASS ΠΈ SCSS синтаксис:

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синтаксис отступов.

1. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ возмоТностСй CSS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sass

1.1 ΠŸΡ€Π°Π²ΠΈΠ»Π° влоТСния

Sass Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ… CSS ΠΏΡ€Π°Π²ΠΈΠ» Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Ρ‚Π΅ΠΌ самым сокращая врСмя Π½Π° написаниС/ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… сСлСкторов ΠΈ дСлая ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ структурированным, с Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ.

1.2 ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ сСлСктору

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ сСлСктор, Π½Π΅ создавая Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΌΡƒ сСлСктору Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСлСкторы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π½Π°ΠΊ &. Π’Π½Π΅ΡˆΠ½Π΅ это выглядит ΠΊΠ°ΠΊ созданиС Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ сСлСктора Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, Π½ΠΎ с использованиСм &, ΠΌΡ‹ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ сСлСктор, Π° Π½Π΅ создаСм Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ body.firefox &, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΎΡ‚ любого элСмСнта Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ, Ссли ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ &.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, привязку ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания составных сСлСкторов:

1.3 Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ свойства

Для удобства, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ суффикс пространства ΠΈΠΌΠ΅Π½ свойства Π½Π° влоТСния. НапримСр, margin-top, margin-bottom, margin-left, margin-right ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΡƒΡŽ основу margin ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ Π½Π° влоТСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

1.4 Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° нСсколько элСмСнтов Π½Π° страницС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ CSS Π±Π°Π·Ρƒ, ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ свойств, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½ΠΈΡ…. Π”Π°Π½Π½Ρ‹Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ CSS ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ сСлСктора-шаблона для использования Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах Sass. Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ выводятся посрСдством Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ @extend.

2. SassScript

SassScript позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ возмоТности Sass Π·Π° счСт использования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Ρ‹Ρ…, арифмСтичСских ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. SassScript ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… сСлСкторов ΠΈ свойств.

2.1 ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Sass

2.2 ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с числами ΠΈ строками + интСрполяция

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π² настоящСС врСмя слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ math.div(), Π° Π½Π΅ прямым слСшСм, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. НапримСр:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ math.div() Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² самом Π½Π°Ρ‡Π°Π»Π΅ sass-Ρ„Π°ΠΉΠ»Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Β«@use ‘sass:math’Β». Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΈ смотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· ΡƒΡ€ΠΎΠΊΠ°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Sass Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ) строки.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° строки 2 ΠΈ 9, здСсь ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ для размСщСния динамичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² любом мСстС Sass Ρ„Π°ΠΉΠ»Π°, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π² мСстС, Π³Π΄Π΅ Ρƒ нас ΠΈΠ΄Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ свойства, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сСлСктора ΠΈΠ»ΠΈ Π² любой строкС.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡ β€” это ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π§Π°Ρ‰Π΅ всСго интСрполяция Π² Sass ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, благодаря «ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ» Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, посрСдством конструкции #<>, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π²Π·ΡΡ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² строку ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π±Π΅Π· использования интСрполяции, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² PHP, Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

2.3 ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ color.mix(), Π° Π½Π΅ Β«+Β»:

Π¦Π²Π΅Ρ‚Π° Π² Sass ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ, Π²Ρ‹Ρ‡Π΅Ρ‚Π°Ρ‚ΡŒ, Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ. ВсС арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ: красного, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈ синСго.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ слоТСнии rgba Ρ†Π²Π΅Ρ‚ΠΎΠ², послСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ нСпрозрачности 0.75 Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ошибка слоТСния. ВмСсто этого, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ„Π°-ΠΊΠ°Π½Π°Π» rgba, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ opacify ΠΈ transparentize ΠΈΠ»ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ HEX Ρ†Π²Π΅Ρ‚Π°, посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ rgba.

3. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°

3.1 @import

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ваш Sass Ρ„Π°ΠΉΠ» sass, scss ΠΈ css Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ @import, ΠΏΡ€ΠΈ этом всС миксины ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² основном Ρ„Π°ΠΉΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ происходит ΠΈΠΌΠΏΠΎΡ€Ρ‚.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π² основной Sass Ρ„Π°ΠΉΠ», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π±Ρ‹Π»ΠΎ *.sass, *.scss ΠΈΠ»ΠΈ *.css.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚:

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹:

Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ: @import «header», «media».

Π€Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π½ΠΈΠΆΠ½Π΅Π³ΠΎ подчСркивания, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ указания подчСркивания ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. НапримСр, Ρ„Π°ΠΉΠ» _header.sass ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: @import «header».

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ происходит Π² Ρ‚ΠΎΠΌ мСстС, Π³Π΄Π΅ Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ @import. БоотвСтствСнно, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π² Ρ‚ΠΎΠΌ мСстС, Π³Π΄Π΅ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

3.2 @at-root

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @at-root ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ содСрТимыС Π² Π½Π΅ΠΉ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² ΠΊΠΎΡ€Π΅Π½ΡŒ, отмСняя Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΎΡ‚ родитСля. Π’ΡƒΡ‚ всС просто:

ΠœΡ‹ рассмотрСли Π½Π΅ всС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² Sass, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Если вас интСрСсуСт Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Sass Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ², ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

4. ВыраТСния

Sass ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ использованиС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… условий, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ Ρ‚.Π΄.

4.1 Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @if()

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @if() позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ SassScript с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ условиями ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

4.2 Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @for

@for Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π±Π»ΠΎΠΊ со стилями ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Ρ€Π°Π·. Π’ΠΎ врСмя выполнСния ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-счСтчик.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ through вмСсто to, Ссли трСбуСтся ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΎΡ‚ 1 Π΄ΠΎ 11 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ 10, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

4.3 Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @each

Если трСбуСтся ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ списку Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Π½Π΅ просто чисСл, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ @each:

4.4 Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @while

@while Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π±Π»ΠΎΠΊΠΈ стилСй, ΠΏΠΎΠΊΠ° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ являСтся true.

5. ΠœΠΈΠΊΡΠΈΠ½Ρ‹

Миксин ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ @mixin, послС объявлСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя миксина. ВызываСтся миксин Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ @include, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ имя миксина ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ссли Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ мСсто Π±Ρ‹Ρ‚ΡŒ.

Π”Ρ€ΡƒΠ·ΡŒΡ, ΠΌΡ‹ рассмотрСли основныС возмоТности Sass, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… достаточно для ΠΏΠ»ΠΎΠ΄ΠΎΡ‚Π²ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CSS стилями сайта. НСкоторыС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΈ возмоности Π½Π΅ вошли Π² Π΄Π°Π½Π½ΠΎΠ΅ руководство, Π½ΠΎ Ссли Π²Π°ΠΌ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ±ΠΎ всСх возмоТностях Sass, ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

ΠŸΡ€Π΅ΠΌΠΈΡƒΠΌ ΡƒΡ€ΠΎΠΊΠΈ ΠΎΡ‚ WebDesign Master

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сайта ΠΎΡ‚ А Π΄ΠΎ Π―. ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΉ курс

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ соврСмСнного ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΎΡ‚ А Π΄ΠΎ Π―

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

SASS для ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…: ΠœΠΈΠΊΡΠΈΠ½Ρ‹, НаслСдованиС, ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим миксины, наслСдованиС ΠΈ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² SASS.

01. SASS ΠœΠΈΠΊΡΠΈΠ½Ρ‹ β€” Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… CSS ΠΏΡ€Π°Π²ΠΈΠ»

SASS миксины ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Π΅ CSS ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅. Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ SASS. Π’ CSS3 Π½Π°ΠΌ приходится ΠΏΠΈΡΠ°Ρ‚ΡŒ слишком ΠΌΠ½ΠΎΠ³ΠΎ прСфиксов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ выглядСл ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. SASS миксины ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ CSS Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎ всСму сайту.

SASS ΠœΠΈΠΊΡΠΈΠ½Ρ‹ β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ€

SASS ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ этот ΠΊΠΎΠ΄ Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ CSS.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ:

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… миксин ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ нСобходимости.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ миксину для ссылки (Π°Π½ΠΊΠΎΡ€Π°), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π΄Π°Π½Ρ‹ стили для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… состояний: hover, link, visited ΠΈ active.

SASS ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ это Π²:

02. SASS НаслСдованиС β€” CSS ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСлСктора ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ

SASS НаслСдованиС позволяСт ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ CSS ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСлСктора ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π—Π°Ρ‚Π΅ΠΌ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ сСлСктору ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

SASS НаслСдованиС β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° другая ΠΊΠ½ΠΎΠΏΠΊΠ° с Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ ΠΈ Π±Π΅Π»Ρ‹ΠΌ тСкстом, Ρ‚ΠΎ ΠΌΡ‹ просто возьмСм стили стандартной ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ @extend ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

Π’Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ CSS для SASS ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅:

Π—Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ сСлСкторы (placeholder selectors): %example

Π’Π°ΠΊ выглядит CSS Π²Ρ‹Π²ΠΎΠ΄:

Π’ΠΠ–ΠΠž: Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наслСдованиС Π½Π΅ самая Π»ΡƒΡ‡ΡˆΠ°Ρ идСя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для этих ΠΆΠ΅ Ρ†Π΅Π»Π΅ΠΉ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ слуТат миксины. Если Π²Ρ‹ считаСтС, Ρ‡Ρ‚ΠΎ использованиС наслСдования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ сСлСкторы, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄.

03. SASS ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ β€” ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ вычислСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SASS

SASS ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² CSS: слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ простыС рассчСты Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ стилСй. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

SASS ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
+Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
–ВычитаниС
*Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅
/Π”Π΅Π»Π΅Π½ΠΈΠ΅
%ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: сущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для опрСдСлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² SASS.

SASS ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ИспользованиС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

Никогда Π½Π΅ совмСщайтС Ρ€Π°Π·Π½Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ измСрСния Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…!

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ нСльзя ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ 60px Π½Π° 2px, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ получится 120pxpx. Как ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ со слоТСниСм ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ Π½Π° пиксСли.

ΠŸΡ€ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ 100px/2 ΠΈ 100px/2px Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ΠΎΠ΅ руководство ΠΏΠΎ Sass/SCSS

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

Π Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ΠΎΠ΅ руководство ΠΏΠΎ Sass/SCSS

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π’Π΅ΡΡŒ ΠΊΠΎΠ΄ Sass/SCSS компилируСтся Π² CSS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ. Π’ настоящСС врСмя Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Sass/SCSS ΠΈΠ»ΠΈ с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ прСпроцСссором CSS Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, стандартная ΠΆΠ΅ спСцификация CSS Π½Π΅ прСдоставляСт Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sass/SCSS вмСсто CSS?

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Sass

Sass Π½Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½. Π£ вас Π½Π΅ получится Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ/ΠΈΠ»ΠΈ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS-свойства ΠΈ значСния Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Но ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным способом ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ стандартным свойствам (Π²Ρ€ΠΎΠ΄Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π½Π° CSS) Π·Π°ΠΈΠΌΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‚Ρ‚ΡƒΠ΄Π°.

Бинтаксис

SCSS особо Π½Π΅ добавляСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй CSS, ΠΊΡ€ΠΎΠΌΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса, часто ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ врСмя написания ΠΊΠΎΠ΄Π°.

ΠŸΡ€Π΅Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹

БущСствуСт 5 CSS-прСпроцСссоров: Sass, SCSS, Less, Stylus ΠΈ PostCSS.

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ большСй части ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ SCSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Sass. Π”Π΅Ρ‚Π°Π»ΡŒΠ½Π΅Π΅ ΠΎΠ± этих прСпроцСссорах ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° Stack Overflow (ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π») ΠΈΠ»ΠΈ Π½Π° qaru (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π° русский).

SASS β€” (.sass) Syntactically Awesome Style Sheets.

SCSS β€” (.scss) Sassy Cascading Style Sheets.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π”Ρ€ΡƒΠ³ΠΈΠ΅ прСпроцСссоры Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° SCSS, Π½ΠΎ синтаксис ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. А Π΅Ρ‰Ρ‘, всё Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² CSS, Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ прСкрасно Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈ Π² Sass, ΠΈ Π² SCSS.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Sass ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ присвоСны Π»ΡŽΠ±ΠΎΠΌΡƒ свойству.

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ CSS-элСмСнты с использованиСм ΠΏΡ€ΠΎΠ±Π΅Π»Π°:

Π’Π΅ ΠΆΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SCSS:

Как Π²ΠΈΠ΄Π½ΠΎ, синтаксис выглядит Π±ΠΎΠ»Π΅Π΅ чистым ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΡΡ.

Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ свойства записаны Π² ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ структурС ΠΌΠ°ΠΊΠ΅Ρ‚Π° прилоТСния.

Π—Π° кулисами прСпроцСссор всё Π΅Ρ‰Ρ‘ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Π² стандартный ΠΊΠΎΠ΄ CSS (ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΡ‘Π½ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. ΠœΡ‹ лишь измСняСм способ написания CSS.

АмпСрсанд

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа & Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ вставлСн Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ сСлСктор.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции Sass (ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°) Π² CSS Π½ΠΈΠΆΠ΅.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ампСрсанд Π±Ρ‹Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта a ( a:hover ).

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ (ΠΎΠ½ΠΈ ΠΆΠ΅ примСси)

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сСлСкторы, Π² Ρ‚ΠΎΠΌ числС со свойствами. А сСлСкторы ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ссылки Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт Ρ‡Π΅Ρ€Π΅Π· ампСрсанд ( & ), Π²Ρ‹ вСдь ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎ Π½Π΅Π³ΠΎ?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΉ CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ придётся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π· Π½Π° сайтС. Π₯ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ использованиС миксинов для Π²Π΅Π½Π΄ΠΎΡ€Π½Ρ‹Ρ… прСфиксов. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Как ΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с числами, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нСсовмСстимы Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, слоТСниС Ρ€Ρ… ΠΈ em ).

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅

ВсСгда ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΈΠΏ складываСмых Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎ Π΅ΡΡ‚ΡŒ пиксСли ΠΊ пиксСлям, слоны ΠΊ слонам. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, Π½ΠΎ со Π·Π½Π°ΠΊΠΎΠΌ минус.

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π”Π΅Π»Π΅Π½ΠΈΠ΅

Π‘ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π΅Π»Π° обстоят Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠΆΠ½ΠΎ, вСдь Π² стандартном CSS косая линия (слэш) Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π° для использования ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ записи свойств. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅.

Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌΠ΅ΠΊΠ½ΡƒΡ‚ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ дСлСния:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции Π² CSS:

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ вычисляСт остаток ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния. НиТС рассмотрим, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Β«Π·Π΅Π±Ρ€ΡƒΒ» для HTML-списка.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ миксина zebra ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΠΎ вставкС ΠΊΠΎΠ΄Π° свСрху. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ @for ΠΈ @if описаны Π² сСкции Π½ΠΈΠΆΠ΅.

Для создания ΠΎΠ±Ρ€Π°Π·Ρ†Π° Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько HTML-элСмСнтов.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

Π—Π΅Π±Ρ€Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сгСнСрирована миксином zebra

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

ПослС компиляции Π² CSS:

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

ОписаниС логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

ИспользованиС логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Sass для создания ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ„ΠΎΠ½ Π² зависимости ΠΎΡ‚ Π΅Ρ‘ ΡˆΠΈΡ€ΠΈΠ½Ρ‹.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π’ CSS ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 2 Ρ‚ΠΈΠΏΠ° строк: с ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ ΠΈ Π±Π΅Π·. Sass распознаёт ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π² CSS Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ использовали Π² Sass.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строки Π² допустимыС значСния CSS Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли добавлСнная строка являСтся Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌ элСмСнтом.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ дСмонстрируСт, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ строки Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Ссли Π² Π½ΠΈΡ… Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ скомпилирован.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, содСрТащиС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ. РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ слоТСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк:

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ строк ΠΈ чисСл:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ управлСния ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ

Π’ SCSS Π΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ( function() ) ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ( @directive ). Π§ΡƒΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΌΡ‹ ΡƒΠΆΠ΅ рассматривали ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΡƒΡ‡Π°Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ миксинов.

Подобно JavaScript, SCSS позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со стандартным Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² управлСния ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ.

if() β€” это функция (ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° основа искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°).

Π•Ρ‘ использованиС выглядит довольно ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ: ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π² условии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

@if β€” это Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°ΡΡΡ для развСтвлСния Π½Π° основС условия.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… рассмотрим созданиС условных CSS-стилСй Π² зависимости ΠΎΡ‚ наличия Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @for

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @for Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π°Π±ΠΎΡ€ стилСй Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число Ρ€Π°Π·. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ повторСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная-счётчик для измСнСния Π²Ρ‹Π²ΠΎΠ΄Π°.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @for итСрируСтся 5 Ρ€Π°Π·.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции Π² CSS:

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @each

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ компиляции Π² CSS:

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @while

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Sass/SCSS

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Sass/SCSS ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Sass ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ любоС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CSS ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π»ΡŽΠ±ΠΎΠΌΡƒ свойству. Они Π΄Π°ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ рассчитаны Π½Π° основС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

ВригономСтрия

ВригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sin() ΠΈ cos() часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ встроСнных классов Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ JavaScript, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π˜Ρ… Ρ€Π°Π±ΠΎΡ‚Ρƒ стоит ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для создания Ρ‚Ρ€ΠΎΠ±Π±Π΅Ρ€Π°. ΠœΡ‹, кстати, ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎΠ± этом Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· статСй. Но Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄, Π° Π½Π΅ gif-ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, вставлСнная Π² HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ использования Ρ‚Ρ€ΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π² сочСтании с CSS выраТаСтся Π² отсутствии Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… HTTP-запросов, ΠΊΠ°ΠΊ это происходит с gif-изобраТСниями.

МоТно ΠΏΠΈΡΠ°Ρ‚ΡŒ тригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Sass. Об этом Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π΄Π°Π»Π΅Π΅.

НаписаниС собствСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

НаписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° Sass/SCSS ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° написаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ pow() :

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ rad() :

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, CSS ΡƒΠΆΠ΅ достаточно ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ€ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ JavaScript. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ экономит врСмя. ΠšΡΡ‚Π°Ρ‚ΠΈ, заглянитС Π² ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½Π°ΡˆΠΈΡ… статСй, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ описаны возмоТности соврСмСнного CSS.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Sass @mixin ΠΈ @include

Sass ΠœΠΈΠΊΡΠΈΠ½Ρ‹

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @mixin позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ CSS-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° всСм Π²Π΅Π±-сайтС.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @include создана, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ) миксин.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ миксина

Sass @mixin Бинтаксис:

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся миксин с ΠΈΠΌΠ΅Π½Π΅ΠΌ «important-text»:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠΎ дСфисам ΠΈ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΡŽ Π² Sass: дСфисы ΠΈ подчСркивания ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ @mixin important-text < >ΠΈ @mixin important_text < >ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ миксином!

ИспользованиС миксина

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @include ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ миксина.

Sass @include Бинтаксис миксина:

Π’.ΠΎ., Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ миксин с Π²Π°ΠΆΠ½Ρ‹ΠΌ тСкстом, созданный Π²Ρ‹ΡˆΠ΅:

ВранспиллСр Sass ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ CSS:

Миксин Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ миксины:

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² миксин

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² миксин.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ миксин с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ:

.myArticle <
@include bordered(blue, 1px); // Π’Ρ‹Π·ΠΎΠ² миксина с двумя значСниями
>

.myNotes <
@include bordered(red, 2px); // Π’Ρ‹Π·ΠΎΠ² миксина с двумя значСниями
>

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ значСния (Ρ†Π²Π΅Ρ‚ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π°) свойства Π³Ρ€Π°Π½ΠΈΡ†Ρ‹.

ПослС компиляции CSS Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

.myArticle <
border: 1px solid blue;
>

.myNotes <
border: 2px solid red;
>

ЗначСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для миксина

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… миксина:

Π—Π°Ρ‚Π΅ΠΌ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ миксина:

ИспользованиС миксина для прСфиксов поставщиков

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прСобразования:

.myBox <
@include transform(rotate(20deg));
>

ПослС компиляции CSS Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠŸΠΠ›Π˜Π’Π Π Π¦Π’Π•Π’ΠžΠ’

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ миксины Π² css

ΠŸΠ Π˜Π‘ΠžΠ•Π”Π˜ΠΠ―Π™Π’Π•Π‘Π¬!

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ваш
Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ сСгодня!

Бвязь с админом

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ошибкС, Π° Ρ‚Π°ΠΊΠΆΠ΅ внСсти ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ сайта, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ объявлСниС ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ Π½Π° сайт, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π°Π΄ΠΌΠΈΠ½Ρƒ элСктронноС письмо Π½Π° email:

Π’ΠΎΠΏ Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ

Π’ΠΎΠΏ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ

Π’ΠΎΠΏ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π’Π΅Π± Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹

Π­Ρ‚ΠΎΡ‚ сайт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для обучСния ΠΈ тСстирования. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Ρ‹ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ чтСния ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ понимания. Π£Ρ‡Π΅Π±Π½Ρ‹Π΅ пособия, ссылки ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ постоянно ΠΏΠ΅Ρ€Π΅ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок, Π½ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ всСго ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот сайт, Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ ΠΈ приняли условия использования, cookie ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ бСсплатно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ„Π»Π°ΠΉΠ½ Π²Π΅Ρ€ΡΠΈΡŽ сайта W3Schools Π½Π° русском Π°Ρ€Ρ…ΠΈΠ²ΠΎΠΌ с GitHub ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ локально Π½Π° своём ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.
Π’Π°ΠΊΠΆΠ΅ доступна вСрсия сайта W3Schools Π½Π° украинском языкС.
Copyright 1999-2021 by Refsnes Data. All Rights Reserved.
Π‘Π°ΠΉΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ W3.CSS.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *