移动设备的特点之一便是屏幕尺寸多种多样,所以我们在制作针对移动设备的动画时必须不同尺寸屏幕的兼容性。比如我们要制作以下动画:红框2为详细内容,默认收起;红框1处为事件响应热区,点击后展开或收起红框2的内容。

这个 动画我们需要考虑以下几点:

1. 红框2的容器为屏幕的100%,内容字数不固定,但有最大字数限制;

2. 红框2相同字数的内容在不同尺寸屏幕下的高度不同;

3. 不使用任何动画框架。

我们在制作下拉展开动画的时候,一般首先会想到将内容节点的高度设置为0,然后事件触发将内容节点的高度设为展开后的值。这种方法在内容固定并且容器宽度固定的场景下没有问题,但是并不适用与屏幕尺寸不统一的移动设备。

那么该怎么做呢?关键字:max-height!移动设备的特点之一,便是其浏览器对css属性和动画支持的很好,我们可以大胆的使用。细节如下:

1. 将容器收起状态的max-height设置为0,展开状态为一个足够大的值(综合考虑最大字数限制以及屏幕尺寸);

2. 展开状态的高度值建议采用rem单位,具体取值还需要考虑屏幕尺寸。

简易demo如下,因demo无法模拟移动设备的多屏尺寸,大家可以改变container的宽度模拟,当然,移动设备上container的宽度取值为100%:

See the Pen 不同尺寸移动设备下拉动画适配 by Joe (@ihardcoder) on CodePen.

用max-height实现有一个缺点,大家应该会发现,展开和收起的动画快慢不一样!这个缺陷并不容易弥补,但是可以通过媒体查询精良精确展开状态的max-height取值来弥补。

转载于:https://www.cnblogs.com/ihardcoder/p/4500024.html

利用max-height适应多尺寸屏幕的下拉动画相关推荐

  1. android listview下拉动画效果,Android开发中利用ListView实现一个渐变式的下拉刷新动画...

    Android开发中利用ListView实现一个渐变式的下拉刷新动画 发布时间:2020-11-23 16:50:31 来源:亿速云 阅读:80 作者:Leah 本篇文章给大家分享的是有关Androi ...

  2. html点击文字下拉,利用jQuery实现可输入搜索文字的下拉框

    先看效果 功能:点击下拉框输入框时,自动显示下面的下拉列表,而且是根据输入框中输入的搜索添加,自动在后台查找,然后传到前台,展现页面. 用的的js: var $xialaSELECT; $(docum ...

  3. Bootstrap按钮下拉菜单的尺寸

    按钮下拉菜单的尺寸 定义按钮下拉菜单时,无论是按钮下拉菜单,还是拼接式按钮下拉菜单,都可以使用按钮的尺寸类 .btn-lg.或.btn-sm或.btn-xs,来设置按钮的尺寸.如: <!-- L ...

  4. LG显示将在坡州工厂为iPhone 14 Pro Max生产120Hz刷新率屏幕

    近日,据国外媒体报道,有韩国媒体日前在报道中表示,LG显示将在明年为iPhone 14 Pro Max供应部分支持120Hz刷新率的LTPO TFT OLED屏幕,三星显示将不再是高端iPhone所需 ...

  5. h5游戏:适应不同尺寸屏幕的WEB2048

    一.界面展示及简单介绍 先上完成后不同尺寸屏幕下的效果图,界面模仿的原版2048: (768px<屏幕) (500px<屏幕<768px) (小于500px的超小屏幕) 原来预想左边 ...

  6. oracle使用max提升效率,Oracle调优之利用max与leftjoin来进行不同表之间匹配

    需求 有两个不同的表,A表是基础数据,B表根据A表的某个不重复关键字加其他一些条件查询出一条或几条数据,取其中一条数据.并且利用此数据某个关键字再在B表中查询下一层级数据,最终将A表的对应一条数据,B ...

  7. python批量生成图片_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  8. python批量生成图_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  9. 利用Max ,Break,AO贴图

    利用Max 来烘焙AO(光影关系)贴图. Maya中也可以烘焙,但是烘焙的效果没有Max的强大. 所以利用Max烘 光影相对来说好一些. 这里上一个连接,方便学习. http://www.cgmol. ...

最新文章

  1. linux下gdb所有实用方法
  2. RAID和mdadm
  3. python创建数组放入矩阵_python创建数组并存入数据库
  4. 禁用任何未使用的端口com_[pc玩家]如何在Windows 10中禁用USB端口
  5. C#环境下使用Windows消息传递字符串数据的研究
  6. 十大经典数据挖掘算法:EM
  7. 职高计算机选修6知识点,(计算机基础考试7.doc
  8. Linux 内核的壳 —— shell
  9. reticulate: R interface to Python
  10. web前端vue融云即时通讯上手
  11. 运放放大倍数计算公式_运算放大器基本电路大全(转)
  12. 华为u8500 刷到2.2再刷回2.1后WIFI无法启动的解决办法 无法启动无线局域网
  13. 4939: [Ynoi2016]掉进兔子洞 莫队 压位
  14. strtolower
  15. solaris linux 计算磁盘容量 cyl alt sec
  16. 正则表达必须包含数字字母和特殊字符
  17. 哪个国家程序员最多?不是美国和中国,是这个‘落后’的亚洲国家
  18. 婚恋大数据火了,靠大数据找对象,靠谱吗?
  19. 023-zabbix性能优化中的几个中肯建议
  20. 区块链企业是怎样盈利的?

热门文章

  1. springboot配置文件加载位置
  2. git 常用命令使用
  3. sqlServer MD5
  4. 【转】【C++】__stdcall、__cdcel和__fastcall三者的区别
  5. (一)java多线程之Thread
  6. pat 团体赛练习题集 L2-008. 最长对称子串
  7. reverseString
  8. JSON数据与JavaScript对象转换
  9. Java实现BASE64编解码
  10. arcsde服务启动不了