尝试用css写了个箭头效果思路就是通过span
和span
子元素i
分别通过设置他们的伪元素构造两个箭头,但是i
构造的箭头两条线height
都是0,hover
的时候渐近的动画效果就是i
箭头的高度变化而来的,还有rotate
相同的角度
css3知识:
- transition
- transform
- 伪元素::before ::after
jsfiddle demo
Formal syntax: [ none | <single-transition-PRoperty> ] || <time> || <timing-function> || <time>
transtion-property
拿张鑫旭老师博客列出的参考下CSS3 transition-property使用参考指南(transform
也可当作transtion-property
)
开始有个箭头旋转的时候设置transform-origin
理解有点绕(就是突然觉得自己不会几何旋转了...2333)后来画了下坐标清晰了,基点(0,0,0)就是原点,默认值是(50%, 50%, 0),就是平面的中点.
-webkit-transform-origin: 50% 70%;transform-origin: 50% 70%;
上面代码是x轴50%偏移,向右偏移50%,Y轴70%偏移,向下偏移70%.
需要注意的是content即使为''
也必须有这个属性伪元素是作为附属元素的子元素存在,比如下面代码它们都是i
的子元素
.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;}
新闻热点
疑难解答