bootstrap4を使ってwebページを作っていく中で、スマホ表示の時にハンバーガーメニューがコンテンツの下に隠れてしまうという問題が発生しました。
状況
以下のように、メニューがコンテンツの下に隠れてしまっています。

コード(html)
<header>
<nav class="navbar navbar-expand-lg navbar-light">
<a class="navbar-brand" href="index.html"><i class="fas fa-swatchbook"></i>test</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="index.html">Home<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">about</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="news.html">ニュース</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">お問い合わせ</a>
</li>
</ul>
</div>
</nav>
</header>
解決法
cssに以下のコードを追加します。
.navbar{
z-index: 2;
}
z-indexは重なりの順序を指定するものです。値が大きいほど上に表示されます。
www.htmq.com
追加すると、こうなりました。

上側に表示されました。
透明で見づらいので、style=”background-color: white;“を追加して

完成です!
宮本 麻矢,朝平 文彦
技術評論社 2018-08-25
コメント