嘗試用css寫了個箭頭效果
思路就是經過span
和span
子元素i
分別經過設置他們的僞元素構造兩個箭頭,可是i
構造的箭頭兩條線height
都是0,hover
的時候漸近的動畫效果就是i
箭頭的高度變化而來的,還有rotate
相同的角度php
css3知識:css
- transition
- transform
- 僞元素::before ::after
jsfiddle demopython
Formal syntax: [ none | <single-transition-property> ] || <time> || <timing-function> || <time>
transtion-property
拿張鑫旭老師博客列出的參考下CSS3 transition-property使用參考指南
(transform
也可看成transtion-property
)css3
開始有個箭頭旋轉的時候設置transform-origin
理解有點繞(就是忽然以爲本身不會幾何旋轉了...2333)
後來畫了下座標清晰了,基點(0,0,0)就是原點,默認值是(50%, 50%, 0),就是平面的中點.web
-webkit-transform-origin: 50% 70%; transform-origin: 50% 70%;
上面代碼是x軸50%偏移,向右偏移50%,Y軸70%偏移,向下偏移70%.動畫
須要注意的是
content即便爲''
也必須有這個屬性
僞元素是做爲附屬元素的子元素存在,好比下面代碼它們都是i
的子元素spa
.block-arrow .prev i::before, .block-arrow .prev i::after{ outline: 1px solid transparent; z-index: 0; position: absolute; left: 50%; top:50%; width: 3px; height: 50%; content: ''; background: #0099cc; -webkit-transition: -webkit-transform 0.3s; transition: transform 0.3s; -webkit-backface-visibility: hidden; backface-visibility: hidden; }