Tehnografi.com - ВСхнологичСскиС новости, ΠΎΠ±Π·ΠΎΡ€Ρ‹ ΠΈ совСты

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΈ Π»Π΅Π³ΠΊΠΎΠ΅ руководство ΠΏΠΎ пониманию Sass

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ: ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΈ Π»Π΅Π³ΠΊΠΎΠ΅ руководство ΠΏΠΎ пониманию Sass

НСкотороС врСмя Π½Π°Π·Π°Π΄ Thoriq Firdaus написал ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎ Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Sass, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ язык прСпроцСссора CSS (Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ).

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ€Π΅ΡˆΠΈΠ» Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с Sass ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь для создания Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° CSS. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ:

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ

Π’ΠΎΡ€ΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π» Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sass ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ sass –watch.

Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ инструмСнты с графичСским интСрфСйсом, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠΈΠΌ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Codekit, инструмСнтом Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° для компиляции Sass, ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ, автопрСфиксов ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Prepros β€” Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° всСх систСмах. Оба ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ прилоТСния Π½ΠΎ ΠΎΠ½ΠΈ Ρ‚ΠΎΠ³ΠΎ стоят, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² долгосрочной пСрспСктивС.

Если Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Sass Π½ΠΈ Π·Π° Ρ‡Ρ‚ΠΎ Π½Π΅ платя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Scout, бСсплатноС кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ уступаСт ΠΏΡ€Π΅ΠΌΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌ.

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

Одна ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, β€” это ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Если Π²Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΈΠ· PHP ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ языка кодирования, это Π±ΡƒΠ΄Π΅Ρ‚ для вас Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‚ΡƒΡ€ΠΎΠΉ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΡ‚ΠΎΠ² ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

$primary_color: #666666; .button {Ρ†Π²Π΅Ρ‚: $primary_color; } .important {Ρ†Π²Π΅Ρ‚: $primary_color; }

Π—Π΄Π΅ΡΡŒ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΡƒΠΆ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ 3000 строк ΠΊΠΎΠ΄Π°. Если ваша цвСтовая схСма измСнится, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° Π² CSS. Π‘ Sass Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $primary_color ΠΈ ΠΏΠΎΠΊΠΎΠ½Ρ‡ΠΈΠΌ с этим.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΈ мноТСства Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, стоит ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС ваши ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (скоро ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ это дСлаСтся).

Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Π°ΡΠΈΡ‚ΡŒ вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ аспСкты. Π΄Π°ΠΆΠ΅ Π½Π΅ касаясь настоящих ΠΏΡ€Π°Π²ΠΈΠ» CSS. ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Π’Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° базовая функция Sass β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ влоТСния ΠΏΡ€Π°Π²ΠΈΠ». ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ создаСтС Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ мСню. Π£ вас Π΅ΡΡ‚ΡŒ элСмСнт Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит нСупорядочСнный список, элСмСнты списка ΠΈ ссылки. Π’ CSS Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

#header nav { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для области Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ */ } #header nav ul { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для мСню */ } #header nav li { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для элСмСнтов списка */ } #header nav a { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для ссылок */ }

Π’ сСлСкторах ΠΌΡ‹ ΠΌΠ½ΠΎΠ³ΠΎ повторяСмся. Если элСмСнты ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΡ€Π½ΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ наши ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡ΠΈΡ‰Π΅.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠ³ Π±Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π² Sass:

#header { nav { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для области Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ */ } ul { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для мСню */ } li { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для элСмСнтов списка */ } a { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для ссылок */ } }

Π’Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй (Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ) Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ вмСстС с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ отступом, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ структуры ΠΊΠΎΠ΄Π°Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас достаточно ΠΊΠΎΠ΄Π°.

Одним ΠΈΠ· нСдостатков влоТСнности являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠΊΠ΅. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я ссылался Π½Π° ссылки с #header nav a. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ #header nav ul li a, Ρ‡Ρ‚ΠΎ, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ.

Π’ Sass Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ свои ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎ ΠΈ довольно спСцифично.

#header { nav { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для области Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ */ ul { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для мСню */ li { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для элСмСнтов списка */ a { /* ΠŸΡ€Π°Π²ΠΈΠ»Π° для ссылок */ } } } } }

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ»

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°ΠΊΠΎΠΌΠΎ Π²Π°ΠΌ, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками. Π›ΡƒΡ‡ΡˆΠ΅ всСго это ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим 3 ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСбольшими вариациями Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°.

.button { дисплСй: встроСнный Π±Π»ΠΎΠΊ; Ρ†Π²Π΅Ρ‚: #000; Ρ„ΠΎΠ½: #333; радиус Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 4px; отступ: 8px 11px; } .button-primary { @extend .button; Ρ„ΠΎΠ½: #0091C2 } .button-small { @extend .button; Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: 0.9em; отступ: 3px 8px; }

ВсС классы .button-primary ΠΈ .button-small Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ класс .button, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ всС Π΅Π³ΠΎ свойства, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ свои собствСнныС.

Π­Ρ‚ΠΎ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ элСмСнта. БообщСния (ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅/успСх/ошибка), ΠΊΠ½ΠΎΠΏΠΊΠΈ (Ρ†Π²Π΅Ρ‚Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹), Ρ‚ΠΈΠΏΡ‹ мСню ΠΈ Ρ‚.Β Π΄. β€” всС ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности CSS.

Одно прСдостСрСТСниС ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² мСдиазапросах ΠΊΠ°ΠΊ ΠΈ слСдовало ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТно, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всС ΠΎΠ± этом ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «ПониманиС сСлСкторов-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΉΒ» β€” сСлСкторы-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΠΈ β€” это особый Π²ΠΈΠ΄ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅.

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

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ β€” Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° любимая функция ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ прСпроцСссоров. ΠœΠΈΠΊΡΠΈΠ½Ρ‹ β€” это Π½Π°Π±ΠΎΡ€Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ использования, идСально подходящиС для ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ поставщика ΠΈΠ»ΠΈ для сокращСния Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» CSS.

Как насчСт создания ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° для элСмСнтов навСдСния:

@mixing hover-effect { -webkit-transition: background-color 200 мс; -moz-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄: Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° 200 мс; -ΠΎ-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄: Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° 200 мс; ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄: Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° 200 мс; } a { @include hover-effect; } .button { @include hover-effect; }

ΠœΠΈΠΊΡΠΈΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ значСния Π² миксинС. ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π½Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.

@mixin hover-effect ($ speed) { -webkit-transition: background-color $ speed; -moz-transition: Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ $ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ; -o-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄: Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° $ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ; ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄: Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° $ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ; } a { @include hover-effect (200 мс); } .button { @include hover-effect (300 мс); }

Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΠΈ

Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΠΈ Π±Ρ‹Π»ΠΈ прСдставлСны Π² Sass 3.2 ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, которая ΠΌΠΎΠ³Π»Π° привСсти ΠΊ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½ΠΈΡŽ сгСнСрированного ΠΊΠΎΠ΄Π° CSS. ВзглянитС Π½Π° этот ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…:

.message {Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: 1.1em; отступ: 11 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 1px; ΡΡ‚ΠΈΠ»ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: сплошной; } .message-danger { @extend .message; Ρ„ΠΎΠ½: #C20030; Ρ†Π²Π΅Ρ‚:#fff; Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: #A8002A; } .message-success { @extend .message; Ρ„ΠΎΠ½: #7EA800; Ρ†Π²Π΅Ρ‚:#fff; Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: #6B8F00; }

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, класс сообщСния Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² нашСм HTML: создан для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½ΠΈΡŽ сгСнСрированного CSS. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ эффСктивным, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСлСктор-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°:

%message { Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: 1.1em; отступ: 11 пиксСлСй; ΡˆΠΈΡ€ΠΈΠ½Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 1px; ΡΡ‚ΠΈΠ»ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: сплошной; } .message-danger { @extend %button; Ρ„ΠΎΠ½: #C20030; Ρ†Π²Π΅Ρ‚:#fff; Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: #A8002A; } .message-success { @extend %button; Ρ„ΠΎΠ½: #7EA800; Ρ†Π²Π΅Ρ‚:#fff; Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: #6D9700; }

На этом этапС Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ ΠΈ миксинами. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΠΈ, ΠΎΠ½ΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΊΠ°ΠΊ миксин Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²Π΄Π°, Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ Π² CSS отличаСтся. Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ миксины Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΠΊΠ° Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΠΈ позаботятся ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° раздСляли сСлСкторычто Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ количСству CSS.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π—Π΄Π΅ΡΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΊΠ°Π»Π°ΠΌΠ±ΡƒΡ€Π°, Π½ΠΎ я ΠΏΠΎΠΊΠ° Π²ΠΎΠ·Π΄Π΅Ρ€ΠΆΡƒΡΡŒ ΠΎΡ‚ мСдицинских ΡˆΡƒΡ‚ΠΎΠΊ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ CSS ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ чСртовски ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π² руководствС ΠΏΠΎ Sass идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для дСмонстрации этого:

.ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ {ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; } ΡΡ‚Π°Ρ‚ΡŒΡ { ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ: слСва; ΡˆΠΈΡ€ΠΈΠ½Π°: 600 пиксСлСй / 960 пиксСлСй * 100%; } Π² сторону { ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ: Π²ΠΏΡ€Π°Π²ΠΎ; ΡˆΠΈΡ€ΠΈΠ½Π°: 300 пиксСлСй / 960 пиксСлСй * 100%; }

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создаСтся систСма сСтки Π½Π° основС 960 пиксСлСй с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трудностями. Он Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ скомпилирован Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ CSS:

.ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ {ΡˆΠΈΡ€ΠΈΠ½Π°: 100%; } ΡΡ‚Π°Ρ‚ΡŒΡ { ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ: слСва; ΡˆΠΈΡ€ΠΈΠ½Π°: 62,5%; } Π² сторону { ΠΏΠΎΠΏΠ»Π°Π²ΠΎΠΊ: Π²ΠΏΡ€Π°Π²ΠΎ; ΡˆΠΈΡ€ΠΈΠ½Π°: 31,25%; }

Одно Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я Π½Π°Ρ…ΠΎΠΆΡƒ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, β€” это смСшиваниС Ρ†Π²Π΅Ρ‚ΠΎΠ². Если Π²Ρ‹ посмотритС Π½Π° сообщСниС ΠΎΠ± успСхС Sass Π²Ρ‹ΡˆΠ΅, нСясно, ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΠΈ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ связь. Вычитая ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ сСрого, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚, сдСлав взаимосвязь Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ:

$основной: #7EA800; .message-success { @extend %button; Ρ„ΠΎΠ½: $основной; Ρ†Π²Π΅Ρ‚:#fff; Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: $primary – #111; }

Π§Π΅ΠΌ свСтлСС Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ Ρ†Π²Π΅Ρ‚, Ρ‚Π΅ΠΌ Ρ‚Π΅ΠΌΠ½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ. Π§Π΅ΠΌ свСтлСС добавляСмый Ρ†Π²Π΅Ρ‚, Ρ‚Π΅ΠΌ свСтлСС получаСтся ΠΎΡ‚Ρ‚Π΅Π½ΠΎΠΊ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

БущСствуСт мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для использования: числовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, строковыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ списка, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ†Π²Π΅Ρ‚Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ВзглянитС Π½Π° Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π― взгляну Π½Π° ΠΏΠ°Ρ€Ρƒ здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Ѐункция освСтлСния ΠΈ затСмнСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для измСнСния яркости Ρ†Π²Π΅Ρ‚Π°. Π­Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ², это Π΄Π΅Π»Π°Π΅Ρ‚ всС Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ВзглянитС Π½Π° наш ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ затСмнСния.

$основной: #7EA800; .message-success { @extend %button; Ρ„ΠΎΠ½: $основной; Ρ†Π²Π΅Ρ‚:#fff; Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: Π·Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ($primary, 5); }

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ затСмнСния. ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹; взглянитС Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠ· сСбя ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚! Π’ΠΎΡ‚ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… пояснСний Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ†Π²Π΅Ρ‚Π°: обСсцвСчиваниС, насыщСниС, ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΈ сСрого.

Ѐункция ceil, ΠΊΠ°ΠΊ ΠΈ Π² PHP, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число, ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ расчСтС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ столбцов ΠΈΠ»ΠΈ Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ дСсятичных Π·Π½Π°ΠΊΠΎΠ² Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ CSS.

.title {Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: ceil($heading_size * 1.3314); }

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

ΠžΡ‚Π»Π°Π΄ΠΊΠ° β€” это ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ процСсс устранСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’ Ρ‚Π°ΠΊΠΈΡ… языках программирования, ΠΊΠ°ΠΊ PHP ΠΈ JavaScript, Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ var_dump (PHP) ΠΈΠ»ΠΈ console.log (JavaScript). Π’ этом случаС Sass прСдоставляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ @debug, @warn ΠΈ @error, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π² Sass.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° @debug.

$ Ρ€Π°Π·ΠΌΠ΅Ρ€: 600 пиксСлСй; div { $ ΡˆΠΈΡ€ΠΈΠ½Π° = $ Ρ€Π°Π·ΠΌΠ΅Ρ€ / 960 пиксСлСй * 100%; @debug β€œΠ¨ΠΈΡ€ΠΈΠ½Π°: #{$width}”; ΡˆΠΈΡ€ΠΈΠ½Π°: $ΡˆΠΈΡ€ΠΈΠ½Π°; }

ΠŸΡ€ΠΈ компиляции исходного ΠΊΠΎΠ΄Π° Sass Π² CSS Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС Π½Π° консоль ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».

style.scss:5 ΠžΠ’Π›ΠΠ”ΠšΠ: Π¨ΠΈΡ€ΠΈΠ½Π°: 0,625 пиксСлСй

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ @warn для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ увСдомлСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ значСния Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹.

$основной Ρ†Π²Π΅Ρ‚: #333; $Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚: #f3f3f3; div {$color-bg = Π·Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ($primary-color, 100%); $color-text = Π·Π°Ρ‚Π΅ΠΌΠ½ΠΈΡ‚ΡŒ ($secondary-color, 100%); Ρ„ΠΎΠ½: $color-bg; Ρ†Π²Π΅Ρ‚: $Ρ†Π²Π΅Ρ‚-тСкст; @if $color-bg == $color-text { @warn β€œΠ¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΈ тСкста – #{$color}!”; } }

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ сбросу содСрТимого Π½Π° консоль ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΡ€ΠΈ Π΅Π³ΠΎ компиляции Π² CSS. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΈ тСкста ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΈ тСкста Ρ€Π°Π²Π΅Π½ #000000! ΠšΠΎΡ€Π½Π΅Π²Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй style.scss 6:8

@error Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ @warn, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выбрасываСт ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ заставит компилятор Sass ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ исходного ΠΊΠΎΠ΄Π°.

Ошибка: β€œΠ¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΈ тСкста Ρ€Π°Π²Π΅Π½ #000000!” β•· 6 β”‚ @error β€œΠ¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΈ тСкста #{$color}!”; β”‚ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ β•΅ style.scss ΠšΠΎΡ€Π½Π΅Π²Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй 6:8

ΠžΠ±Π·ΠΎΡ€

ВозмоТности Sass Π΄Π°ΡŽΡ‚ Π½Π°ΠΌ большиС возмоТности для написания Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ CSS с мСньшими усилиями. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС примСсСй, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… сдСлаСт наши Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π² сопровоТдСнии, Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π±ΠΎΡ€Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ ΠΈ простыми Π² написании.

Если вас интСрСсуСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ прСпроцСссор CSS, я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° LESS (ΠΈΠ»ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с нашим руководством для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…) β€” основной ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅!