2017-01-28 8 views
0

私はスクロール可能なdivを持ち、divをスクロールするときにdivの上にシャドウを実装しようとしていました。 https://codepen.io/bennyzhao/pen/iGoBmCSSのバックグラウンドアタッチ:方向がローカル:rtl

この例では、私のために仕事をしましたが、私は遊んでた後、私はdirectionrtlに設定されているbackground-attachment: localの行動との奇妙な何かを発見しました:

私はcodepenに、この単純な実装を見つけました。奇妙な挙動を示すためにcodepenに、私は非常に簡単な例を作成しました

は: https://codepen.io/Ron537/pen/ZLaqoG

私はこの問題はGoogle Chromeに存在するがMicrosoft Edgeで正常に動作していることに気付きました。あなたが見ることができるようGoogle Chromeと背景が全体のdivの幅を占めているが、いくつかの空白を残していない、 Chrome vs Edge

:ここ

は、画像comparasionです。

これは既知のバグですか? これには解決策がありますか?

+0

を見ていないことがありますか? https://codepen.io/anon/pen/XpzobB – Banzay

+0

ボックスシャドウの場合スクロールするときだけ影を表示するという私の目標は達成できません...私の例は、「バグ」を再現する手順を示すことでした。 ..純粋なCSSを使用してこれを実装し、divがスクロールされるときだけ影を表示する別の方法があるかもしれませんか? – Ron537

+0

私は ':before'擬似要素を使用しようとします – Banzay

答えて

0

:before擬似要素を使用した解決策があるようです。 ただ.scrollbarから.scrollbar:beforeに勾配を移動:

.scrollbar:before{ 
    content: " "; 
    height: 30px; 
    width: 100%; 
    background: linear-gradient(red, white); 
    background-size: 100% 30px; 
    background-repeat: no-repeat; 
    background-attachment: local; 
    display: block; 
    position: absolute; 
    z-index: -1; 
} 

二つの属性:background-repeat: no-repeat;background-attachment: local;を冗長であるように見えます。

あなたは `ボックスshadow`属性を使用したいcodepen

関連する問題