Почему CSS-меню не работает на мобильном телефоне? - PullRequest
0 голосов
/ 03 октября 2018

В моем угловом приложении у меня есть кнопка профиля (начальная буква пользователя) в навигационной панели.Когда пользователь наводит курсор, появляется подменю (с использованием CSS: hover).На мобильном телефоне, когда пользователь нажимает кнопку профиля, ничего не происходит.

Сначала я думал, что это проблема с состоянием: hover CSS (очевидно, что вы не можете зависать на мобильном телефоне), но другие мои выпадающие списки прекрасно работают с состоянием наведения мыши на мобильном телефоне.Вторая странная вещь - это то, что в Chrome (Desktop), когда я проверяю и изменяю настройки на мобильный, он работает, но на живой версии на реальном телефоне ничего не происходит.Я совершенно сбит с толку относительно того, почему это происходит. Я думаю, что это как-то связано с тем, что он находится в набере, потому что, как я уже сказал, hover работает везде.

.profileLeft {
  display: inline-block;
  margin-left: 10px;
  padding-top: 2px;
  float: right;
}

#navOne {
  padding-left: 0px;
}

.navbar-collapse.collapse {
  display: none !important;
}

.profileBubble {
  margin-top: 10px;
  width: 30px;
  height: 30px;
  background-color: rgb(0, 172, 168, 0.8);
  /* border: 2px solid #3e3f3a; */
  text-align: center;
  background-size: cover;
  display: inline-block;
  border-radius: 100px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
}

.dropup {
  width: 30px;
  height: 30px;
  display: inline-block;
}

.profileText {
  padding-top: 2px;
  font-size: 18px;
  color: white;
}

.dropup-content {
  display: none;
  position: absolute;
  top: 30px;
  right: 10px;
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  border-radius: 10px;
}

.dropup-content :hover {
  border-radius: 10px;
}


/* Links inside the dropup */

.dropup-content a {
  color: black;
  padding: 8px 16px;
  text-decoration: none;
  display: block;
}


/* Change color of dropup links on hover */

.dropup-content a:hover {
  background-color: #ddd;
  color: #00aca8 !important;
}


/* Show the dropup menu on hover */

.dropup:hover .dropup-content {
  display: block;
  border-radius: 10px;
}
<nav class="navbar navbar-default" *ngIf="nav.visible" id="navProperties">
  <div class="container" id="navOne">

    <a class="navbar-brand" [routerLink]="['/dashboard']" class="SClogo">
      <img src="assets/sc-logo-no-background.png" style="width: 60px; margin-top:5px; padding-bottom:10px">

    </a>

    <breadcrumb prefix="App Title"></breadcrumb>

    <!-- PROFILE FOR MOBILE -->
    <div class="profileLeft">
      <div class="dropup">
        <div class="profileBubble">
          <p class="profileText">{{userInitial}}</p>
        </div>
        <div class="dropup-content">
          <a *ngIf="!authService.loggedIn()" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" [routerLink]="['/login']">Login</a>
          <a *ngIf="!authService.loggedIn()" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" [routerLink]="['/register']">Register</a>
          <a *ngIf="authService.loggedIn()" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" [routerLink]="['/profile']">Profile</a>
          <a *ngIf="authService.loggedIn()" (click)="onLogoutClick()" href="#">Logout</a>
        </div>
      </div>
    </div>
  </div>
</nav>
...