рд╕реИрд╕ 3.2 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде, рдСрдмреНрдЬреЗрдХреНрдЯ рдУрд░рд┐рдПрдВрдЯреЗрдб рд╕реАрдПрд╕рдПрд╕ (рдУрдУрд╕реАрдПрд╕рдПрд╕) рдкрде рдХреЛ рджреНрд░рд╡реНрдпрдорд╛рди рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЗрд╕рдХреЗ рд╕рд╛рде рдбреАрдЖрд░рд╡рд╛рдИ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд╕реЛрдЪ рд▓рд╛рдпрд╛ред рдореАрдбрд┐рдпрд╛ рдХреЗ рдкреНрд░рд╢реНрди рдФрд░ OOCSS рдЖрдЬ рдХреЗ рд╕рд╛рдордиреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЧрдП рд╣реИрдВред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдирдпрд╛ рд╣реИ
Sass рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬреНрдЮрд╛рдд
рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ
рд╣реИ ред рд╣рдо рдЙрдкрдЬ рдХреЗ рд░реВрдк рдореЗрдВ
рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рд╣рдореЗрдВ sass @mixin рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдиреЗрд╕реНрдЯреЗрдб рд╣реИред рдпрд╣ рдореВрд▓реНрдпрд╡рд╛рди рдШрдВрдЯреЗ рдмрдЪрд╛рдПрдЧрд╛ рдФрд░ рдХреЛрдб рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рдФрд░ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдПрдХ рдЕрдореВрд░реНрдд рдкрд░рдд рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, @mixin рдЙрддреНрддрд░ рджреЗрдВ:
$small: 320px; $large: 1024px; @mixin respond-to($media) { @if $media == handhelds { @media only screen and (max-width: $small) { @content; } } @else if $media == medium-screens { @media only screen and (min-width: $small + 1) and (max-width: $large - 1) { @content; } } @else if $media == wide-screens { @media only screen and (min-width: $large) { @content; } } } .block { float: left; width: 250px; @include respond-to(handhelds) { width: 100% ;} @include respond-to(medium-screens) { width: 125px; } @include respond-to(wide-screens) { float: none; } }тАЛ
рдХреЛрдб рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдЕрдзрд┐рдХ рд╕рд╛рд░реНрдердХ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдореАрдбрд┐рдпрд╛ рдХреЗрд╡рд▓ рд╕реНрдХреНрд░реАрди рдФрд░ (рдЕрдзрд┐рдХрддрдо-рдЪреМрдбрд╝рд╛рдИ: 320px) рдФрд░ (рдУрд░рд┐рдПрдВрдЯреЗрд╢рди: рдкреЛрд░реНрдЯреНрд░реЗрдЯ)ред
рд╕рднреА рдЬрд╛рджреВ
рд╕рд╛рдордЧреНрд░реА рд╣реИ , рдЬреЛ рд╣рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЙрди рдЧреБрдгреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдКрдкрд░ рдореАрдбрд┐рдпрд╛ рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕ рдбрд┐рдЬрд╛рдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЗрд╕ рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╣реЛрдиреЗ рдкрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
рд╕реИрд╕ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реАрдПрд╕рдПрд╕ рдорд┐рд▓рддрд╛ рд╣реИ:
.block { float: left; width: 250px; } @media only screen and (max-width: 320px) { .block { width: 100%; } } @media only screen and (min-width: 321px) and (max-width: 1023px) { .block { width: 125px; } } @media only screen and (min-width: 1024px) { .block { float: none; } }тАЛ
рдпрджрд┐ рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдИрдкреИрдб-рд▓реИрдиреНрд╕рд╕реНрдХреЗрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╕реАрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рднрд┐рдиреНрдирддрд╛рдУрдВ рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдирдпрд╛ @mixin рдмрдирд╛рдПрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
$ipad-landscape: 980px; @mixin apply-to($ltgt, $device) { $extrema: null; @if $ltgt == less-than { $extrema: max; } @if $ltgt == greater-than { $extrema: min } @if $device == $ipad-landscape { @media only screen and (#{$extrema}-width: $ipad-landscape) { @content; } } } .block { @include apply-to(less-than, ipad-landscape) { background: black; } }тАЛ
рдХрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ
рдпрд╣ рд╕рдм рдмрд╣реБрдд рдареАрдХ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рджрд┐рд▓рдЪрд╕реНрдк рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ IE рдореЗрдВ рдиреМрд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдиреАрдЪреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЕрд▓рдЧ рд╢реИрд▓реА рдХреА рдлрд╛рдЗрд▓реЗрдВ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реИ:
<link rel="stylesheet" href="css/all.css">
рдЪрд░
$old-ie: true;
IE рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
$old-ie: true;
рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ
$old-ie: true;
рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЪреМрдбрд╝рд╛рдИ рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдФрд░ рдореБрдЦреНрдп рд╢реИрд▓реА рдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИред рдореБрдЦреНрдп рд╢реИрд▓реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ IE $ рдкреБрд░рд╛рдиреЗ-рдпрд╛рдиреА рдЪрд░ рдЭреВрдареЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдВрдЧреЗред IE рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ @mixin рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЖрд╡реЗрджрди-рдкрддреНрд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдврд╝рд╛рдиреА рд╣реЛрдЧреА:
@mixin old-ie { @if $old-ie { @content; } } @mixin apply-to($ltgt, $device) { $extrema: null; @if $ltgt == less-than { $extrema: max; } @if $ltgt == greater-than { $extrema: min } @if $fix-mqs-ipad-landscape { @content; } @else { @media screen and (#{$extrema}-width: $device) { @content; } } } .block { @include apply-to(less-than, $ipad-landscape) { float: left; width: 70%; @include old-ie { content: ' , IE'; } } }
рдореАрдбрд┐рдпрд╛ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЕрдВрджрд░ @ рдХрд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рднреА рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ ... рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдореАрдбрд┐рдпрд╛ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ @ рдХрд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдЙрд╕реА рдмреНрд▓реЙрдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдб рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
@media only screen and (max-width: 320px) and (orientation: portrait){ .error { border: 1px #f00; background-color: #fdd; } .seriousError { @extend .error; border-width: 3px; } }
рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЧрд▓рдд рд╣реИ:
.error { border: 1px #f00; background-color: #fdd; } @media only screen and (max-width: 320px) and (orientation: portrait) { .seriousError { @extend .error; border-width: 3px; } }
рд▓реЗрдХрд┐рди рд╣рдо рдЕрдиреНрдпрдерд╛ рдореМрди рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ @ рдЯреЗрдХреНрд╕реНрдЯ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред
//silent class %big { width: 20px; height: 20px; } .block_1 { @extend %big; } .block_2 { @include respond-to('large'){ @extend %big; } } .block_3 { @include respond-to('large'){ @extend %big; } }
рд╕рд╣реА рд╕рдВрдХрд▓рд┐рдд рд╕реАрдПрд╕рдПрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
.block_1 { height: 20px; width: 20px; } @media screen and (min-width: 600px) { .block_2, .block_3 { height: 20px; width: 20px; } }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рд░ рдХреЛрдИ рд╕рдВрдХрд▓рд┐рдд рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдЫреЛрдЯрд╛ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрд░реЛрдз рдирд┐рдпрдореЛрдВ рдХреЗ рд╕реАрдПрд╕рдПрд╕ рдХреЛ рд╕рдВрдпреБрдХреНрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
.profile-pic { @media screen and (max-width: 320px) { width: 100px; float: none; } } .biography { @media screen and (max-width: 320px) { font-size: 15px; } }
рдореИрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
@media screen and (max-width: 320px) { .profile-pic { width: 100px; float: none; } .biography { font-size: 15px; } }
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
@media screen and (max-width: 320px) { .profile-pic { width: 100px; float: none; } } @media screen and (max-width: 320px) { .biography { font-size: 15px; } }
рдЬрдм рд░реЗрд▓ 3.1+ рдФрд░ Sprockets рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЖрдк CSS рдирд┐рдпрдореЛрдВ рдХреЛ
рдЖрд╢рд╛рддреАрдд рд░реВрдк рд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
sprockets-media_query_combiner рдЬреИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬрд╛рдо рднреА рд╣реИ рдЬреЛ
рдЙрддреНрддрд░рджрд╛рддрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЯреЗрдмрд▓реЗрдЯ рдпрд╛ рдлрд╝реЛрди рдкрд░ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдЖрдЧрдВрддреБрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж рдХрд░реЗрдВрдЧреЗред