рд╢реБрдн рджрд┐рди рдкреНрд░рд┐рдп рд╣рд░рдЬрд┐рддреЗрд▓реАред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдореБрдЭреЗ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдмрди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдмрд╣реБрдд рдмрд╛рд░ рд╡реЗ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдк рдмрдирд╛рддреЗ рд╣реИрдВ рд╢реАрд░реНрд╖ рдкрд░ "рдореБрдЭреЗ рдХрд╛рдВрдЯрд╛ рдкрд░ рдЧрд┐рдЯрд╣рдм", рдпрд╛ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдХрд╛рдо рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреА рддрд╛рд░реАрдЦ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдк рд╣реИред рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ
LESS рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдмреЗрд╣рддрд░ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдЫреЛрдЯрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред

рдпрд╣ рд░рд┐рдмрди рдирд┐рд░рдкреЗрдХреНрд╖ рд╕реНрдерд┐рддрд┐ рд╡рд╛рд▓реЗ рд▓рд┐рдВрдХ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЫрд╡рд┐ рд╣реИред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдХреНрдпрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ: рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдзреБрдирд┐рдХ рд╕реАрдПрд╕рдПрд╕ рдорд╛рдирдХреЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрдо рд╕реЗ рдХрдо рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд░рд┐рдмрди
transform rotate
рд╕реЗ
transform rotate
рд╕рд╛рде рдПрдХ рдирд┐рдпрдорд┐рдд рдмреНрд▓реЙрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реА рдмрд╛рдд: рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВ рдПрдХ рд░реЗрдЯрд┐рдирд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗрдм рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдбреЙрдкреНрдЯ рдХрд┐рдП рд╣реБрдП
img
рддреБрд░рдВрдд рдореЗрд░реА рдирдЬрд░ рдкрдбрд╝ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рд░рд┐рдмрди рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ, рдореАрдбрд┐рдпрд╛ рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдордЬрд╛рдХрд┐рдпрд╛ рднреА рд▓рдЧрддрд╛ рд╣реИред
500px рдХреА рд▓рдВрдмрд╛рдИ, 50px рдХреА рдКрдВрдЪрд╛рдИ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐, рд╢реАрд░реНрд╖, рдмрд╛рдПрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд▓реЙрдХ рдмрдирд╛рдПрдВред рдкрд░рд┐рдгрд╛рдо рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдмрд╛рдИрдВ рдУрд░ рдиреАрдЪреЗ рдХреА рдЫрд╡рд┐ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, -45 рдбрд┐рдЧреНрд░реА рд╕реЗ рдмреНрд▓реЙрдХ рдХреЛ рдШреБрдорд╛рдПрдВ рддрд╛рдХрд┐ рд╣рдо рд░рд┐рдмрди рдХреЗ рд╕рд╛рде рд▓реЗрд╕ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдо рдЫрд╡рд┐ рдХреЗ рджрд╛рдИрдВ рдУрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рддрддреНрд╡ рдЕрдкрдиреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдШреВрдорддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╛рдИрдВ рдУрд░ рдПрдХ рдЗрдВрдбреЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЯреЗрдк рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

рдирд┐рд░реАрдХреНрд╖рдХ рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ, рд╣рдо рдЙрди рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ
top
рдФрд░
-left
рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдХреНрдпрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреВрд░реНрдгрддрд╛рд╡рд╛рдж: рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдзрд┐рдХрддрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд┐рдХреНрд╕реЗрд▓ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 500) рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рд╕реЗ рдкрд░реЗ рдирд╣реАрдВред рджреВрд╕рд░реА рдмрд╛рдд - рдЖрд▓рд╕реНрдп: рдореИрдВ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ (рд╢реАрд░реНрд╖, рджрд╛рдПрдВ, рдиреАрдЪреЗ, рдмрд╛рдПрдВ) рдФрд░ рдЭреБрдХрд╛рд╡ рдХреА рдбрд┐рдЧреНрд░реА рдХреЗ рджреМрд░рд╛рди рд╕рднреА рдХреЛрдиреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдорд╛рдиреЛрдВ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред
рдЬреНрдпрд╛рдорд┐рддрд┐
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рддрддреНрд╡ рдХреЛ рдХреЗрдВрджреНрд░ рд╕реЗ рдШреБрдорд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдорд╛рдиреЛрдВ рдХреЛ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдХреЗрдВрджреНрд░ рддрдХ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ - рддреНрд░рд┐рдХреЛрдг, рдЬрд┐рди рдкрдХреНрд╖реЛрдВ рдХреА рд╣рдореЗрдВ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдпрд╣ рджреЛ рддреНрд░рд┐рднреБрдЬ
ABC рдФрд░
A2B2C2 рдирд┐рдХрд▓рд╛ , рдЬрд┐рди рдкрдХреНрд╖реЛрдВ рдХреА рд╣рдореЗрдВ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐
C = 500px (рдЪреМрдбрд╝рд╛рдИ),
C2 = 50px (рдКрдБрдЪрд╛рдИ), рдЭреБрдХрд╛рд╡ рдХрд╛ рдХреЛрдг -65 (рдиреАрдЪреЗ) рд╣реИ, рдЗрд╕рд▓рд┐рдП, рддреНрд░рд┐рднреБрдЬ
ABC рдореЗрдВ рдХреЛрдг 65 рдбрд┐рдЧреНрд░реА рд╣реИ, рдФрд░ рдХреЛрдг
b 25 рдбрд┐рдЧреНрд░реА (180 - 90 - 65) рд╣реИ ред рддреНрд░рд┐рднреБрдЬ
A2B2C2 рдореЗрдВ, рдХреЛрдг
a2 рдФрд░
b2 рдХреНрд░рдорд╢рдГ 65 рдФрд░ 25 рдбрд┐рдЧреНрд░реА рд╣реИрдВред
рддреНрд░рд┐рдХреЛрдгрдорд┐рддрд┐
рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдХреЛрдг рдХреА рд╕рд╛рдЗрди рд╣рд╛рдЗрдкрд┐рдиреЛрд╕рд┐рд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд рдкрдХреНрд╖ рдХреЗ рдЕрдиреБрдкрд╛рдд рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП:
рдП = рдкрд╛рдк (рдП) * рд╕реА рдпрд╛ рдП = рдкрд╛рдк (65) * 500;
рдмреА = рдкрд╛рдк (рдмреА) * рд╕реА рдпрд╛ рдмреА = рдкрд╛рдк (25) * 500;
рдП 2 = рдкрд╛рдк (рдП 2) * рд╕реА 2 рдпрд╛ рдП 2 = рдкрд╛рдк (65) * 50;
рдмреА 2 = рдкрд╛рдк (рдмреА 2) * рд╕реА 2 рдпрд╛ рдмреА 2 = рдЧрд╛рдирд╛ (25) * 50;
рдХрдо
.MojoRibbon(@width, @height, @deg, @valign) { width: @width; height: @height; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; .defineDegree(@deg, @valign) when (@deg < 0) and (@valign = top) { @degree: -@deg; top: @countHeight; left: @countWidth; -webkit-transform: rotate(@deg); -moz-transform: rotate(@deg); -o-transform: rotate(@deg); -ms-transform: rotate(@deg); transform: rotate(@deg); }; .defineDegree(@deg, @valign) when (@deg < 0) and (@valign = bottom) { @degree: -@deg; bottom: @countHeight; right: @countWidth; -webkit-transform: rotate(@deg); -moz-transform: rotate(@deg); -o-transform: rotate(@deg); -ms-transform: rotate(@deg); transform: rotate(@deg); }; .defineDegree(@deg, @valign) when (@deg > 0) and (@valign = top) { @degree: @deg; top: @countHeight; right: @countWidth; -webkit-transform: rotate(@degree); -moz-transform: rotate(@degree); -o-transform: rotate(@degree); -ms-transform: rotate(@degree); transform: rotate(@degree); }; .defineDegree(@deg, @valign) when (@deg > 0) and (@valign = bottom) { @degree: @deg; bottom: @countHeight; left: @countWidth; -webkit-transform: rotate(@degree); -moz-transform: rotate(@degree); -o-transform: rotate(@degree); -ms-transform: rotate(@degree); transform: rotate(@degree); }; .defineDegree(@deg, @valign) when (@deg = 0) { @degree: @deg; top: 0; left: 0; }; .defineDegree(@deg, @valign); @angleB: 90-@degree; @angleB2: @angleB; @sideA: round(sin(@degree), 3)*@width; @sideB: round(sin(@angleB), 3)*@width; @sideB2: round(sin(@angleB2), 3)*@height; @sideA2: round(sin(@degree), 3)*@height; @countHeight: @sideA/2 - @height/2 - @sideB2/2; @countWidth: -((@width)-(@sideB))/2 - @sideA2/2; }
рдбреЗрдореЛ рдкрд░рд┐рдгрд╛рдоGitHubрд╕рднреА
рдХреЗ рд▓рд┐рдП
рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж
рдореИрдВ рд╕реАрдПрд╕рдПрд╕ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП
рдмреЛрд░ ред