CSSでハンバーガーメニューを作っています。
クリックした時にjQueryでclassを適用し、それをトリガーとして
CSSアニメーションで×マークに変化させているのですが、
IE11だけ添付の画像のように×マークが崩れてしまいます。
このような崩れ方をするのがIE11のバグのせいなのか、
何かコードの書き方がおかしいからなのか分からず困っております。
IE11でもChrome等と同じようなちゃんとした×の形に表示するにはどうしたらよいか、
どなたかご教授いただけないでしょうか?
よろしくお願い申し上げます。
HTML
1<li id="globalMenu" class="hdMenu_item global"> 2<button class="hdMenu_btn"> 3 <div class="ico"> 4 <span></span> 5 <span></span> 6 <span></span> 7 </div> 8 <div class="txt">MENU</div> 9</button> 10--省略-- 11</li>
CSS
1/*メニュー本体ボタンスタイル*/ 2.hdMenu_btn { 3 width: 60px; 4 height: 60px; 5 padding: 0; 6 margin: 0; 7 font-size: 10px; 8 line-height: 1; 9 cursor: pointer; 10} 11 12.hdMenu_btn .ico { 13 width: 25px; 14 height: 25px; 15 margin: 0 auto 5px; 16} 17 18.hdMenu_item.global .hdMenu_btn { 19 background: #7dc6c6; 20} 21 22.hdMenu_item.global .ico { 23 position: relative; 24 margin: 2px auto 2px; 25} 26 27.hdMenu_item.global .ico span { 28 position: absolute; 29 left: 0; 30 display: block; 31 width: 100%; 32 height: 2px; 33 background: #000000; 34 -webkit-transform-origin: center center; 35 -ms-transform-origin: center center; 36 transform-origin: center center; 37} 38 39.hdMenu_item.global .ico span:nth-child(1) { 40 top: 0; 41} 42 43.hdMenu_item.global .ico span:nth-child(2) { 44 top: 10px; 45} 46 47.hdMenu_item.global .ico span:nth-child(3) { 48 top: 20px; 49} 50 51/*アニメーション部分*/ 52.hdMenu_item.global .ico span:nth-of-type(1) { 53 animation: menu-bar01 .50s forwards; 54} 55@keyframes menu-bar01 { 56 0% {transform: translateY(10px) rotate(45deg);} 57 50% {transform: translateY(10px) rotate(0);} 58 100% {transform: translateY(0) rotate(0);} 59} 60.hdMenu_item.global .ico span:nth-of-type(2) { 61 transition: all .25s .25s; 62 opacity: 1; 63} 64.hdMenu_item.global .ico span:nth-of-type(3) { 65 animation: menu-bar03 .50s forwards; 66} 67@keyframes menu-bar03 { 68 0% {transform: translateY(-10px) rotate(-45deg);} 69 50% {transform: translateY(-10px) rotate(0);} 70 100% {transform: translateY(0) rotate(0);} 71} 72.hdMenu_item.global .is-active .ico span:nth-of-type(1) { 73 animation: active-menu-bar01 .50s forwards; 74} 75@keyframes active-menu-bar01 { 76 0% {transform: translateY(0) rotate(0);} 77 50% {transform: translateY(10px) rotate(0);} 78 100% {transform: translateY(10px) rotate(45deg);} 79} 80.hdMenu_item.global .is-active .ico span:nth-of-type(2) { 81 opacity: 0; 82} 83.hdMenu_item.global .is-active .ico span:nth-of-type(3) { 84 animation: active-menu-bar03 .50s forwards; 85} 86@keyframes active-menu-bar03 { 87 0% {transform: translateY(0) rotate(0);} 88 50% {transform: translateY(-10px) rotate(0);} 89 100% {transform: translateY(-10px) rotate(-45deg);} 90} 91
回答1件
あなたの回答
tips
プレビュー