0

たとえば、最初のdivにカーソルを合わせると、bgの色を変更するためのもので、色が変わりますが、色を変更すると点滅し、Chromeではまったく滑らかではありません. でも、IEとFirefoxでは本当にスムーズです...それはなぜですか?(私が知りたいのはそれだけです) CSS:

    .bg {
    position:absolute;
    top:0; 
    left:0;
    bottom:0;
    right:0;
    width:100%;
    height:100%;
    background-color:#D8D8D8;
    z-index:-10;
}
.DIVOne {
    color:#FFF;
    margin-top:10%;
    background-color:#A2D700;
    height:300%;
    line-height:200%;
    width:20%;
    padding:0 20px;
    font-size:300%;
    font-family:Verdana, Geneva, sans-serif;
    margin-left:20%; 
    border: solid 5px #000;
    border-width:0 4px 5px 0;
    border-radius:5px;
    border-color:transparent #ddd #999 transparent;
    background-clip:padding-box;
    text-align:center;
    z-index:-5;

}
.DIVOne:hover {
    border-width:0 2px 3px 0; 
    margin-right:4px;
    position:relative;
    left:2px;
    top:3px;
}

.DIVOne:hover ~ .bg {
    background-color:#A2D700;
    transition:all 0.5s;
}


.DIVTwo {
    color:#FFF;
    background-color:#FF8000;
    height:300%;
    line-height:200%;
    width:20%;
    margin-top:10px;
    padding:0 20px;
    font-size:300%;
    font-family:Verdana, Geneva, sans-serif;
    margin-left:20%; 
    border: solid 5px #000;
    border-width:0 4px 5px 0;
    border-radius:5px;
    border-color:transparent #ddd #999 transparent;
    background-clip:padding-box;
    text-align:center;
    z-index:-6;

}
.DIVTwo:hover {
    border-width:0 2px 3px 0; 
    margin-right:4px;
    position:relative;
    left:2px;
    top:3px;
}

.DIVTwo:hover ~ .bg {
    background-color:#FF8000;
}

.DIVThree {
    color:#FFF;
    background-color:#0080FF;
    height:300%;
    line-height:200%;
    width:20%;
    margin-top:10px;
    padding:0 20px;
    font-size:300%;
    font-family:Verdana, Geneva, sans-serif;
    margin-left:20%; 
    border: solid 5px #000;
    border-width:0 4px 5px 0;
    border-radius:5px;
    border-color:transparent #ddd #999 transparent;
    background-clip:padding-box;
    text-align:center;
    z-index:-6;

}
.DIVThree:hover {
    border-width:0 2px 3px 0; 
    margin-right:4px;
    position:relative;
    left:2px;
    top:3px;
}

.DIVThree:hover ~ .bg {
    background-color:#0080FF;
}

HTML:

<div class="DIVOne"> Content </div>
<div class="DIVTwo"> Content </div>
<div class="DIVThree"> Content </div>

デモ: http://www.jsfiddle.net/aryanf/w7unZ/

4

2 に答える 2

1

レンダリングされず、他のブラウザーでスムーズに表示されない場合は、CSS ファイル内にいくつかの CSS コードを追加してみてください。

IEでRounded Corner Borderが必要な場合、使用するとします

.ddlStyle {
    border-radius: 4px;
    height: 22px;
    width: auto;
    max-width: 300px;
    min-width: 120px;
    padding: 0 0 0px 0px;
    padding-right: 4px;
    font-family: Calibri,Verdana, Tahoma, 'Segoe UI';
}

ただし、レンダリング エンジンの動作が異なるため、これは他のすべてのブラウザでは完全にレンダリングされない場合があります。そのため、いくつかの行を追加して、他のブラウザーで試してください。

.ddlStyle {
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    height: 22px;
    width: auto;
    max-width: 300px;
    min-width: 120px;
    padding: 0 0 0px 0px;
    padding-right: 4px;
    font-family: Calibri,Verdana, Tahoma, 'Segoe UI';
}

うまくいけば、それは問題を解決します。

于 2013-06-23T05:49:00.383 に答える
1

問題は次のコードにあります

.DIVOne:hover {
    border-width:0 2px 3px 0; 
    margin-right:4px;
    position:relative;
    left:2px;
    top:3px;
}

position:relative;Chrome で問題を引き起こしているのはプロパティです。削除してみてください。それに、そもそもなぜあなたがそれを導入したのかわかりません。それがなくてもうまくいくようです。

.DIVOne:hover {
    border-width:0 2px 3px 0; 
    margin-right:4px;
    //position:relative;
    left:2px;
    top:3px;
}
于 2013-06-23T05:58:19.967 に答える