рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдореВрд╣реЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ рдореЗрдВ рдЕрдВрддрд░ рдЕрдзрд┐рдХ рдзреБрдВрдзрд▓рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореИрдВрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рджреЛрдиреЛрдВ рд╕рдореВрд╣реЛрдВ (рдореЛрдмрд╛рдЗрд▓ рдлреЛрди, рдЯреИрдмрд▓реЗрдЯ, рд▓реИрдкрдЯреЙрдк, рдбреЗрд╕реНрдХрдЯреЙрдк) рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдгреЛрдВ (iPhone 5, iPhone X, iPad Pro 12, рдЖрджрд┐) рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдпрд╣ рдирд┐рдХрд▓рд╛, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, SASS рдорд┐рд╢реНрд░рдг рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреИрдХ рд╣реИред рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ, рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдЖрдк рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рднреА рджреЗрддреЗ рд╣реИрдВред

рд╡реИрд╕реЗ,
рдбреЗрдореЛ рдпрд╣рд╛рдВ рдкреЛрдХ рдХрд░реЗрдВ ред
рдЖрд░рдХреНрд╖рдг рдХреЗ рдХреБрдЫ рдЬреЛрдбрд╝реЗ:
рд╕реНрдерд╛рдкрдирд╛
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
$ yarn add sass-mediascreen $ npm install sass-mediascreen $ curl -O https://raw.githubusercontent.com/gvozdb/sass-mediascreen/master/_mediascreen.scss
рдФрд░ рдорд┐рдХреНрд╕рд┐рдВрд╕ рдХреЛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:
@import "mediascreen";
рдЙрджрд╛рд╣рд░рдг
рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
@include device(iPhone5, portrait) { // portrait orientation // iPhone 5, iPhone 5s, iPhone 5c, iPhone SE } @include device(iPhone6Plus iPhoneXR, landscape) { // landscape orientation // iPhone 6+, iPhone 6s+, iPhone 7+, iPhone 8+, iPhone XR } @include device(iPadPro10 iPadPro11 iPadPro12) { // all orientations // iPad Pro 10.5, iPad Pro 11, iPad Pro 12.9 }
рдпрд╣рд╛рдБ рдЙрдкрдХрд░рдг рд╕рдореВрд╣ рд╣реИрдВ:
@include device(desktop) { // all orientations // desktop } @include device(mobile tablet laptop, landscape) { // landscape orientation // mobile, tablet, laptop } @include device(mobile-landscape tablet laptop) { // landscape orientation // mobile // all orientations // tablet, laptop } @include device(mobile-landscape tablet laptop, portrait) { // landscape orientation // mobile // portrait orientation // tablet, laptop }
рдФрд░ рдпреЗ рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ (рд╕реЗ,) рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╡рд░реНрддрдорд╛рди рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдорд┐рд╢реНрд░рдг рд╣реИрдВ:
@include screen(min-width, max-width, orientation) {/*...*/} @include min-screen(width) {/*...*/} @include max-screen(width) {/*...*/} @include screen-height(min-height, max-height, orientation) {/*...*/} @include min-screen-height(height) {/*...*/} @include max-screen-height(height) {/*...*/} @include landscape() {/*...*/} @include portrait() {/*...*/}
рд╕рдорд░реНрдерд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА
рд╕рдореВрд╣реЛрдВ- рдореЛрдмрд╛рдЗрд▓реНрд╕ 320-767px -
mobile
,
mobile-portrait
,
mobile-landscape
- рдЯреИрдмрд▓реЗрдЯ 768-1023px -
tablet
,
tablet-portrait
,
tablet-landscape
- рд▓реИрдкрдЯреЙрдк 1024-1199px -
laptop
,
laptop-portrait
,
laptop-landscape
- рдбреЗрд╕реНрдХрдЯреЙрдк> = 1200px -
desktop
,
desktop-portrait
,
desktop-landscape
рдЯреЗрд▓реАрдлреЛрди- iPhone 5, 5s, 5c, SE -
iphone5
,
iphone5s
,
iphone5c
,
iphonese
- iPhone 6, 6s, 7, 8 -
iphone6
,
iphone6s
,
iphone7
,
iphone8
- iPhone 6+, 6s +, 7+, 8+ -
iphone6plus
,
iphone6splus
,
iphone7plus
,
iphone8plus
- iPhone X, XS -
iphonex
,
iphonexs
- iPhone XR -
iphonexr
- iPhone XS рдореИрдХреНрд╕ -
iphonexsmax
рдЧреЛрд▓рд┐рдпрд╛рдБ- рдЖрдИрдкреИрдб 1, 2, рдорд┐рдиреА, рдПрдпрд░ -
ipad1
,
ipad2
,
ipadmini
,
ipadair
- iPad 3, 4, рдкреНрд░реЛ 9.7 "-
ipad4
,
ipadpro9
,
ipadpro9
- рдЖрдИрдкреИрдб рдкреНрд░реЛ 10.5 "-
ipadpro10
- рдЖрдИрдкреИрдб рдкреНрд░реЛ 11.0 "-
ipadpro11
рд▓реИрдкрдЯреЙрдк- рдЖрдИрдкреИрдб рдкреНрд░реЛ 12.9 "-
ipadpro12
рдХрд╛рд╢, рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, iPad Pro 12 рдПрдХ рд▓реИрдкрдЯреЙрдк рд╣реИ!рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╕реНрдЯрдо рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
@import "mediascreen"
рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде
$ms-devices
Sass рд╡реЗрд░рд┐рдПрдмрд▓ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
$ms-devices: ( desktop-sm: ( group: true, // - min: 1200px, max: 1919px, ), desktop-md: ( group: true, min: 1920px, max: 2879px, ), desktop-lg: ( group: true, min: 2880px, ), pixel2xl: ( group: false, // - width: 411px, // or 412px?.. height: 823px, pixel-ratio: 3.5, ), macbook12: ( group: false, orientation: landscape, width: 1440px, height: 900px, pixel-ratio: 2, ), imac27: ( group: false, orientation: landscape, width: 5120px, height: 2880px, ), ); @import "mediascreen";
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
@include device(desktop-sm) { // desktop-sm } @include device(desktop-md) { // desktop-md } @include device(desktop-lg) { // desktop-lg } @include device(Pixel2XL, landscape) { // landscape orientation // Google Pixel 2XL } @include device(MacBook12) { // landscape orientation // MacBook 12 } @include device(iMac27) { // landscape orientation // iMac 27 }
рд╕рдВрджрд░реНрдн
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреАрдереБрдм рдкрд░рдПрдирдкреАрдПрдо рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдбреЗрдореЛ рдкреЗрдЬ