2016-03-19 10 views
0

次の例では、ナビゲーションバーの上にカーソルを置くと展開されます。それが拡大している間、テキスト、より具体的なテキストシャドーは奇妙に見えます。遷移中にテキストシャドーが奇妙に見える

body { 
 
    background-color: gainsboro; 
 
    margin: 0; 
 
} 
 
#box { 
 
    position: fixed; 
 
    width: 200px; 
 
    height: 100vh; 
 
    background-color: rgb(100,150,165); 
 
    box-sizing: border-box; 
 
    transition: width .5s; 
 
    overflow: hidden; 
 
    border-right: 1px solid rgba(0,0,0,.1); 
 
    box-shadow: 1px 0 2px rgba(0,0,0,.25), inset -1px -1px 0 rgba(255,255,255,.075); 
 
    white-space: nowrap; 
 
} 
 
span { 
 
    font-family: arial; 
 
    color: rgba(255,255,255,.65); 
 
    text-shadow: 0 1px 1px rgba(0,0,0,.4); 
 
    display: inline-block; 
 
    margin: 20px; 
 
} 
 
.line { 
 
    border-bottom: 1px solid rgba(255,255,255,.2); 
 
    opacity: 0; 
 
    transition: opacity .2s; 
 
} 
 
#box.narrow { 
 
    width: 15px; 
 
} 
 
#box.narrow:hover { 
 
    width: 200px; 
 
} 
 
#box.narrow:hover .line { 
 
    opacity: 1; 
 
}
<div id="box" class="narrow"> 
 
\t <span>Homepage</span> 
 
\t <div class="line"></div> 
 
\t <span>Nav item 1</span> 
 
\t <div class="line"></div> 
 
\t <span>Nav item 2</span> 
 
\t <div class="line"></div> 
 
</div>

私はいくつかの実験をした、と#box修正問題にposition: fixedを無効にします。また、box-shadowを無効にすると問題は解決しますが、これらのスタイルを両方とも適用する必要があります。クローム49を使用して

enter image description here

勝利8.1 Proの上(のx86)(x64)の

+2

私のブラウザで問題はありません。 Google Chrome 49には、過去3日間に見たcss/htmlの問題のすべてが関連しているような、奇妙なことがいくつかあります。 –

+0

Chrome v50.0.2661.18(dev-m)、何も間違って見ないでください(Windows 10)。 – Harry

答えて

0

ちらつきは非常に微妙ですが、私はそれはの推移によって引き起こされるクロム49でそれを見ることができました.lineopacity

上のopacityのトランジションをborder-colorトランジションに置き換えると、フリッカが固定されます。

.line { 
    border-bottom: 1px solid rgba(255,255,255,0); 
    transition: border-color .2s; 
} 
#box.narrow:hover .line { 
border-color:rgba(255,255,255,.2)} 
+1

私はあなたのソリューションをデモに適用しましたが、実際のナビゲーションバーでは機能しませんでした。これは、各項目に2つの要素が追加されたためです。 navアイコンとサブメニューインジケータアイコンを表示します。これらはフォントアイコンなので、テキストシャドウもそれらに適用されます。私はまた、ホバー上のサブメニューインジケータアイコンの不透明度を変更するので、フリッカーは '.line'要素に起因するだけではありません。 もう少し実験をしました。あなたの答えに触発されて、私は問題が不透明の移行のためであることを理解しました。私が不透明度の代わりにカラーとテキストシャドーを一緒に変えると、ちらつきは見られません。 – akinuri

関連する問題