美文网首页
05 Flex Panel Gallery

05 Flex Panel Gallery

作者: 地平线0530 | 来源:发表于2018-12-14 16:19 被阅读0次

效果

效果图

Demo
Github

知识点

  • flex
  • transition
  • classList.toggle()

笔记

flex 简写

flex: <flex-grow> <flex-shrink> <flex-basis>

几种预定义值:

  • flex: initial 相当于:flex: 0 1 auto
  • flex: auto 相当于:flex: 1 1 auto
  • flex: none 相当于:flex: 0 0 auto
  • flex: <确定数值> 比如:flex: 1相当于:flex: 1 1 0

transitionend 事件

transitionend 事件会在 CSS transition 结束后触发

参考

这里监听了两个事件,一个是点击时拉伸图片,一个是等图片动画结束,再进行文字动画。

panels.forEach(panel => {
  panel.addEventListener('click', toggleOpen)
  panel.addEventListener('transitionend', toggleActive) 
})

这里也可以通过设置css transition 的延迟时间来设置文字动画,使其晚于图片动画,这样就只需监听一个点击事件即可。不过个人喜欢 Wes Bos 的这种写法,这样写一目了然,一个回调函数负责修改一种 class,如果需要调整动画的一些细节,只需调整对应的函数或 clas 即可,而不会牵一发动全身。

参考资料

相关文章

网友评论

      本文标题:05 Flex Panel Gallery

      本文链接:https://www.haomeiwen.com/subject/nrmghqtx.html