Элементы меню Material Design Lite исчезают при прокрутке - PullRequest
0 голосов
/ 30 января 2019

Я использую меню из библиотеки компонентов Material Design Lite (MDL) (v1.3.0) с фиксированным позиционированием в верхнем левом углу моей страницы.

Если я открою меню изатем прокрутите вниз до определенной точки, пункты меню исчезнут.Я не хочу, чтобы это произошло, и я не уверен, что это вызвало.

МИНИМАЛЬНЫЙ ПРИМЕР (на коде)

HTML

<html>
<head>
    <script src="https://storage.googleapis.com/code.getmdl.io/1.3.0/material.min.js"></script>
</head>

<body>
    <main>
        <nav class="menu">
            <button id="menu" class="mdl-button mdl-js-button">MENU</button>      
            <ul class="mdl-menu mdl-js-menu" for="menu">
                <a href="#0"><li class="mdl-menu__item">Item 1</li></a>
                <a href="#0"><li class="mdl-menu__item">Item 2</li></a>
                <a href="#0"><li class="mdl-menu__item">Item 3</li></a>
                <a href="#0"><li class="mdl-menu__item">Item 4</li></a>
            </ul>
        </nav>

        <div class="page" style="height:2000px"></div>
    </main>
</body>
</html>

CSS

html {
  box-sizing: border-box;
  overflow-y: scroll;
}

html, body, top {
  margin: 0;
  padding: 0;
  border: 0;
}

main {
  padding: 3rem;
}
  main div.page {
    background-color: #eee;
    margin: 0;
    padding: 0;
    border: 0;
    margin-left: calc( 6rem + 1.5rem + 1.5rem );
    width: calc( 100% - 6rem - 1.5rem - 1.5rem ); }

nav.menu {
  display: block; }

.mdl-button {
  display: block;
  position: fixed;
  margin: 0;
  padding: 0;
  border: 0;
  height: 1.5rem;
  background-color: transparent;
  outline: none;
  cursor: pointer;
  font-size: 1.5rem;
}

.mdl-menu__container {
  display: block;
  position: fixed;
  margin: 0;
  padding: 0;
  border: 0;
  height: 0;
  width: 0;
  overflow: visible;
  visibility: hidden;
  font-size: 0.825rem;
  z-index: -1;
}
  .mdl-menu__container.is-visible {
    z-index: 999;
    visibility: visible; }
    .mdl-menu__container.is-visible .mdl-menu__outline {
      opacity: 1;
      -webkit-transform: scale(1);
      -moz-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1); }
    .mdl-menu__container.is-visible .mdl-menu, .mdl-menu__container.is-visible .mdl-menu__item {
      opacity: 1; }

.mdl-menu__outline {
  display: block;
  position: absolute;
  background: #fff;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 2px;
  top: -1.5rem;
  left: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  will-change: transform;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1; }

.mdl-menu {
  position: absolute;
  margin: 0;
  padding: 0;
  border: 0;
  height: auto;
  width: auto;
  min-width: 6rem;
  top: -1.5rem;
  left: 0;
  list-style: none;
  opacity: 0;
  clip: rect(0 0 0 0);
  z-index: -1; }

a .mdl-menu__item {
  display: block;
  margin: 0;
  padding: 0.2rem 0.75rem 0 0.75rem;
  border: 0;
  background-color: transparent;
  text-align: left;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
  line-height: 2.3rem;
  white-space: nowrap;
  opacity: 0;
  -webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -ms-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  a .mdl-menu__item:hover {
    background-color: #eee; }
  a .mdl-menu__item:focus {
    outline: none;
    background-color: #eee; }
  a .mdl-menu__item:active {
    background-color: #e0e0e0; }

Насколько я могу судить, ни одно из правил CSS для меню не изменяется MDL при прокрутке, но я могубыть неправым.Я не уверен, что еще искать.

Почему пункты меню исчезают при прокрутке и как я могу помешать им сделать это?

...