рд╢реБрдн рджреЛрдкрд╣рд░, Khabrovites! рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВрдиреЗ "рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрддреНрддрд░рджрд╛рдпреА рдбрд┐рдЬрд╛рдЗрди, рдЬрд╕реНрдЯ рдореАрдбрд┐рдпрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ" рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдерд╛ ред рдЙрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛, рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЗрд╕ рддрдХрдиреАрдХ рд╕реЗ рдЬреБрдбрд╝реА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЬреЛ рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдзреНрдпрд╛рди рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдЖрдЬ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рдореИрдВ рдЕрдкрдирд╛ рд╡рд╛рджрд╛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрддреНрддрд░рджрд╛рдпреА рдлрд╝реЙрдиреНрдЯ рддрдХрдиреАрдХ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрднрд╡ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реВрдВред

рддреЛ рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рддрдХрдиреАрдХ рдХреЛ рд╣реА рдпрд╛рдж рд░рдЦреЗрдВ:
html {
font-size: minimumPixel + range * ((viewportWidth - minScreenWidth) / maxScreenWidth)
}
html {
font-size: calc(14px + 10 * ((100vw - 769px) / 2048));
}
рдореИрдВрдиреЗ рдореБрдЦреНрдп рдереАрд╕рд┐рд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рддреИрдпрд╛рд░ рдХреА:
рдЙрддреНрддрд░рджрд╛рдпреА рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдФрд░ рдЙрд╕ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдЙрддреНрддрд░рджрд╛рдпреА рд▓реЗрдЖрдЙрдЯ рдмрд╣реБрдд рд╕рдордп рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред
, , :
- ?
- , ?
- ?
- .
.
. , , :
тАФ , , , .
, тАФ , , .
, .
.
, . , fullstack . , - . fullstack , , backend Python. , JQuery VueJs. . . , , MVP. SPA -. BI-. BI-, , backend-. (, , ), . , - .
- тАФ TV first. , . . . , . ? . , , , . . , . . , . . , .
MVP . , . CSS, JS . . - . , , , , .
, . , . .

, :
тАФ -, .
. .
? . , . , . -. . , . , . . . тАФ . . . . . rem. . :
:
:
. . , , , . - .
, . тАФ google chrome. , , , .
:
. google.com . . google . . .
тАФ . . , , . .
- , . , . medium.com 2018 Pixels vs. Ems: Users DO Change Font Size, https://archive.org. , 3.08%. ? . , . - , .
? . , . , . ? . . , . , .
, -. Pixels vs. Relative Units in CSS: why itтАЩs still a big deal. - , - , .
. , , . - . .
, :
font-size: minimumPixel + range * ((viewportWidth - minScreenWidth) / maxScreenWidth)
Range . , 10 769px 2048px . ? . . , , minimumPixel + range. , 769px 2048px 14px 20px : 14px + 10 * ((2048 тАФ 769px) / 2048.
360px.
:
@media screen and (max-width: 360px) {
html {
font-size: calc(14px + 2 * ((100vw - 320px) / 360));
}
}
30px 15.
@media screen and (min-width: 2049px) {
html {
font-size: calc(30px + 15 * ((100vw - 2049px) / 4096));
}
}
, . . . , , . .
. rem. , , . rem. , .
. , , , iphone 5. , . , . , .
, тАФ . . , . .
, :
@media screen and (max-width: 360px) {
html {
font-size: calc(14px + 2 * ((100vw - 320px) / 360));
}
}
@media screen and (min-width: 361px) and (max-width: 768px) {
html {
font-size: calc(16px + 2 * ((100vw - 361px) / 768));
}
}
@media screen and (min-width: 769px) and (max-width: 2048px) {
html {
font-size: calc(14px + 5 * ((100vw - 769px) / 2048));
}
}
@media screen and (min-width: 2049px) {
html {
font-size: calc(30px + 15 * ((100vw - 2049px) / 4096));
}
}
тАФ , - . , .
. , тАФ rem :
@media screen and (min-width: 361px) and (max-width: 768px) {
html {
font-size: calc(1rem + 2 * ((100vw - 361px) / 768));
}
}
. , , . , . , . , . 16px. , : People don't change the default 16px font size in their browser (You wish!). . , Opera Mini , Kindle 3, . 2016 . . . , - . , . .
, . . . . : . , , . , . , . . , . .
, . , . , .
- , .
:
PS рдпрджрд┐ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреЗрдВред