2015-05-29 176 views
0

我想删除所有元素的所有外阴影但保留嵌入阴影。如果我做$('*').css({'box-shadow':'none'});那么它将删除所有的插入和外部的阴影。我如何保留所有内部阴影?删除外框阴影并仅保留嵌入阴影

谢谢。

回答

0

你应该改变你的影子,而不是地内陷,但你必须知道以前的值,其中,一些粗糙这样可以工作:

var prevShadow = $('#myDiv').css('box-shadow'); 
$('#myDiv').css('box-shadow', prevShadow + ' inset'); 
+0

是如何运作的?我有box-shadow:inset 0px 0px 10px red,0px 0px 10px blue;我只想保持蓝色? – frenchie

0

只是要外颜色透明

box-shadow:inset 0px 0px 10px red, 0px 0px 10px transparent 

或者只是分配一个类的元素(S)与!important

<div class="something"></div> 

.something { 
    box-shadow:inset 0px 0px 10px red !important; 
} 

或者只是重新做盒子的影子一起

$('.changeBoxShadow').click(function (e) { 
    $('.hasBoth').css('box-shadow', 'inset 0px 0px 10px red'); 
}); 

<div class="hasBoth"></div> 
<p> <a class="changeBoxShadow">Change Box Shadow</a></p> 

Fiddle for you

+0

我认为他不想在别处硬编码值,所以如果他决定改变它们,他会在一个地方改变它,而不必担心js或任何其他css类。 – sqram

+1

他有JS选择器虽然 –

+0

但选择器是$('*'),它是所有选择器 – frenchie