css – 如何在div框中应用从插入到外框阴影的Web转换?

前端之家收集整理的这篇文章主要介绍了css – 如何在div框中应用从插入到外框阴影的Web转换?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试进行一个Web转换,它以插入框阴影开始,结束于外框阴影.下面的jsfiddle显示了这个例子.问题是正常插入无框阴影网络转换工作但插入外部不起作用.

http://jsfiddle.net/xq4qc/

HTML

<div class="greyrow"> 
    good transition
    </div>
<br/>
<br/>
<div class="whiterow"> 
    no transition
    </div>

CSS

.greyrow{
height:100px;
width:250px;
padding:10px;
border:1px solid #CCCCCC;
margin-bottom: 10px;
-moz-Box-shadow: inset 0 0 10px #aaa;
-webkit-Box-shadow: inset 0 0 10px #aaa;
Box-shadow: inner 0 0 10px #aaa;
}

.greyrow:hover{
-moz-Box-shadow: none;
-webkit-Box-shadow: none;
Box-shadow: none;
-webkit-transition: -webkit-Box-shadow 1s;
    -moz-transition: -moz-Box-shadow 1s;
    -o-transition: -o-Box-shadow 1s;
    transition: Box-shadow 1s;


}

.whiterow{
height:100px;
width:250px;
padding:10px;
border:1px solid #CCCCCC;
margin-bottom: 10px;
-moz-Box-shadow: inset 0 0 10px #aaa;
-webkit-Box-shadow: inset 0 0 10px #aaa;
Box-shadow: inner 0 0 10px #aaa;
}

.whiterow:hover{

-moz-Box-shadow: 0 0 10px #aaa;
-webkit-Box-shadow: 0 0 10px #aaa;
Box-shadow: 0 0 10px #aaa;
-webkit-transition: -webkit-Box-shadow 2s;
    -moz-transition: -moz-Box-shadow 2s;
    -o-transition: -o-Box-shadow 2s;
    transition: Box-shadow 2s;


}

解决方法

如果您在插入和开始阴影之间切换之前首先设置为无动画,则可以非常接近关键帧. (你不能直接为它设置动画,因为它们是关键字而不是数字值 – 即没有“almostInset”阴影).

考虑以下css:

.Box {
    Box-shadow: inset 0 0 10px #aaa;
    /*add prefixes*/animation: shadowFadeOut 1s;
}
.Box:hover {
    Box-shadow: 0 0 10px #aaa;
    /*add prefixes*/animation: shadowFadeIn 1s;
}

@/*add prefixes*/keyframes shadowFadeIn {
    0% { Box-shadow: inset 0 0 10px #aaa; }
    50% { Box-shadow: none; }
    100% { Box-shadow: 0 0 10px #aaa; }
}

@/*add prefixes*/keyframes shadowFadeOut {
    0% { Box-shadow: 0 0 10px #aaa; }
    50% { Box-shadow: none; }
    100% { Box-shadow: inset 0 0 10px #aaa; }
}

Webkit演示版:http://jsfiddle.net/xq4qc/1/

我能想到的一个缺点是,它还会在第一页加载时为阴影设置动画.

猜你在找的CSS相关文章