鼠標單擊 獲取焦點 或元素發生任何改變,怎么說呢,目前的理解是,元素發生了什么改變,使得它跟以前不一樣了。比如同樣是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{} 或者動態加一個類,只要是使途徑二可以獲取到該元素都可以。
至於別的例子中,覺得觸發有固定的思路但是沒有固定的形式,看着辦吧,哈哈。感覺把自己都繞糊塗了。