CSS: рдлреБрд▓ рдХреИрд▓реНрдХ () рдлрдВрдХреНрд╢рди рдЧрд╛рдЗрдб

CSS рдореЗрдВ calc()рд╕рд░рд▓ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

.main-content {
  /*  80px  100vh */
  height: calc(100vh - 80px);
}

рдпрд╣рд╛рдВcalc() рдЖрдк рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рд▓реЗрдЦ рдХрд╛ рд▓реЗрдЦрдХ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рд╣реИред





Calc () рдлрд╝рдВрдХреНрд╢рди рдФрд░ CSS рдЧреБрдг рдорд╛рди


рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЬрдЧрд╣ рдЖрдк рдлрд╝рдВрдХреНрд╢рди calc()рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕реАрдПрд╕рдПрд╕ рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рдеред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

.el {
  font-size: calc(3vw + 2px);
  width:     calc(100% - 20px);
  height:    calc(100vh - 20px);
  padding:   calc(1vw + 5px);
}

calc()рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

.el {
  margin: 10px calc(2vw + 5px);
  border-radius: 15px calc(15px / 3) 4px 2px;
  transition: transform calc(1s - 120ms);
}

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рднреА рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ! рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдЗрд╕рдХрд╛ calc()рдЙрдкрдпреЛрдЧ рдврд╛рд▓ рдХреЗ рд░рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

.el {
  background: #1E88E5 linear-gradient(
    to bottom,
    #1E88E5,
    #1E88E5 calc(50% - 10px),
    #3949AB calc(50% + 10px),
    #3949AB
  );
}

рдХреИрд▓реНрдХ () рдлрд╝рдВрдХреНрд╢рди рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред


рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╣рдо calc()рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ (рд╡реЗ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ рдХрд┐ рдХрднреА-рдХрднреА рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред рдЕрдм рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рди рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЗ рд╕рд╛рдеред

.el {
  /* ! */
  counter-reset: calc("My " + "counter");
}
.el::before {
  /* ! */
  content: calc("Candyman " * 3);
}

рдорд╛рдк рдХреА рдХрдИ рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд┐ рддрддреНрд╡реЛрдВ рдФрд░ рдЙрдирдХреЗ рднрд╛рдЧреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: px, %, em, rem, in, mm, cm, pt, pc, ex, ch, vh, vw, vmin, vmaxред рдЗрди рд╕рднреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ calc()ред

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдирдВрдмрд░реЛрдВ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

line-height: calc(1.2 * 1.2);

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдгреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

transform: rotate(calc(10deg * 5));

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЗрд╕рдореЗрдВ рдЙрддреНрддреАрд░реНрдг рдХреА рдЧрдИ рдЧрдгрдирд╛ рдореЗрдВ рдХреЛрдИ рдЧрдгрдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ:

.el {
  /*   ,    */
  width: calc(20px);
}

рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ Calc () рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ


рдпрджреНрдпрдкрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди CSS рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

@media (max-width: 40rem) {
  /* 40rem   */
}

/*  ! */
@media (min-width: calc(40rem + 1px)) {
  /* ,  40rem */
}

рдпрджрд┐ рдПрдХ рдмрд╛рд░ рдРрд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп рд╕рд┐рджреНрдз рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирдиреНрдп рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬреЛ рдмрд╣реБрдд рддрд╛рд░реНрдХрд┐рдХ рджрд┐рдЦрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ)ред

рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдорд╛рдк рдХреА рд╡рд┐рднрд┐рдиреНрди рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдореВрд▓реНрдпрд╡рд╛рди рдЕрд╡рд╕рд░ рд╣реИ calc()ред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдмрд╕ рдЕрдкрдирд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдорд╛рдк рдХреА рд╡рд┐рднрд┐рдиреНрди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

/*      */
width: calc(100% - 20px);

рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрдврд╝рддреА рд╣реИ: "рдЪреМрдбрд╝рд╛рдИ рдЙрд╕ рддрддреНрд╡ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ 20 рдкрд┐рдХреНрд╕реЗрд▓ рдШрдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред"

рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╣рд╛рдВ рддрддреНрд╡ рдХреА рдЪреМрдбрд╝рд╛рдИ рдмрджрд▓ рд╕рдХрддреА рд╣реИ, рдкрд┐рдХреНрд╕рд▓ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХреЗрд╡рд▓ рд╕рдВрдХреЗрддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк calc()Sass рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдЬреИрд╕реА рдЪреАрдЬрд╝ рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ calc()рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ ред рдпрд╣рд╛рдБ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдЧрдгрдирд╛, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдореВрд▓реНрдп рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ (рдкреГрд╖реНрда рдХреЗ "рдирд┐рд╖реНрдкрд╛рджрди" рдХреЗ рджреМрд░рд╛рди) рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрд░реНрдерд╛рддреН, рдРрд╕реА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдореБрдЦреНрдп рдореВрд▓реНрдп рд╣реИ calc()ред

рдпрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ:

transform: rotate(calc(1turn + 45deg));

animation-delay: calc(1s + 15ms);

рдЖрдк рд╢рд╛рдпрдж рдЗрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЗрдХрд╛рдЗрдпрд╛рдБ рдЙрд╕ рдЪреАрдЬрд╝ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдЙрд╕ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬрдм рдкреГрд╖реНрда рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИред

рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдХреИрд▓реНрдХ () рдХреА рддреБрд▓рдирд╛


рд╣рдордиреЗ рдЕрднреА рдХрд╣рд╛ рдХрд┐ рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ calc()рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВ рдЬреЛ рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВ calc()ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реИрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$padding: 1rem;

.el[data-padding="extra"] {
  padding: $padding + 2rem; //  3rem;
  margin-bottom: $padding * 2; //  2rem; 
}

рдпрд╣рд╛рдВ, рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдпрд╣рд╛рдВ рдЖрдк рдорд╛рдк рдХреА рд╕рдорд╛рди рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХреА рдЧрдИ рдорд╛рддреНрд░рд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЙрди рдорд╛рдиреЛрдВ рд╕реЗ рдХреБрдЫ рдорд╛рдиреЛрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЗрдХрд╛рдЗрдпрд╛рдВ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИрдВред рд▓реЗрдХрд┐рди рдорд╛рдк рдХреА рд╡рд┐рднрд┐рдиреНрди рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдкреНрд░рддрд┐рдмрдВрдз рдЬреИрд╕реА рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рдкрд╛рдмрдВрджрд┐рдпрд╛рдВ рдРрд╕реА рдЧрдгрдирд╛рдУрдВ рдкрд░ рд▓рдЧрд╛рдИ рдЬрд╛рддреА рд╣реИрдВ calc()(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреБрдЫ рдЧреБрдгрд╛ рдпрд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред

рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЕрд░реНрде рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░рдирд╛


рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдЙрди рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рд▓рд╛рдн рдирд╣реАрдВ рдЙрдард╛рддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдорджрдж рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ calc(), рддреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЕрд░реНрде рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рддрддреНрд╡ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХрд╛ 1/7 рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

.el {
  /*   , */
  width: calc(100% / 7);

  /*   */
  width: 14.2857142857%;
}

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрд╡-рд╕реНрдЯрд╛рдЗрд▓ рд╕реАрдПрд╕рдПрд╕-рдПрдкреАрдЖрдИ рдХреА рддрд░рд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

[data-columns="7"] .col { width: calc(100% / 7); }
[data-columns="6"] .col { width: calc(100% / 6); }
[data-columns="5"] .col { width: calc(100% / 5); }
[data-columns="4"] .col { width: calc(100% / 4); }
[data-columns="3"] .col { width: calc(100% / 3); }
[data-columns="2"] .col { width: calc(100% / 2); }

рдХреИрд▓реНрдХ рдХреЗ рдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рдХ () рдХрд╛рд░реНрдп


рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдорджрдж рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ calc()рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ +, -, *рдФрд░ /ред рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред

рдЬреЛрдбрд╝рддреЗ рд╕рдордп ( +) рдФрд░ рдШрдЯрд╛рдирд╛ ( -), рдЖрдкрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

.el {
  /*  */
  margin: calc(10px + 10px);

  /*  */
  margin: calc(10px + 5);
}

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЧрд▓рдд рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдШреЛрд╖рдгрд╛ рднреА рдЧрд▓рдд рд╣реЛ рдЬрд╛рддреА рд╣реИред

рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╕рдордп ( /), рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдорд╛рдк рдХреА рдЗрдХрд╛рдИ рдХреЛ рджреВрд╕рд░реЗ рдирдВрдмрд░ рдкрд░ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

.el {
  /*  */
  margin: calc(30px / 3);

  /*  */
  margin: calc(30px / 10px);

  /*  (   ) */
  margin: calc(30px / 0);
}

рдЧреБрдгрд╛ рдХрд░рддреЗ рд╕рдордп ( *), рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдореЗрдВ рдорд╛рдк рдХреА рдПрдХ рдЗрдХрд╛рдИ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

.el {
  /*  */
  margin: calc(10px * 3);

  /*  */
  margin: calc(3 * 10px);

  /*  */
  margin: calc(30px * 3px);
}

рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХрд╛ рдорд╣рддреНрд╡


рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рдЬреЛрдбрд╝ рдФрд░ рдШрдЯрд╛рд╡ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:

.el {
  /*  */
  font-size: calc(3vw + 2px);

  /*  */
  font-size: calc(3vw+2px);

  /*  */
  font-size: calc(3vw - 2px);

  /*  */
  font-size: calc(3vw-2px);
}

рдпрд╣рд╛рдВ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ calc(5vw тАФ -5px)) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рди рдХреЗрд╡рд▓ рд╕реНрдерд╛рди рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧреА рд╣реИрдВред

рдЯреИрдм рдПрдЯрдХрд┐рдВрд╕ рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдШрдЯрд╛рд╡ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрддред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рд░реНрд╕рд░ рдорд╛рдк рдХреА рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд╕рд╛рде 2px-3pxрд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред2px-3pxред рдФрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдорд╛рдк рдХреА рдРрд╕реА рдЕрдЬреАрдм рдЗрдХрд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЕрддрд┐рд░рд┐рдХреНрдд рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд╛рд░реНрд╕рд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдСрдкрд░реЗрдЯрд░ рдХреЛ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХрд╕реНрдЯрдо рдЧреБрдгреЛрдВ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ --, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рдЧреБрдгрд╛ рдФрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдк рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдФрд░ рдШрдЯрд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордпред

рд░рд┐рдХреНрддрд┐рдпрд╛рдБ рдЬреЛ calc()рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЕрд▓рдЧ рдХреЛрд╖реНрдардХ рд╣реИрдВ, рдХреЛрдИ рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддреА рд╣реИрдВред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓реЗ рдЬрд╛рдХрд░ рднреА рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

.el {
  /*  */
  width: calc(
    100%     /   3
  );
}

рд╕рдЪ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд╛рдо calcрдФрд░ ( рдкрд╣рд▓реЗ рдЦреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд░реИрдХреЗрдЯ рдХреЗ рдмреАрдЪ рдХреЛрдИ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

.el {
  /*  */
  width: calc (100% / 3);
}

рдиреЗрд╕реНрдЯреЗрдб рдирд┐рд░реНрдорд╛рдг: рдХреИрд▓реНрдХ (рдХреИрд▓реНрдХ ())


рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп calc(), рдЖрдк рдиреЗрд╕реНрдЯреЗрдб рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд┐рдирд╛ рдмреНрд░реИрдХреЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ calc:

.el {
  width: calc(
    calc(100% / 3)
    -
    calc(1rem * 2)
  );
}

рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рдиреЗрд╕реНрдЯреЗрдб рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ calc(), рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдмреНрд░реИрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

.el {
  width: calc(
   (100% / 3)
    -
   (1rem * 2)
  );
}

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЛрд╖реНрдардХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рднрд╛рд╡реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд┐рднрд╛рдЬрди рдФрд░ рдЧреБрдгрди рдЬреЛрдбрд╝ рдФрд░ рдШрдЯрд╛рд╡ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

.el {
  width: calc(100% / 3 - 1rem * 2);
}

рд▓реЗрдХрд┐рди рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрд╖реНрдардХ рдХреЛрдб рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдХреЛрд╖реНрдардХ рдХреЗ рдмрд┐рдирд╛, рдХреЗрд╡рд▓ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЧрд▓рдд рдЧрдгрдирд╛ рдХреА рдЬрд╛рдПрдЧреА, рддреЛ рдРрд╕реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдХреЛрд╖реНрдардХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

.el {
  /* ,   , */
  width: calc(100% + 2rem / 2);

  /*     ,    */
  width: calc((100% + 2rem) / 2);
}

рдХрд╕реНрдЯрдо рд╕реАрдПрд╕рдПрд╕ рдЧреБрдг рдФрд░ рдХреИрд▓реНрдХ ()


рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╣рд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ calc(), рдЧрдгрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╕реНрдЯрдо рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд╕реНрдЯрдо рдЧреБрдг рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЧрдгрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

html {
  --spacing: 10px;
}

.module {
  padding: calc(var(--spacing) * 2);
}

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╕реНрдЯрдо рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рд╕реЗрдЯ рдХрд░рдХреЗ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдХрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдлрд┐рд░ рдпреЗ рдорд╛рди рдкреВрд░реЗ CSS рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдХрд╕реНрдЯрдо рдЧреБрдг, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ calc()рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕реАрдПрд╕рдПрд╕ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЖрдк calc()рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

html {
  --spacing: 10px;
  --spacing-L: var(--spacing) * 2;
  --spacing-XL: var(--spacing) * 3;
}

.module[data-spacing="XL"] {
  padding: calc(var(--spacing-XL));
}

рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдХреЛрдИ рдХрд╕реНрдЯрдо рдкреНрд░реЙрдкрд░реНрдЯреА рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП calc()ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИред

рдХрд╕реНрдЯрдо рдЧреБрдгреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд HTML рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдпрд╣ рдмреЗрд╣рдж рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Splitting.js рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рд╢рдмреНрджреЛрдВ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

<div style="--index: 1;"> ... </div>
<div style="--index: 2;"> ... </div>
<div style="--index: 3;"> ... </div>
div {
  /*     HTML (   ) */
  animation-delay: calc(var(--index, 1) * 0.2s);
}

рдЗрди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж рдХрд╕реНрдЯрдо рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрдХрд╛рдЗрдпрд╛рдВ рд╕реМрдВрдкрдирд╛


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

html {
  --importantNumber: 2;
}

.el {
  /*    ,  ,        */
  padding: calc(var(--importantNumber) * 1rem);
}

рдлреВрд▓реЛрдВ рд╕реЗ рдХрд╛рдо рдЪрд▓рд╛рдУ


рдЖрд░рдЬреАрдмреА рдФрд░ рдПрдЪрдПрд╕рдПрд▓ рдЬреИрд╕реЗ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд░рдВрдЧреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдирдВрдмрд░реЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ calc()ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреБрдЫ рдореВрд▓ HSL рдорд╛рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ ( рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ):

html {
  --H: 100;
  --S: 100%;
  --L: 50%;
}

.el {
  background: hsl(
    calc(var(--H) + 20),
    calc(var(--S) - 10%),
    calc(var(--L) + 30%)
  )
}

рдЖрдк рдХреИрд▓реНрдХ () рдФрд░ рдПрдЯрд░ () рдХреЛ рдЬреЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддреЗ


CSS рдлрд╝рдВрдХреНрд╢рди attr()рдХрд╛рдлреА рдЖрдХрд░реНрд╖рдХ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╕рдЪреНрдЪрд╛рдИ: рдЖрдк HTML рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкрд░рдВрддреБтАж

<div data-color="red">...</div>
div {
  /*    */
  color: attr(data-color);
}

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдорд╛рдиреЛрдВ рдХреЗ "рдкреНрд░рдХрд╛рд░" рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдпрд╣ attr()рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ contentред рдпрд╣реА рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдХрд╛рдлреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:

div::before {
  content: attr(data-color);
}

рдореИрдВрдиреЗ рдпрд╣ рдпрд╣рд╛рдВ рдЗрд╕рд▓рд┐рдП рдХрд╣рд╛ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ HTML рдХреЛрдб рд╕реЗ рдПрдХ attr()рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЧрдгрдирд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

<div class="grid" data-columns="7" data-gap="2">...</div>
.grid {
  display: grid;

  /*         */
  grid-template-columns: repeat(attr(data-columns), 1fr);
  grid-gap: calc(1rem * attr(data-gap));
}

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ HTML рдореЗрдВ рдХрд╕реНрдЯрдо рдЧреБрдг рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╣реИрдВ :

<div class="grid" style="--columns: 7; --gap: 2rem;">...</div>
.grid {
  display: grid;

  /* ! */
  grid-template-columns: repeat(var(--columns), 1fr);
  grid-gap: calc(var(--gap));
}

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдкрдХрд░рдг


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдЖрдорддреМрд░ рдкрд░ calc()рд╕реАрдПрд╕рдПрд╕ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЗ рд╕рд╛рде рд╣реА рднрд╛рд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ ред


рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓, рдирд┐рдпрдо рдЯреИрдм

рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛calc(), рддреЛ рдЖрдк рдЯреИрдм рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВComputed(рдпрд╣ рдЯреИрдм рдореБрдЭреЗ рдЬреНрдЮрд╛рдд рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд╡рд╣рд╛рдВ, рдкрд░рд┐рдХрд▓рд┐рдд рдорд╛рди рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛calc()ред


рдХреНрд░реЛрдо рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдХрдореНрдкреНрдпреВрдЯреЗрдб рдЯреИрдм

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рд╕рдорд░реНрдерди


рдпрд╣рд╛рдВ рдЖрдк рдлрд╝реАрдЪрд░ рдХреЗ рд▓рд┐рдП calc()рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдпрджрд┐ рд╣рдо рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд░реНрдерди calc()рдХрд╛ рд╕реНрддрд░ 97% рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд╛рдлреА рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ (рдЬреИрд╕реЗ IE 8 рдпрд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 3.6) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдЖрдо рддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ: calc()рд╕рдВрдкрддреНрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдЙрд╕ рдореВрд▓реНрдп рдХреЛ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдордЭрддреЗ рд╣реИрдВ:

.el {
  width: 92%; /*   */
  width: calc(100% - 2rem);
}

рдлрд╝рдВрдХреНрд╢рди calc()рдореЗрдВ рдХрдИ рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрдирд╕реЗ рдкреАрдбрд╝рд┐рдд рд╣реИрдВред рдкрд░ Caniuse 13 рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдЙрдирдореЗ рд╕реЗ рдХреБрдЫ рд╣реИ:

  • 59 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдиреАрдЪреЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ calc()рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП color: hsl(calc(60 * 2), 100%, 50%):ред
  • IE 9-11 рд╕рдВрдкрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЫрд╛рдпрд╛ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ box-shadowрдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рдорд╛рди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ calc()ред
  • width: calc()рдЯреЗрдмрд▓ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдкрд░ рди рддреЛ IE 9-11 рдФрд░ рди рд╣реА рдПрдЬ рд╕рдорд░реНрдерди рджреГрд╢реНрдп рдбрд┐рдЬрд╛рдЗрди ред

рдЬреАрд╡рди рдЙрджрд╛рд╣рд░рдг


рдореИрдВрдиреЗ рдХрдИ рд╕реАрдПрд╕рдПрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ рдХрд┐ рд╡реЗ рдЕрдВрддрд┐рдо рдмрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░рддреЗ рд╣реИрдВ calc()ред рдЙрдирдХреЗ рдЬрд╡рд╛рдм рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЪрдпрди рдереЗ рдЬреЛ рд╕рднреА рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ calc()рдЕрдкрдиреЗ рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдореЗрдВ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

  • рдореИрдВ calc()рдкреНрд░рдмрдВрдзрди рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рдмрдирд╛рддрд╛ рдерд╛ .full-bleed { width: 100vw; margin-left: calc(50% тАФ 50vw); }:ред рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ calc()рдореЗрд░реЗ рд╢реАрд░реНрд╖ 3 рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╣реИред
  • рдореИрдВрдиреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреГрд╖реНрда рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд "рдкрд╛рдж рд▓реЗрдЦ" рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ред
  • calc() . , font-size, . font-size тАФ calc() line-height. ( , calc() , , , rem em. , ).
  • , . . тАФ : .margin { width: calc( (100vw тАФ var(--content-width)) / 2); }.
  • calc() - , . : .drop-cap { --drop-cap-lines: 3; font-size: calc(1em * var(--drop-cap-lines) * var(--body-line-height)); }.
  • , .
  • , padding vw/vh.
  • рдореИрдВ calc()рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд░рддрд╛ рд╣реВрдВ background-positionред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдореЗрдВ рд░рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдкрджреЛрдВ рдХреЗ рд╕рдорд╛рдпреЛрдЬрди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: "рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рд╕реНрдерд┐рддрд┐, 0.75emрдиреАрдЪреЗ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрдирд╛ ред"



рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдк CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ calc()?

All Articles