2017-10-31 2 views
0

ここは私の問題です。私は2つのCSSクラスを持って、私の要素はどちらか色を渡さずにボックスの影を変更する方法はありますか?

.classA{box-shadow:inset -2px 0px 0px 0px rgba(63,191,31,1);} 
.classB{box-shadow:inset -2px 0px 0px 0px rgba(204,29,29,1);} 

私はインセットではなく、カラー作品

.classC{box-shadow:inset -10px 0px 0px 0px;} 

を変更するために第三のクラスを使用することができます(影がここにある)が、色は黒に変わります。私は元の色を維持したいと思います。

を使用してシャドウプロパティを変更するにはCSSを使用する場合、色を失うことなくのみを使用しますか?

+2

私はあなたが全体のプロパティを再定義する必要がありますので、 'ボックスshadow'は'ボックスシャドウ-type'がまたは 'ボックスシャドウ-color'のような子の特性を持っているとは思いません。 – zgood

+0

@zgoodに同意する必要があります。 'box-shadow'の特定のプロパティを(CSSで)ターゲットにすることはできません。あなたはJSでこれを行うことができるかもしれませんが、それはあなたが第3のクラスでやろうとしていることを打ち負かします。 – disinfor

+0

上記の両方のコメントとして、あなたが要素を検査するとき、box-shadowプロパティを拡張することはできません。つまり、他のプロパティ(border、font、marginなど)のように分割することはできません。 –

答えて

2

ボックスシャドウは、たとえば境界缶のような部品に分割することはできません。しかし、あなたが使うことができるトリックは、box-shadowがその要素のcolor属性からその色を継承するということです。

<div class="box"> 
</div> 

<div class="shadow box"> 
</div> 

.box{ 
    box-shadow: 0 0 10px; 
    width: 100px; 
    height: 100px; 
    margin: 10px; 
    background: #fff; 
} 

.box.shadow{ 
    color: rgba(255,0,0,.3); 
} 

http://jsfiddle.net/82z8r73o/

関連する問題