1

これは私の頭を悩ませています。誰か助けてください。私はサイトを作成しました.Ie9 + 10および他のすべてのブラウザで動作しますが、アニメーションメニューはIE8では機能せず、それを使用してサイトを表示する人がいます..

ここにCSSがあります:

.menu, .menu ul, .menu li, .menu a {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}

.menu {
    height: 40px;
    width: 800px;
    background: #f7d000;
    background: -webkit-linear-gradient(top, #f7d000 0%,#f7d000 100%);
    background: -moz-linear-gradient(top, #f7d000 0%,#f7d000100%);
    background: -o-linear-gradient(top, #f7d000 0%,#f7d000 100%);
    background: -ms-linear-gradient(top, #f7d000 0%,#f7d000 100%);
    background: linear-gradient(top, #f7d000 0%,#f7d000 100%);
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}

.menu li {
    position: relative;
    list-style: none;
    float: left;
    display: block;
    height: 50px;
}

.menu li a {
    display: block;
    padding: 0 14px;
    margin: 5px 0;
    line-height: 28px;
    text-decoration: none;
    font-family: 'Titillium Web', sans-serif;
    font-weight: bold;
    font-size: 15px;
    color: #000000;
    -webkit-transition: color .2s ease-in-out;
    -moz-transition: color .2s ease-in-out;
    -o-transition: color .2s ease-in-out;
    -ms-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out;
}

.menu li:first-child a {
    border-left: none;
}

.menu li:last-child a {
    border-right: none;
}

.menu li:hover > a {
    color: #ffffff;
}

.menu ul {
    position: absolute;
    top: 40px;
    left: 0;
    z-index: 999;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    background: #f7d000;
    -webkit-border-radius: 0 0 5px 5px;
    -moz-border-radius: 0 0 5px 5px;
    border-radius: 0 0 5px 5px;
    -webkit-transition: opacity .25s ease .1s;
    -moz-transition: opacity .25s ease .1s;
    -o-transition: opacity .25s ease .1s;
    -ms-transition: opacity .25s ease .1s;
    transition: opacity .25s ease .1s;
}

.menu li:hover > ul {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.menu ul li {
    height: 0;
    overflow: visible;
    padding: 0;
    -webkit-transition: height .25s ease .1s;
    -moz-transition: height .25s ease .1s;
    -o-transition: height .25s ease .1s;
    -ms-transition: height .25s ease .1s;
    transition: height .25s ease .1s;
}

.menu li:hover > ul li {
    height: 36px;
    overflow: visible;
    padding: 0;
}

.menu ul li a {
    width: 180px;
    padding: 8px 10px;
    margin: 0;
    border: none;
    border-bottom: 1px solid #f7d000;
}

.menu ul li:last-child a {
    border: none;
}

サイトは www.softwaretestingawards.com です。

4

3 に答える 3

3

IE8 は CSS3 アニメーションをサポートしていません。

このリファレンスを参照してください: http://caniuse.com/#search=css%20tran


次のような JavaScript アニメーションの使用を検討したい方も多いでしょう。jQuery.animate

http://api.jquery.com/animate/

于 2013-05-02T08:57:54.257 に答える
0

Internet Explorer 8 で動作しない理由は、CSS3 アニメーションをサポートしていないためです。Internet Explorer 8 が使用されているかどうかを検出するスクリプトを作成し、使用されている場合は、派手な CSS3 アニメーションが表示されないように Web サイトを動的に変更することをお勧めします。

于 2013-09-29T06:50:29.627 に答える
0

IE8 で css を機能させるには、PIE.htc を使用して試すことができます。 http://css3pie.com/demos/が必要な場合は、このサイトでソリューションとデモを参照してください。実際に私にとってはうまくいきました :)

于 2014-07-16T10:24:02.977 に答える