Gulp - ΡΠ±ΠΎΡΠΊΠ° MaxGraph
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Gulp 4
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΎΠΉ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΡΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
git clone <this repo>
ΠΠ°ΡΠ΅ΠΌ, Π½Π°Ρ
ΠΎΠ΄ΡΡΡ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ npm i
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² package.json Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ±ΠΎΡΠΊΠΈ (ΠΈΡΠΎΠ³ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² ΠΏΠ°ΠΏΠΊΡ app ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ):
gulp
- Π±Π°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ±ΠΎΡΠΊΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ browser-sync
gulp build
- ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ΅ Π°ΡΡΠ΅ΡΡ ΡΠΆΠ°ΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π²ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π½Π° Ρ
ΠΎΡΡΠΈΠ½Π³.
gulp cache
- ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ gulp build
, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° Ρ
ΠΎΡΡΠΈΠ½Π³ Π±Π΅Π· ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
gulp backend
- ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½Π° Π»ΠΈΡΠ΅Π½Π° Π½Π΅Π½ΡΠΆΠ½ΡΡ
Π²Π΅ΡΠ΅ΠΉ ΠΈΠ· dev-ΡΠ±ΠΎΡΠΊΠΈ, Π½ΠΎ Π½Π΅ ΡΠΆΠ°ΡΠ°, Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π±ΡΠΊΠ΅Π½Π΄Π΅ΡΠ°.
gulp zip
- ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π²Π°Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π² zip-Π°ΡΡ
ΠΈΠ².
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²
βββ src/ # ΠΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ
β βββ js # Π‘ΠΊΡΠΈΠΏΡΡ
β β βββ main.js # ΠΠ»Π°Π²Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ
β β βββ _vars.js # ΡΠ°ΠΉΠ» Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
β β βββ _vendor.js # ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
β β βββ _functions.js # ΡΠ°ΠΉΠ» Ρ Π³ΠΎΡΠΎΠ²ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π½Π° js
β β βββ _components.js # ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
β β βββ components # js-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
β β βββ vendor # ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
β βββ scss # Π‘ΡΠΈΠ»ΠΈ ΡΠ°ΠΉΡΠ° (ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ sass Π² scss-ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅)
β β βββ main.scss # ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΈΠ»Π΅ΠΉ
β β βββ vendor.scss # Π€Π°ΠΉΠ» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ vendor
β β βββ _fonts.scss # Π€Π°ΠΉΠ» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡΡΠΎΠ² (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½)
β β βββ _mixins.scss # Π€Π°ΠΉΠ» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ mixins
β β βββ _vars.scss # Π€Π°ΠΉΠ» Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ css- ΠΈΠ»ΠΈ scss-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
β β βββ _settings.scss # Π€Π°ΠΉΠ» Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»Π΅ΠΉ
β β βββ components # scss-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
β β βββ mixins # ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ
scss-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
β β βββ vendor # ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
css-ΡΡΠΈΠ»Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
β βββ partials # ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ html-ΡΠ°ΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ
β βββ img # ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
β β βββ svg # ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ svg Π² ΡΠΏΡΠ°ΠΉΡ
β βββ resources # ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡ
Π°ΡΡΠ΅ΡΠΎΠ² - php, Π²ΠΈΠ΄Π΅ΠΎ-ΡΠ°ΠΉΠ»Ρ, favicon ΠΈ Ρ.Π΄.
β β βββ fonts # ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΈΡΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ woff2
β βββ index.html # ΠΠ»Π°Π²Π½ΡΠΉ html-ΡΠ°ΠΉΠ»
βββ gulpfile.js # ΡΠ°ΠΉΠ» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Gulp
βββ package.json # ΡΠ°ΠΉΠ» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ
βββ .editorconfig # ΡΠ°ΠΉΠ» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°
βββ .ecrc # ΡΠ°ΠΉΠ» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° editorconfig-checker (ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ)
βββ .stylelintrc # ΡΠ°ΠΉΠ» Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ stylelint
βββ README.md # Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
- npm-ΡΠΊΡΠΈΠΏΡΡ
- Π Π°Π±ΠΎΡΠ° Ρ html
- Π Π°Π±ΠΎΡΠ° Ρ CSS
- Π Π°Π±ΠΎΡΠ° Ρ JavaScript
- Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ
- Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
- Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ
- Π’ΠΈΠΏΠΎΠ³ΡΠ°Ρ
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ VS Code
- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ
- ΠΠΎΡΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
npm-ΡΠΊΡΠΈΠΏΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ gulp-ΡΠΊΡΠΈΠΏΡΡ ΡΠ΅ΡΠ΅Π· npm. Π’Π°ΠΊΠΆΠ΅ Π² ΡΠ±ΠΎΡΠΊΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΠΎΠ΄ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³Ρ (editorconfig) ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ html.
npm run html
- Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡ html, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ html-ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΠ΅ app.
npm run code
- Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ editorconfig-checker Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³-ΡΠ°ΠΉΠ»Ρ.
Π Π°Π±ΠΎΡΠ° Ρ html
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ gulp-file-include Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ html-ΡΠ°ΠΉΠ» Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ partials. Π£Π΄ΠΎΠ±Π½ΠΎ Π΄Π΅Π»ΠΈΡΡ html-ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° ΡΠ΅ΠΊΡΠΈΠΈ.
ΠΠ»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ html-ΡΠ°ΡΡΠ΅ΠΉ Π² Π³Π»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
@include('partials/filename.html')
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ - ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ index.html, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gulp build
, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ html-ΠΊΠΎΠ΄ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
html-ΡΠ°ΠΉΠ»ΠΎΠ².
Π Π°Π±ΠΎΡΠ° Ρ CSS
Π ΡΠ±ΠΎΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ sass Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ scss.
Π‘ΡΠΈΠ»ΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² components, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π² main.scss.
ΠΠΠΠΠ: ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠΈΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π² main.scss Π΄Π»Ρ .page__body
.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ css-ΡΠ°ΠΉΠ»Ρ (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) - ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΠΈΡ Π² ΠΏΠ°ΠΏΠΊΡ vendor ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ _vendor.scss
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΌΠΈΠΊΡΠΈΠ½ - Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ mixins, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ Π² ΡΠ°ΠΉΠ» _mixins.scss.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ scss-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ - ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ _vars.scss ΡΠ°ΠΊΠΆΠ΅ Π² main.scss ΠΈΠ»ΠΈ Π² Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΎΠ½ Π½ΡΠΆΠ΅Π½, Π½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ :root.
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ css-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
@import
Π ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ app/css ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°:
main.css - Π΄Π»Ρ ΡΡΠΈΠ»Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ,
vendor.css - Π΄Π»Ρ ΡΡΠΈΠ»Π΅ΠΉ Π²ΡΠ΅Ρ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gulp build
, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ css-ΠΊΠΎΠ΄ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
css-ΡΠ°ΠΉΠ»ΠΎΠ².
Π Π°Π±ΠΎΡΠ° Ρ JavaScript
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ JS-ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ webpack.
JS-ΠΊΠΎΠ΄ Π»ΡΡΡΠ΅ Π΄Π΅Π»ΠΈΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ - Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ js-ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ²ΠΎΡ, ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. Π’Π°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΠΉΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ components, Π° ΠΏΠΎΡΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π² ΡΠ°ΠΉΠ» _components.js
Π ΡΠ°ΠΉΠ»Π΅ vars.js Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΡΠΎΠ΄Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Ρ.Π΄.
Π ΡΠ°ΠΉΠ»Π΅ main.js Π½ΠΈΡΠ΅Π³ΠΎ ΠΌΠ΅Π½ΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΠΎΠ½ ΡΠ΄Π΅Π»Π°Π½ ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· npm, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» _vendor.js. ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΡΡΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅Ρ Π² npm ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ - ΠΊΠ»Π°Π΄ΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΡ vendor ΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅, Π½ΠΎ ΡΠΆΠ΅ Ρ ΠΏΡΡΠ΅ΠΌ Π΄ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gulp build
, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ js-ΠΊΠΎΠ΄ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
js-ΡΠ°ΠΉΠ»ΠΎΠ².
Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ
Π’.ΠΊ. Π°Π²ΡΠΎΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ IE11, Π² ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΌΠ°ΡΠ° woff2 (ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π² ΠΌΠΈΠΊΡΠΈΠ½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ).
ΠΠ°Π³ΡΡΠΆΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ woff2 Π² ΠΏΠ°ΠΏΠΊΡ resources/fonts, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ @font-face
Π² ΡΠ°ΠΉΠ»Π΅ _fonts.scss.
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ ΠΆΠ΅ ΡΡΠΈΡΡΡ Π² <link preload>
Π² html.
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ favicon ΠΊΠ»Π°Π΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ img.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ svg-ΡΠΏΡΠ°ΠΉΡ, ΠΊΠ»Π°Π΄ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°ΠΉΡΠ° svg-ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΡ img/svg. ΠΡΠΈ ΡΡΠΎΠΌ, ΡΠ°ΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΊΠ°ΠΊ fill, stroke, style Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ. ΠΠ½ΡΠ΅ svg-ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ img.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gulp build
, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ img.
Π ΡΠ±ΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° webp ΠΈ avif ΡΠΎΡΠΌΠ°ΡΠΎΠ². ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ picture
. ΠΠ»Ρ background ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ jpg ΠΈΠ»ΠΈ png, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ image-set
ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ
ΠΡΠ±ΡΠ΅ ΡΠ΅ΡΡΡΡΡ (Π°ΡΡΠ΅ΡΡ) ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΡΠ²Π΅Π΄Π΅Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ°, Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ resources. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎ-ΡΠ°ΠΉΠ»Ρ, php-ΡΠ°ΠΉΠ»Ρ (ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΠ» ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΡΠΌΡ), favicon ΠΈ ΠΏΡΠΎΡΠΈΠ΅.
Π’ΠΈΠΏΠΎΠ³ΡΠ°Ρ
ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΡΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠΈΠΏΠΎΠ³ΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π½Π΅ΡΠ°Π·ΡΡΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈ ΠΈΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΊΡΡ Π²Π΅Π·Π΄Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ Π΄Π»Ρ VS Code
Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ VS Code, ΠΈ Π² ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΡΡΠΈΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ. Π’Π°ΠΊ, ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΡΠΎ ΡΠ±ΠΎΡΠΊΠΎΠΉ Π² VS Code, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ ΡΠ°Π½Π΅Π΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ±ΠΎΡΠΊΠΈ.
Π‘Π°ΠΌΡΠΉ Π²Π°ΠΆΠ½ΡΠΉ ΠΈΠ· Π½ΠΈΡ β projects snippets, ΡΡΠΎΡ ΠΏΠ»Π°Π³ΠΈΠ½ "Π²ΠΊΠ»ΡΡΠ°Π΅Ρ" Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈ Π±ΡΡΡΡΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ (Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ .vscode/snippets), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡ Π²ΡΡΠ΅. ΠΡΠ΅ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° g-. Π ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ°Ρ ΠΏΠΎΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ html (Π±ΡΡΡΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, ΡΠΎΡΡΠ΅ΡΠ΅ΠΉ, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³Π° picture Ρ webp ΠΈ avif ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅).
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ Ρ scss-ΠΌΠΈΠΊΡΠΈΠ½Π°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°-Π±ΡΡΠ³Π΅Ρ. Π‘Π½ΠΈΠΏΠΏΠ΅Ρ g-burger ΡΠΎΠ·Π΄Π°ΡΡ Π²Π°ΠΌ html-ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π±ΡΡΠ³Π΅ΡΠ°, Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Π° @include burger Π΄ΠΎΠ±Π°Π²ΠΈΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠΎΠ² Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠΎΡΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
Π ΡΠ±ΠΎΡΠΊΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅, ΡΠ°ΡΡΠΎ-ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠΈΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π ΡΠ°ΠΉΠ»Π΅ functions.js ΠΎΠΏΠΈΡΠ°Π½Ρ Π»ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π½ΡΠΆΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» modal.js Π² ΠΏΠ°ΠΏΠΊΠ΅ components, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» components.js ΠΈ ΡΠΆΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ modal.js ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΡΠ³Π΅Ρ ΠΌΠ΅Π½Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ Π±ΡΡΠ³Π΅Ρ ΠΊ ΡΠ΅Π±Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ:
- Π html Π²ΡΠ·Π²Π°ΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅Ρ
g-burger
- ΠΠ° Π²Π°ΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π² html Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡ
data-menu
- Π scss Π²ΡΠ·Π²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½
burger
.burger { @include burger }
- ΠΠ°ΠΉΡΠΈ Π² ΡΠ°ΠΉΠ» js/_functions.js ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ js-ΡΠ°ΠΉΠ»Π° Π±ΡΡΠ³Π΅ΡΠ°
- ΠΠ°ΡΡΡΠΎΠΈΡΡ ΡΡΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π° ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ°
menu--active
ΠΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΊ ΡΠ΅Π±Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ:
- Π html Π²ΡΠ·Π²Π°ΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅Ρ
g-graph-btn
. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π²Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π»ΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡdata-graph-path
- ΠΠ°Π»Π΅Π΅ Π²ΡΠ·Π²Π°ΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅Ρ
g-graph-modal
. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ ΠΎΠΊΠ½Π°. ΠΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° - ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΠΎ ΠΌΠ°ΠΊΠ΅ΡΡ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡdata-graph-target
Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΈ Ρdata-graph-path
- ΠΠ°ΠΉΡΠΈ Π² ΡΠ°ΠΉΠ» vendor.scss ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° graph-modal.min.css
- ΠΠ°ΠΉΡΠΈ Π² ΡΠ°ΠΉΠ» js/_functions.js ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
GraphModal
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΎΠ»Π»ΠΎΠΌ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ\Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΊΡΠΎΠ»Π» Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π°ΠΆΠ΅ Π½Π° iPhone). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ:
- ΠΠ°ΠΉΡΠΈ Π² ΡΠ°ΠΉΠ» js/_functions.js ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ
disableScroll
,enableScroll
. ΠΠ°ΠΆΠ½ΠΎ!. ΠΡΠ»ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π±Π»ΠΎΠΊΠΈ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΏΠΊΠ°), Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΅ΠΉ ΠΊΠ»Π°ΡΡfixed-block
, ΡΡΠΎΠ±Ρ ΡΡΠΎΡ Π±Π»ΠΎΠΊ Π½Π΅ ΠΏΡΡΠ³Π°Π» ΠΏΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΊΡΠΎΠ»Π»Π°.
ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ functions, Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²Π°ΠΌ.
Π’Π°Π±Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΠ°Π±Ρ ΠΊ ΡΠ΅Π±Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ:
- Π html Π²ΡΠ·Π²Π°ΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅Ρ
g-tabs
. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΠ², Π²Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π»ΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡdata-tabs
- ΠΠ»Ρ ΠΊΠ»Π°ΡΡΠ°
.tabs
Π²ΡΠ·Π²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½tabs
Π² scss (ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ· npm Π² ΡΠ°ΠΉΠ»Π΅ vendor.scss) - ΠΠ°ΠΉΡΠΈ Π² ΡΠ°ΠΉΠ» js/_functions.js ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
GraphTabs
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π½Π° ΠΏΠΎΡΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΏΠΎΡΡΡ (ΠΏΠΎΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅). ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΎΡΠΌΡ, ΡΠΊΠ°Π·Π°Π² Ρ Π½Π΅Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ. Π’Π°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°.
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠ»Π°Π³ΠΈΠ½Π° just-validate, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
const rules1 = [
{
ruleSelector: '.input-name',
rules: [
{
rule: 'minLength',
value: 3
},
{
rule: 'required',
value: true,
errorMessage: 'ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΈΠΌΡ!'
}
]
},
{
ruleSelector: '.input-tel',
tel: true,
telError: 'ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½',
rules: [
{
rule: 'required',
value: true,
errorMessage: 'ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½!'
}
]
},
];
ΠΠΠΠΠ. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΎΡΠΌΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠΌ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠΈΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ: tel: true, telError: 'ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°'
.
3. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ validateForms
, ΠΎΠ½Π° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² functions.js, ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΡΡΠ΄Π° ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
3.1. Π‘ΡΡΠΎΠΊΡ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ ΡΠΎΡΠΌΡ
3.2. ΠΠ°ΡΡΠΈΠ² ΠΏΡΠ°Π²ΠΈΠ»
3.3. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, ΡΠΎΠ³Π΄Π° Π΅Π΅ ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ validateForms
.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import { validateForms } from './functions/validate-forms';
const rules1 = [
{
ruleSelector: '.input-name',
rules: [
{
rule: 'minLength',
value: 3
},
{
rule: 'required',
value: true,
errorMessage: 'ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΈΠΌΡ!'
}
]
},
{
ruleSelector: '.input-tel',
tel: true,
telError: 'ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½',
rules: [
{
rule: 'required',
value: true,
errorMessage: 'ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½!'
}
]
},
];
const afterForm = () => {
console.log('ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠ°, ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ');
};
validateForms('.form-1', rules1, afterForm);
Throttle-ΡΡΠ½ΠΊΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΠ³Π»Π°Π΄ΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ throttle. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ:
- Π Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ throttle()
- ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, func()
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² Π²Π°ΡΠ΅ΠΉ ΡΡΠΊΠ½ΡΠΈΠΈ Π²Π½ΡΡΡΠΈ throttle, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
let f = throttle(func)
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ Π² Π²ΡΠ·ΠΎΠ²Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
window.addEventListener('resize', f)
Π€ΠΈΠΊΡ ΡΡΠ»ΡΠΊΡΠΈΠ½ Π±Π»ΠΎΠΊΠΎΠ²
ΠΠ΅ΡΠ΅Π΄ΠΊΠΎ Π±Π»ΠΎΠΊΠΈ Ρ Π²ΡΡΠΎΡΠΎΠΉ 100vh Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ . Π Π΅ΡΠΈΡΡ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ fix-fullheight:
- Π Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π° fix-fullheight.js
- ΠΠ°Π·Π½Π°ΡΡΡΠ΅ Π½Π° Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ Π±Π»ΠΎΠΊ Π²ΡΡΠΎΡΡ Π½Π΅ 100vh, Π°
var(--vh)
ΠΠ»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π½Π΅Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ throttle. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±ΡΠ°ΡΡ Π΅Π³ΠΎ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° fix-fullheight.js.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΡΡ ΡΠ°ΠΏΠΊΠΈ
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡΠ½ΡΡ Π²ΡΡΠΎΡΡ ΡΠ°ΠΏΠΊΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠ΄Π΅Π»Π°Π½Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ ΠΈΠ»ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ getHeaderHeght
. ΠΠ°ΠΊ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- Π Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π° header-height.js
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ css-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
--header-height
Π² Π½ΡΠΆΠ½ΠΎΠΌ Π²Π°ΠΌ ΠΌΠ΅ΡΡΠ΅
ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ functions, Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²Π°ΠΌ.
ΠΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΡΠΊΡΠΎΠ»Π»
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΡΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΎΠ»Π»Π° Π² ΡΠ±ΠΎΡΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ»Π°Π³ΠΈΠ½ simplebar.js. ΠΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- Π Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ ΠΏΠ»Π°Π³ΠΈΠ½Π° simplebar
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΡΠΆΠ½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²ΡΡΠΎΡΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡ
data-simplebar
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΡΠΏΠΎΡΡΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΠΈΠ½Π΅ (ΠΏΠΎΠΊΠ° ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΡΠ°ΠΉΠ·Π° Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°) Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΡΠΎΠ²ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ isMobile()
, isTablet()
, isDesktop()
. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΡΡ ΠΈΠ· Π½ΠΈΡ
ΠΈΠ· ΡΠ°ΠΉΠ»Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ if
.
Π’ΡΠ»ΡΠΈΠΏΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΡΠ»ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΌ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ ΠΎΡΡΡΡΠΏΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ js. ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- Π html Π²ΡΠ·Π²Π°ΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅Ρ
g-tooltip
. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π²Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π»ΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡΡaria-describedby
ΠΈid
. - ΠΠ°Π»Π΅Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ»ΡΠΈΠΏΡ (ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ functions.js), ΠΈ Π²ΠΌΠ΅ΡΡΠΎ el ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ id ΠΈΠ»ΠΈ class ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡΠ»ΡΠΈΠΏΠ°, Π° Π²ΠΌΠ΅ΡΡΠΎ tooltip ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ id ΠΈΠ»ΠΈ class ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠ»ΡΠΈΠΏΠ°.
- ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»ΡΠΈΠΏ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ.
Π‘Π»Π°ΠΉΠ΄Π΅Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ swiper-ΡΠ»Π°ΠΉΠ΄Π΅Ρ. ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- Π html Π²ΡΠ·Π²Π°ΡΡ ΡΠ½ΠΈΠΏΠΏΠ΅Ρ
g-swiper
. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ²Π°ΠΉΠΏΠ΅Ρ-ΡΠ»Π°ΠΉΠ΄Π΅ΡΠ°, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΡΠ²Π°ΠΉΠΏΠ΅Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. - Π Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΈΠ»Π΅ΠΉ Π² ΡΠ°ΠΉΠ»Π΅ vendor.scss
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΌ ΡΠ²Π°ΠΉΠΏΠ΅Ρ (ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ functions.js) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΡΠ»Π΅Π΄ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΊΡΠΎΠ»Π»Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ Π½Π°Π±ΡΠΎΡΠ°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ ΠΏΠΎ ΡΠΊΡΠΎΠ»Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°. ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ AOS.js (ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ functions.js) ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
- Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ.
ΠΠ°ΡΠ°Π»Π»Π°ΠΊΡ ΠΏΠΎ ΡΠΊΡΠΎΠ»Π»Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ Π½Π°Π±ΡΠΎΡΠ°ΡΡ ΠΏΠ°ΡΠ°Π»Π»Π°ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠΊΡΠΎΠ»Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°. ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ rellax.js (ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ functions.js) ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΠΊΠ»Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²).
- ΠΠ°Π΄Π°ΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π½ΡΠΆΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ.
ΠΠ»Π°Π²Π½ΡΠΉ ΡΠΊΡΠΎΠ»Π» ΠΊ ΡΠΊΠΎΡΡΠΌ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ»Π°Π²Π½ΡΠΉ ΡΠΊΡΠΎΠ»Π» ΠΊ ΡΠΊΠΎΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π°ΠΆΠ΅ Π² Safari, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°. ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ smooth-scroll.js (ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ functions.js) ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π²ΡΠ΅Ρ ΡΠΊΠΎΡΠ½ΡΡ ΡΡΡΠ»ΠΎΠΊ.
- Π Π°Π·Π΄Π°ΡΡ Π²ΡΠ΅ΠΌ ΡΠΊΠΎΡΠ½ΡΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ Π°ΡΡΠΈΠ±ΡΡ
data-scroll
.
Π‘Π²Π°ΠΉΠΏΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ²Π°ΠΉΠΏΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°. ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ swiped-events.js (ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ functions.js).
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°.
ΠΠΈΠΊΡΠΈΠ½ Π΄Π»Ρ Flex-layout (ΡΠ΅ΡΡΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ)
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΌΠΈΠΊΡΠΈΠ½ flex-layout (ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ mixins), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΡΠ΅ΡΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠΊΡ Π±ΡΡΡΡΠΎ ΠΈ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
<div class="cards">
<div class="cards__item">Π’Π΅ΠΊΡΡ</div>
<div class="cards__item">Π’Π΅ΠΊΡΡ</div>
<div class="cards__item">Π’Π΅ΠΊΡΡ</div>
<div class="cards__item">Π’Π΅ΠΊΡΡ</div>
<div class="cards__item">Π’Π΅ΠΊΡΡ</div>
<div class="cards__item">Π’Π΅ΠΊΡΡ</div>
</div>
$options: (
parentClass: "cards",
itemsClass: "cards__item",
desktopGap: 30px,
desktopElems: 3,
tablet: "1024px",
tabletElems: 2,
tabletGap: 30px,
mobile: "600px",
mobileElems: 1,
mobileGap: 20px
);
@include flex-layout($options);
Π ΠΎΠΏΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ»Π°ΡΡ-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΠ»Π΅ΠΊΡ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ², ΠΊΠ°ΠΊΠΎΠΉ Ρ Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΡΠΏ, Π½Π° ΠΊΠ°ΠΊΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎΠ»-Π²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²). ΠΠΎΠΊΠ° ΡΡΠΎ ΠΌΠΈΠΊΡΠΈΠ½ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π±ΡΠ΄Ρ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ΅Π±Ρ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ. ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΡΠ»ΡΡΡΠΈΡΡ, ΡΠ΄Π΅Π»Π°ΡΡ Π³ΠΈΠ±ΡΠ΅ ΠΈ Ρ.Π΄.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ±ΠΎΡΠΊΡ! ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΡΠΈΡΠ»ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° issue Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Ρ Π²ΡΠ΅ ΡΠΌΠΎΡΡΡ ΠΈ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈΡΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!