codrops Web サイトから取得した CSS3 コードのみを使用して、Web サイトのヘッダーに「ハンバーガー」メニュー アイコンを挿入しました。アイコンは疑似クラス :before と :after を使用し、Chrome の最新バージョンと IE11 で完全に動作します。ただし、IE9 (私たちの組織が職場で使用している) を使用すると、最初のトリガー アイコンが正しく表示されず、ページの読み込み時に 3 行のうちの 1 行 (中央の行だと思います) のみが表示されます。これらの疑似クラスを使用する IE9 で以前に問題が発生したことはありません。HTML に IE9 を quirks モードに戻すものが何もないことを確認しました。この問題が IE9 標準モードで発生していることを確認できます。Codrops Web サイトhttp://tympanus.net/Tutorials/AnimatedBorderMenus/index2.htmlで元のデモも確認しました。そして同じ問題が発生します。職場の外でもIE9を使用しましたが、同じことが起こり、「ハンバーガー」の1行しか表示されません。
アイコンに使用される CSS は次のとおりです (CSS3 アニメーションはどれも IE9 で機能しないことは承知していますが、これによって最初のトリガー アイコンが適切に表示されなくなることはありません)。
.bt-menu-trigger {
position: fixed;
top: 22px;
left: 20px;
display: block;
width: 50px;
height: 50px;
cursor: pointer;
z-index: 1100;
}
.bt-menu-trigger span {
position: absolute;
top: 50%;
left: 0;
display: block;
width: 100%;
height: 4px;
margin-top: -2px;
background-color: #fff;
font-size: 0px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-transition: background-color 0.3s;
transition: background-color 0.3s;
}
.bt-menu-open .bt-menu-trigger span {
background-color: transparent;
}
.bt-menu-trigger span:before,
.bt-menu-trigger span:after {
position: absolute;
left: 0;
width: 100%;
height: 100%;
background: #fff;
content: '';
-webkit-transition: -webkit-transform 0.3s;
transition: transform 0.3s;
}
.bt-menu-trigger span:before {
-webkit-transform: translateY(-250%);
transform: translateY(-250%);
}
.bt-menu-trigger span:after {
-webkit-transform: translateY(250%);
transform: translateY(250%);
}
.bt-menu-open .bt-menu-trigger span:before {
-webkit-transform: translateY(0) rotate(45deg);
transform: translateY(0) rotate(45deg);
}
.bt-menu-open .bt-menu-trigger span:after {
-webkit-transform: translateY(0) rotate(-45deg);
transform: translateY(0) rotate(-45deg);
}
Web ページで使用される HTML マークアップは次のとおりです。
<nav id="bt-menu" class="bt-menu">
<a href="#" class="bt-menu-trigger"><span>Menu</span></a>
<ul>
<li><a href="http://www.acutemedicinebhh.com/home.html">home</a></li>
<li><a href="http://www.acutemedicinebhh.com/documents.html">documents</a></li>
<li><a href="http://www.acutemedicinebhh.com/medical-on-call.html">medical on-call</a></li>
<li><a href="http://www.acutemedicinebhh.com/learning.html">learning</a></li>
<li><a href="http://www.acutemedicinebhh.com/acp.html">acp</a></li>
<li><a href="http://www.acutemedicinebhh.com/nursing.html">nursing</a></li>
<li><a href="http://www.acutemedicinebhh.com/about-us.html">about us</a></li>
</ul>
</nav>
IE9 でハンバーガーを適切に表示する方法を教えていただければ幸いです。