2

我发现如果你调整 div 的大小,阴影会保持在原来的位置。我单击按钮使子 div 更改高度,并且父级也更改高度,但阴影没有删除。

<script type="text/javascript">
    $(function () {
        // change width
        $('#btn1').toggle(function () {
            $('#div1').height(100);
        },
        function () {
            $('#div1').height(200);
        });
    });
</script>

 <style type="text/css">
    #div1
    {
        height: 200px;
    }
    #div2
    {
        width: 200px;
        box-shadow: 2px 2px 8px #000000;
        position: absolute;
        left: 200px;
        top: 200px;
    }
</style>

<body>
   <div id="div2">
    <div id="div1">
        <input type="button" id="btn1" value="test" />
    </div>
</div>

http://jsfiddle.net/edward44444/v2NmD/1/

4

1 回答 1

0

直截了当的解决方法是在设置高度之前以及在设置高度时移除阴影:

CSS:

#div2.noshadow {
    box-shadow: none;
}

JS:

$(function() {
    $('#btn1').toggle(function() {
        $('#div2').addClass('noshadow');
        $('#div1').height(100);
        $('#div2').removeClass('noshadow');
    }, function() {
        $('#div1').height(200);
    });
});

http://jsfiddle.net/v2NmD/32/

于 2013-04-22T11:14:01.883 回答