触发transition的几种方式--转

鼠标单击 获取焦点 或元素发生任何改变,怎么说呢,目前的理解是,元素发生了什么改变,使得它跟以前不一样了。比如同样是p元素,先有一个样式。后来这个p被hover了、被focus了。或者通过另外一条途径才能得到它。比如原来是<div><p></p></div> 获取div p就可以了。但是如果有个div.addclass p的css样式。这时给div加上addclass的类也可以触发transition。当然,transition设置在最初始的p中。

现在有一个问题,如果给p加上一个类,类的css里面有对属性的更改,会触发么 ?闭着眼睛想想明天试一下(明天到了)

试了一下,过度必须要有一个动态的触发(改变)过程

div{
    width: 200px;
    height: 200px;
    border: 1px solid red;
    border-radius: 5px;
    padding: 20px;
 }
p{ width: 100px; height: 100px;
/*border-radius: 5px;*/ border: 1px solid black; -moz-transition:all 3s ease 1s; } .add{ width: 50px; height: 50px; } <div><p class =‘add’></p></div> //没有任何效果,同样,设置另外一个p的样式,同样没有过度,只是覆盖罢了。 //如果改成add:hover{...} 或者js动态加入.add 就会使P有过度效果

再总结一下吧,触发分为伪类触发 比如 :hover : focus  :checked  :active

js触发就是toggleClass

过度应该是这样的吧,就是对同一个元素(元素获取,或者类,ID获取都可以,针对同一个元素就行),有两个不同样式(两个途径获取的)。如果一开始这两个途径就可以获取该元素(第二个直接覆盖第一个),就没有过度。

如果第二途径的实现依赖于某种改变才会获取该元素,就会有过度。

途径1获取一个元素{

   //样式

}

途径2获取一个元素{ 

    //样式

}

 对于这个例子的触发可以是 div:hover p{}     p:hover{}    或者动态加一个类,只要是使途径二可以获取到该元素都可以。

posted on 2017-07-04 15:57  CNundefined  阅读(945)  评论(0编辑  收藏  举报