Material-ui: [рдореЛрдбрд▓] рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдФрд░ рдкреИрдбрд┐рдВрдЧ рдореБрджреНрджрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЬрдире░ 2018  ┬╖  47рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mui-org/material-ui

рдЬрдм Menu рдЦреБрд▓рддрд╛ рд╣реИ, рддреЛ рдкреГрд╖реНрда рдХрд╛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкреГрд╖реНрда рд▓реЗрдЖрдЙрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рджрд╛рдИрдВ рдУрд░ рд╕рдм рдХреБрдЫ рдХреВрджрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рджреГрд╢реНрдп рдмрдЧ рд╣реИред

рдЙрдкрд╛рдп

рдпрд╛ рддреЛ рдП) рдЗрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдареАрдХ рдХрд░реЗрдВ, рдпрд╛ рдмреА) рдбреЙрдХреНрд╕ рдореЗрдВ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдФрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ:

https://material-ui-next.com/demos/menus/

рдХреВрджрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ absolute, left: 0, right: 0 , рдЙрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ text-align: center рдпрд╛ display: flex; flex-direction: column; align-items: center;

рдЖрдкрдХрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг

| рдЯреЗрдХ | рд╕рдВрд╕реНрдХрд░рдг |
| -------------- | --------- |
| рд╕рд╛рдордЧреНрд░реА- рдпреВрдЖрдИ | 1.0.0-рдмреАрдЯрд╛ .реи реп |

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

рдпреЗ рд╕рднреА рдмрдВрдж рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдЙрдирдореЗрдВ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛:

8475 # 7431 # 6656 # 8710

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рд╡рд╣ рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ disableScrollLock={ true } рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛ :)

рд╕рднреА 47 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рджрд╛рдИрдВ рдУрд░ рд╕рдм рдХреБрдЫ рдХреВрджрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рджреГрд╢реНрдп рдмрдЧ рд╣реИред

@lorensr рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рдЬрдирди рдЙрджрд╛рд╣рд░рдг рд╣реИ? рдпрд╣ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╕реАрдорд╛ рд╣реИред рд╣рдо рдкреВрд░реНрдг рддреИрдирд╛рдд рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ .mui-fixed рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рд╣реИред
рд╣рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!

FYI рдХрд░реЗрдВ, рдПрдХ рдФрд░ рдЪреАрдЬрд╝ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓реА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ .mui-fixed рдлрд┐рдХреНрд╕ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рддрддреНрд╡ рднреА рд╣реЛ

box-sizing: content-box;

рдзрдиреНрдпрд╡рд╛рдж, рд╡рд░реНрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореБрдЭреЗ content-box рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рддрддреНрд╡ border-box ред

рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЬрдм рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ right: 0 рддрддреНрд╡ рдХреЗ рдЕрдВрджрд░ рдХрд╛ рдмреНрд▓реЙрдХ рд╣реИрдбрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рджрд╛рд╣рд┐рдиреЗ рдХрд┐рдирд╛рд░реЗ рддрдХ рдирд╣реАрдВ рдлреИрд▓рддрд╛ рд╣реИред

image

right: -20px рдмрджрд▓рдХрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдм css рд╣реИ:

main {
  position: absolute;
  box-sizing: border-box;
  left: 0;
  right: -20px;
  overflow-x: hidden;
}

рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЗрдВрджреНрд░рд┐рдд рдмрдЪреНрдЪреЗ рдЕрдм рдХреЗрдВрджреНрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ 10 рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдУрд╡рд░рдлреНрд▓реЛ рдЫрд┐рдкрд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореБрдИ-рдлрд┐рдХреНрд╕реНрдб рд╕реАрдПрд╕рдПрд╕ рд╡рд░реНрдЧ рдХреЛ рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рддрддреНрд╡реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкреГрд╖реНрда рдХреЗ рдиреАрдЪреЗ рдХреБрд░рдХреБрд░реА рдЪреИрдЯ рд╡рд┐рдЬреЗрдЯред рд╢рд╛рдпрдж рдЗрдВрдЯрд░рдХреЙрдо рд╡рд┐рдЬреЗрдЯ рдХреЗ рд╕рд╛рде рднреА рд╣реЛрддрд╛ рд╣реИред

рдХрд┐рд╕реА рдФрд░ рдХреЛ рднреА рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ?
localhost_4000

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рдореБрджреНрджрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрдВрдЯреЗрдирд░ рдирд┐рд░рдкреЗрдХреНрд╖ рдирд╣реАрдВ рдерд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рддрдп рдерд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдореЗрд░реА рдЧрджреНрджреА рдореЗрдВ !important рдЬреБрдбрд╝ рд░рд╣реЗ рд╣реИрдВ:

padding: 0 !important;

рдЕрдЧрд░ рдпрд╣ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ 100% рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЛ <body> рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ

`` `рд╕реАрдПрд╕рдПрд╕
рддрди {
рд╕реНрдерд┐рддрд┐: рдирд┐рд░рдкреЗрдХреНрд╖;
рдмрд╛рдПрдВ: -17 рдкреАрдПрдХреНрд╕;
рджрд╛рдИрдВ рдУрд░: -17 рдкреАрдПрдХреНрд╕;
рдЧрджреНрджреА-рд╢реАрд░реНрд╖: 0;
рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ: 17 рдкреАрдПрдХреНрд╕;
рдкреИрдбрд┐рдВрдЧ-рд▓реЗрдлреНрдЯ: 17 рдкреАрдПрдХреНрд╕;
рдЧрджреНрджреА-рддрд▓: 0px;
рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣-рдПрдХреНрд╕: рдЫрд┐рдкрд╛ рд╣реБрдЖ;
рдУрд╡рд░рдлреНрд▓реЛ- y: рдСрдЯреЛ! рдорд╣рддреНрд╡рдкреВрд░реНрдг // рдпрджрд┐ рдЖрдк рд╕реНрдХреНрд░реЙрд▓ рдмрд╛рд░ рдХреЛ рдЧрд╛рдпрдм рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВ
}
`` ``

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ:

рдХреБрдЫ рд╡рд┐рднрд┐рдиреНрди рд╕реАрдПрд╕рдПрд╕ рдУрд╡рд░рд░рд╛рдЗрдбреНрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреЛ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЧрд▓рдд рд▓рдЧреЗ, рдЬреИрд╕реЗ @chrisshaddad рдХреА, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдкреВрд░реЗ рдРрдк рдкрд░ overflow-y: scroll рдордЬрдмреВрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╢рд┐рдлреНрдЯ рд╣реЛ рд░рд╣реЗ рдереЗред рд╣рдорд╛рд░реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣рдордиреЗ y- рдЕрдХреНрд╖ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдРрдк-рд╡рд╛рдЗрдб рдХреЛ рд╢рд┐рдлреНрдЯрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдерд╛ - рдХреБрдЫ рдХреЛ y- рдЕрдХреНрд╖ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдХреБрдЫ рдХреЛ рдирд╣реАрдВред

рдЕрддрд┐рд░рд┐рдХреНрдд body рдпрд╛ рдЗрдирд▓рд╛рдЗрди рд╕реНрдЯрд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЕрдкрдиреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд AppBar / Header рдХреЗ рдиреАрдЪреЗ overflow-y: scroll рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рд╢рд┐рдлрд╝реНрдЯрд┐рдВрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рджрд╛рдмрд╣рд╛рд░ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреВрд░реА рд╡рд┐рдВрдбреЛ рдХреЗ рдмрдЬрд╛рдп, рдореЛрдбрд▓ / рдореЗрдиреВ рд╕реЗ рдХреЛрдИ рд╢рд┐рдлреНрдЯрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ рдФрд░ body ред

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдбреЛрдо рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

<div>
  <Header />
  <div className="pageContent">
    <div className="page">
      <Route exact path="/pathToPage"> component={PageContent} />
    </div>
  </div>
</div>

рдФрд░ рд╕реАрдПрд╕рдПрд╕ (рд╣рдорд╛рд░реЗ рд╣реЗрдбрд░ рдХреА рдКрдВрдЪрд╛рдИ 45px рд╣реИ):

.pageContent {
  position: absolute;
  top: 45px;
  left: 0;
  right: 0;
  bottom: 0;
}
.pageContent .page {
  height: 100%;
  overflow-y: scroll;
}

рдирдорд╕реНрддреЗ,

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЕрдкрдиреА рдЦреБрд╢реА рдирд╣реАрдВ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдЬреЛ рд╕рдордЭрд╛, рдЙрд╕рдореЗрдВ рд╕реЗ Modal рдХреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрдиреНрдирдд рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Modal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ Modal рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдПрдХ рдЫреЛрдЯреА рд╕рд╛рдордЧреНрд░реА рд╣реИред

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдФрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдХрд░, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ Modal , Dialog , Menu рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реЙрд▓ - Menu рдФрд░ рдЕрдиреНрдп рдкреЙрдкрдЕрдк рддрддреНрд╡ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдмреВрд▓рд┐рдпрди рд╕рдВрдкрддреНрддрд┐ рдЭреВрдареА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рдШрдЯрдХ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ ScrollBar рдШрдЯрдХ рдХреЛ рдПрдХрдореБрд╢реНрдд рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдореИрдВ рдкрд╣рд▓реЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдЕрд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

FWIW рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ body { overflow-y: scroll } рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред

@avdd рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╢рд░реАрд░ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдФрд░ рдореЛрдбрд▓ рдореЗрдВ рдирд╣реАрдВред

@rememberYou modal рдирд┐рдореНрди рд╕реНрддрд░ рдХрд╛ рдЖрджрд┐рдо рд╣реИ, рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рдВрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ: https://material-ui.com/demos/dialogs/#scrolling -long-contentред

@rememberYou ModalManager рдиреЗ overflow:hidden рд╕реАрдзреЗ рдХрдВрдЯреЗрдирд░ рддрддреНрд╡ (рдирд┐рдХрд╛рдп) рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрдм рдореЛрдбрд▓ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореЛрдбрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╣рд╛рдБ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

https://github.com/mui-org/material-ui/blob/7d4aeaf4c9cdf00a9c7eb41bd9bb7cac61840739/packages/material-ui/src/Modal/ModalManager.js#L24

@oliviertassinari рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
@ рдореЗрд░реЗ рдорд╛рдлреА рдорд╛рдБрдЧрдиреЗ рдкрд░, рдореИрдВрдиреЗ ModalManager рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред

@lorensr рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ?

@oliviertassinari рдПрдХ рдЖрдЦрд┐рд░реА рдмрд╛рдд, рдореИрдВрдиреЗ Dialog рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдореИрдВ рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдбрд┐рдЬрд╛рдЗрди рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ Modals рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИред

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ Modal (рд▓реЙрдЧ рдЗрди) рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рджреВрд╕рд░реЗ Modal (рд╕рд╛рдЗрдирдЕрдк) рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВ рд▓реЙрдЧрд┐рди рдкрд░ рд▓реМрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИред

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреНрдпрд╛ рдореБрдЭреЗ ModalManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП Modal ? рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╡рд┐рд╖рдп рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рдорд┐рд▓рд╛ред

@nathanmark рд╣рд╛рдБ, рдореЙрдбрд▓ рдШрдЯрдХ рдбреЙрдХреНрд╕ рдкреГрд╖реНрдареЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ рдЕрднреА рднреА .mui-fixed рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

3.5.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбрд╛рдпрд▓реЙрдЧ рдмрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ Reproducible https://material-ui.com/demos/dialogs/ - рд╕рд░рд▓ рдбрд╛рдпрд▓реЙрдЧ рдбреЗрдореЛ рдЦреЛрд▓реЗрдВ рдФрд░ рдмрдВрдж рдХрд░реЗрдВред

рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рдпрд╣ v3.3 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖред

@ stephen099 рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИред

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╣реЗрдбрд░ рдкрд░ (рдирд╡реАрдирддрдо рдореБрдИ рдХреЗ рд╕рд╛рде), mui-fixed рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕реНрдЯрд╛рдЗрд▓ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╣реЗрдбрд░ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдХреЗ, рдХреЛрдИ mui-fixed рдирд┐рдпрдо рд▓реЛрдбред

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рдХрд┐ рдпрд╣ 'рдПрдб рдкреИрдбрд┐рдВрдЧ' рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣реА рд╣реИ, рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХреНрдпреЛрдВ рд╣реИ? рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ Menu рдШрдЯрдХ рд╕реЗ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред

рдореИрдВ !important рд╕рд╛рде css рд╕реНрдЯрд╛рдЗрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рд╣реЛрдиреЗ рд╕реЗ рдХреИрд╕реЗ рд░реЛрдХреВрдБ? рдзрдиреНрдпрд╡рд╛рдж

@vajnorcan mui-fixed рд╡рд░реНрдЧ рдирд╛рдо рдореЛрдбрд▓ рдШрдЯрдХ (рдореЗрдиреВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╢рд░реАрд░ рддрддреНрд╡ рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рдкрд░ рддрддреНрд╡ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рдПрдЧреАред рд╣рдо рдЕрд╕реНрдерд╛рдпреА рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдЪреМрдбрд╝рд╛рдИ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк CodeSandbox рдкрд░ рдиреНрдпреВрдирддрдо рдкреНрд░рдЬрдирди рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рджред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЖрдк рдХрд╣рд╛рдБ рд░рдЦреЗрдВред рдПрдХ рдореЗрдиреВ рдЦреЛрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред

@ capsule5 рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрд╕ рддрддреНрд╡ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЗ рдореЗрдиреВ рдореЗрдиреНрдпреВ рдкрд░ рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг "рдХреВрджрддрд╛ рд╣реИ" (рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рджрд╛рдИрдВ рдУрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рддрддреНрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдФрд░ рдЗрд╕рдХрд╛ рдЧрджреНрджреА рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреА рд╡реИрд╢реНрд╡рд┐рдХ рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:

.mui-fixed {
  /*
   * make sure that added right padding
   * actually pushes contents to the left
   */
  box-sizing: content-box;
}

рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреЛрдИ рдкреНрд░рдЬрдирди рдирд╣реАрдВ рд╣реИред рдореИрдВ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@cvara рд╣рдо # 9275 рдореЗрдВ рдЗрд╕рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдХреНрдпрд╛ рдпрд╣ рд╣рд▓ рд╣реИ? рдореИрдВрдиреЗ v0.9 рд╕реЗ v4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдЬрдм рдореИрдВ рдореЛрдбрд▓ рдЦреЛрд▓рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░реА рд╕рд╛рдордЧреНрд░реА рдмрд╛рдИрдВ рдУрд░ рдХреВрдж рдЬрд╛рддреА рд╣реИ ( padding-right: 17px рдорд┐рд▓ рд░рд╣реА рд╣реИ)? рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?

рдмрд╛рдж рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ overflow-y: scroll !important; рдореБрдЭреЗ рднреА рдЗрд╕ рдЬрдореНрдкрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП padding-right: 0px !important; рдЬреЛрдбрд╝рдирд╛ рдерд╛ред

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рд╡рд╣ рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ disableScrollLock={ true } рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛ :)

@ рддреЛрд╢реАрдХ рдХреМрди рд╕рд╛ рдШрдЯрдХ?

@wongjiahau рдореЛрдбрд▓ рдШрдЯрдХ v4 +

рдЖрдк рдореЗрдиреНрдпреВ рдореЗрдВ рднреА рдбрд┐рдлреЙрд▓реНрдЯScrollLock рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ

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

@archfz рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рдЬрдирди рд╣реИ?

рдореИрдВ рдЗрд╕реЗ Select рдШрдЯрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рднреА Select рдбреНрд░реЙрдкрдбрд╛рдЙрди рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ overflow: hidden, padding-right: 15px рдХреЛ рдореЗрд░реЗ рдРрдк рдХреЗ рдореБрдЦреНрдп body рдЯреИрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдкрдЫрд╛рдбрд╝рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ

@WholemealDrop #

@oliviertassinari рдЕрд╣рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдЦреЛрдЬ рдХреМрд╢рд▓

@oliviertassinari I рдиреЗ рдХреЛрд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдмреА рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЧрд▓рдд рдЧрдгрдирд╛ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ: flex + minHeight: 100vh + body рдХреЛрдИ рдкреИрдбрд┐рдВрдЧ рдФрд░ рдорд╛рд░реНрдЬрд┐рди рд╕рдВрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдХреЛрдб рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

import React, {FunctionComponent, SyntheticEvent, useState} from 'react';
import {IconButton, Menu, MenuItem, Tooltip} from "@material-ui/core";
import TranslateIcon from "@material-ui/icons/Translate";
import MuiAppBar from "@material-ui/core/AppBar";
import Toolbar from "@material-ui/core/Toolbar";

const AdminAppContainer: FunctionComponent = () => {
  const handleMenu = (event: SyntheticEvent) => setAnchorEl(event.currentTarget);
  const [anchorEl, setAnchorEl] = useState<Element | null>(null);
  const open = Boolean(anchorEl);
  const handleClose = () => setAnchorEl(null);

  const body = document.getElementsByTagName('body')[0];
  body.style.margin = "0";
  body.style.padding = "0";

  return (
    <div style={{ display: 'flex', minHeight: '100vh'}}>
    <MuiAppBar color="secondary" >
      <Toolbar>
        <div style={{flex: 1}}></div>
        <div>
          <Tooltip title='asd'>
            <IconButton onClick={handleMenu}><TranslateIcon /></IconButton>
          </Tooltip>
          <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>
            <MenuItem key={'test'} onClick={handleClose}>Test</MenuItem>
          </Menu>
        </div>
      </Toolbar>
    </MuiAppBar>
    </div>
  )
};

@archfz рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдХ рдХреЛрдбреИрдВрдбрдмреЙрдХреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ? (рдЖрдк рдбреЙрдХреНрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред)

@archfz рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдЫреВрдЯ рдЧрдпрд╛ред

рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ? рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред

@archfz рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдЫреВрдЯ рдЧрдпрд╛ред

рдореИрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ? рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдЖрдк рд╢реАрд░реНрд╖ рджрд╛рдИрдВ рдУрд░ рд╡рд░реНрдг рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ рдЦреБрд▓рдиреЗ рдкрд░ рдмрд╛рдИрдВ рдУрд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдореЗрдиреВ рдЖрдЗрдЯрдо рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рджрд╛рдИрдВ рдУрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдХреБрдЫ рдирдпрд╛ рд▓рдЧрддрд╛ рд╣реИред

@archfz рдареАрдХ рд╣реИ, рдпрд╣ рдЯреВрд▓рдЯрд┐рдк рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдШрд░реНрд╖ рд╣реИред рдЖрдЗрдП рдЗрд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░реЗрдВред

@oliviertassinari рдЦреИрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рд╛рдордЧреНрд░реА UI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдПрдХ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рд╣реИ https://github.com/mui-org/material-ui/issues/19203

рд╕рдорд╛рдзрд╛рди @Toshiuk рджреНрд╡рд╛рд░рд╛ рдкреБрди:

  • рдореЗрдиреВ, рд╕реНрдЯрд╛рдЗрд▓рдореЗрдиреБ:
    disableScrollLock={ true }

  • рдЪреБрдирддреЗ рд╣реИрдВ:
    MenuProps={{ disableScrollLock: true }}

рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! :-)

рдЬрдм рдореИрдВ рдореЗрдиреВ рдЦреЛрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЯреВрд▓рдмрд╛рд░ рдХреЗ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдЕрджреГрд╢реНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
https://codesandbox.io/s/material-demo-nj80l

рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдареАрдХ рд╣реИ?

рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реАрдПрд╕рдПрд╕ рдЬреЛрдбрд╝реЗрдВ
рд╢рд░реАрд░ {рдкреИрдбрд┐рдВрдЧ-рд░рд╛рдЗрдЯ: 0px; рдорд╣рддреНрд╡рдкреВрд░реНрдг; }

рд╣реИрд▓реЛ, рдореЗрд░реЗ рдРрдк рдореЗрдВ рдореИрдВ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдореИрдВ рдЕрдкрдиреЗ рдШрдЯрдХ <Menu> рдФрд░ рдЕрдкрдиреЗ рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ disableScrollLock={true} disablePortal={true} id="custom" рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ
#custom { .MuiPopover-paper, .MuiPopover-paper { max-height: inherit !important; } }
рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдЯреНрд░рд┐рдХреНрд╕ рд╕реЗ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

рдореИрдВрдиреЗ рдбрд╛рдпрд▓реЙрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреГрд╖реНрда рдХреА рд╕реНрдХреНрд░реЙрд▓ рдХреЛ рд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ / рдЗрд╕рдХреЗ рд╕реНрдХреНрд░реЙрд▓рдмрд╛рд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВред

рдЙрдкрд╛рдп:
рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рд╕рдмрд╕реЗ рдмрд╛рд╣рд░реА рдХрдВрдЯреЗрдирд░ div рдпрд╛ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░реА div (рдХреЛрдИ рднреА рдХрдВрдЯреЗрдирд░ рдЬреЛ рдЖрдкрдХреЗ рдкреВрд░реЗ рдРрдк рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИ) рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЙрд╕рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗрдЯ рдХрд░реЗрдВ:

width: calc(100vw - 1px);

1px 34px рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрдо рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдРрд╕рд╛ рдХрд░ рджреЗрдЧрд╛ рддрд╛рдХрд┐ рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдЦреЛрд▓рдиреЗ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреГрд╖реНрда рдХреА рд╕реНрдХреНрд░реЙрд▓ рдкрдЯреНрдЯреА рдЫрд┐рдк рдЬрд╛рдП, рдпрджрд┐ рдореМрдЬреВрдж рд╣реЛ, рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдЕрднреА рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реИ рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд╕рдВрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИред

рдЕрдХреНрд╖рдо рдХрд░реЗрдВ

рдЖрдк рд╕рд┐рд░реНрдл рд╢рд╛рдирджрд╛рд░ рд╣реИрдВ, рдзрдиреНрдпрд╡рд╛рдж

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

activatedgeek picture activatedgeek  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TimoRuetten picture TimoRuetten  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mattmiddlesworth picture mattmiddlesworth  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ryanflorence picture ryanflorence  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ