无效原因:
我们使用CSS3的gradient渐变属性是被当成背景图片(background-img)来看的。emmm以前我们是通过加载图片来实现渐变色的效果,现在是通过CSS3的gradient渐变属性就能来实现,也就是说让浏览器自己去绘制出渐变图片而减少一次图片的请求了。
而背景图片并不能使用transition过渡啊...那既然是图片不就能跟平时一样通过opacity透明度来实现过渡效果吗
1:两个设置了渐变色的元素层叠后,通过过渡一个透明度的0到1的元素来实现渐变色渐入渐出
<style>
.div1 {
margin: 100px auto 0;
width: 200px;
height: 200px;
background-color: #6633ff;
.div2 {
width: 200px;
height: 200px;
background: linear-gradient(to bottom, #f2f2f2,#fdfdfd);
opacity: 0;
transition: opacity linear .33s;
.div1:hover .div2{
opacity: 1;
</style>
<div class="div1">
<div class="div2"></div>
</body>
复制代码去试试吧。
2:设置了渐变色的元素后的background-color是默认的初始值,所以可以通过这个来过渡来实现平滑的渐出效果
<style>
body {
background-color: #ccccff;
.div1 {
margin: 100px auto 0;
width: 100px;
height: 100px;
background-color: #fbfbfb;
transition: background ease-in-out .33s;
.div1:hover {
background: linear-gradient(to bottom, #f0f0f0,#fdfdfd);
background-color: #f0f0f0;
</style>
<div class="div1"></div>
</body>
原理是当鼠标移到div1时,背景图片的被设置成渐变色,背景颜色为#f2f2f2(背景图片在背景颜色上),当两样发生变化时transition过渡开始生效,在0.33s内背景颜色从#fbfbfb过渡到#f2f2f2,但因为有渐变图的覆盖,所以没有渐入效果,但鼠标移出时,背景图片失效,背景颜色从#f2f2f2过渡到#fbfbfb(ease-in-out是相对于linear的匀速,慢速过渡),达到淡出效果
注意背景图和背景颜色的书写顺序不能改变,不然background的复合写法会覆盖上面的background-color,当鼠标移出时,就会从初始值(rgba(0,0,0,0))颜色到本身的#fbfbfb过渡
无效原因: 我们使用CSS3的gradient渐变属性是被当成背景图片(background-img)来看的。emmm以前我们是通过加载图片来实现渐变色的效果,现在是通过CSS3的gradient渐变属性就能来实现,也就是说让浏览器自己去绘制出渐变图片而减少一次图片的请求了。而背景图片并不能使用transition过渡啊...那既然是图片不就能跟平时一样通过opacity透明度来实现过渡效果...
XTTransitionAnimations可以让您仅用一行代码即可实现自定义
过渡
动画。
仅需一行代码即可实现自定义
过渡
动画,它与iOS系统的当前和推入
transiton
api非常相似。 学习成本低;
支持配置动画参数,如时长,阻尼比,计时功能等;
过渡
动画的交互性是可配置的;
低侵入性,不干扰用户界面;
默认情况下,有用于解散/弹出的匹配
过渡
动画,也可以单独配置;
对于交互式动画,将自动切换弹性动画和线性动画。
只需实现一个动画对象即可自定义自己的
过渡
动画
XTTransitionAnimations支持扩展动画类型。 主要过程如下:
创建一个实现所需效果并符合UIViewControllerAnimatedTransitioning(例如Animations文件夹中的类)的动画对象;
(可选)如果由手势滑动距离控制过
CSS
3 Gradient分为linear-gradient(线性
渐变
)和radial-gradient(径向
渐变
)
CSS
3
渐变
(gradients)可以让你在两个或多个指定的颜色之间显示平稳的
过渡
。
以前,你必须使用图像来实现这些效果。但是,通过使用
CSS
3
渐变
(gradients),你可以减少下载的事件和宽带的使用。此外,
渐变
效果的元素在放大时看起来效果更好,因为
渐变
(gradient)是由浏览器生成的。
CSS
3 定义了两种类型的
渐变
(gradie
Popmotion: //popmotion.io/pure/ https://popmotion.io/api/react/
姿势:用于HTML,SVG,React和React Native的声明性运动系统https://popmotion.io/pose/
React Motion https://github.com/chenglou/react-motion http://chenglou.github.io/react-motion/demos/demo3-todomvc-list-transition/ http://chenglou.github.io/react -motion / demos / demo0-simple-tr
1.-ms- -ms-box-shadow IE浏览器专属的
CSS
属性需添加-ms-前缀
2.-moz- -moz-box-shadow 所有基于Gecko引擎的浏览器(如Firefox)专属的
CSS
属性需添加-moz-前缀
3.-o- -o-box-shadow Opera浏览器专属的
CSS
属性需添加-o-前缀
4.-webkit- -webkit-box-shadow 所有基于Webkit引擎的浏览器(如Chrome、Safari)专属的...
transition 属性名 持续时间
过渡
方法
transition-property 属性名|all 对哪个属性进行变化
transition-duration 持续时间,单位 s(秒) 毫秒
transition-timing-function
过渡
使用的
方法
(函数)
transition-delay
过渡
transition 作用:将元素的某个属性从“一个值”,在指定的时间内
过渡
到“另一个值”。
transiton
-time-function属性值
linear 匀速
ease 慢快慢
ease-in 慢快
ease-out 快慢
ease-in-out 慢快慢
height: 30px;
width: 100px;
line-height: 30px;
border-radius: 5px;
color: #000;
background-color: silver;
transition: all 1s linear;
div:hover{
color: white;
background-color: #45b823;
display: none 和display: block之间的切换也会出现
过渡
效果失效的情况。
原因
:display: none是销毁当前dom节点,再次切换为display: block时会再创建节点,此时
css
选择器会重新赋予上去。所以不存在
渐变
动画。
解决
方法
:
用opacity(透明度)去替代。
用visibility : hidden和visibility: visible进行替换
self.machine = QtCore.QStateMachine()
self.off_state = self.OffState()
self.on_state = self.OnState()
self.off_state.addTransition(self.off_state.
transitOn
)
self.on_state.addTransition(self.on_state.transitOff)
self.machine.addState(self.off_state)
self.machine.addState(self.on_state)
self.machine.setInitialState(self.off_state)
self.machine.start()
def turnOn(self):
self.machine.postEvent(self.on_state.
transitOn
)
def turnOff(self):
self.machine.postEvent(self.off_state.transitOff)
在这个示例代码中,我们定义了两个状态:打开状态和关闭状态。每个状态都是一个 `QState` 的子类,并实现了 `onEntry`
方法
,在进入状态时触发。我们还定义了两个事件:`
transitOn
` 和 `transitOff`,它们用于触发状态转换。
在 `__init__`
方法
中,我们创建了一个状态机,并将两个状态添加到状态机中。我们还将关闭状态设置为初始状态,并启动状态机。
最后,我们定义了两个
方法
`turnOn` 和 `turnOff`,用于触发状态转换。它们会将相应的事件发送到状态机中。
通过这个状态机分组示例代码,我们可以控制一个灯的开关状态,并在状态转换时输出一些信息。