小程序 媒体查询match-media和@media、page-container弹出层组件、share-element共享元素页面间穿越动画

1、match-media
	<match-media
		min-width			页面最小宽度(px为单位)	
		max-width			页面最大宽度(px为单位)	
		width			    页面宽度(px为单位)	
		min-height			页面最小高度(px为单位)	
		max-height			页面最大高度(px为单位)	
		height			    页面高度(px为单位)	
		orientation			屏幕方向(landscape或portrait)	
	>
		...
	</match-media>
	
	css中设置媒体查询的方式和web中一致
		@media (min-width: 480px) {
		  .my-class {
		    width: 200px;
		  }
		}
	
2、page-container
	在页面内弹出半屏的弹窗、在页面内加载一个全屏的子页面等,预期为关闭当前弹出的组件,为此提供“假页”容器组件,效果类似于popup弹出层,页面内存在该容器时,当用户进行返回操作,关闭该容器不关闭页面。
	返回操作包括:右滑手势、安卓物理返回键和调用 navigateBack 接口、点击遮罩层
	当前页面最多只有1个容器,若已存在容器的情况下,无法增加新的容器
	
	<page-container
		show			是否显示容器组件	
		duration		动画时长,单位毫秒	
		z-index			z-index层级	
		overlay			是否显示遮罩层	
		position		弹出位置,可选值为top bottom right center	
		round			是否显示圆角	
		close-on-slideDown			是否在下滑一段距离后关闭	
		overlay-style				自定义遮罩层样式	
		custom-style				自定义弹出层样式,如:"background:red;height:50%;width:50%"
		bind:beforeenter			进入前触发	
		bind:enter					进入中触发	
		bind:afterenter				进入后触发	
		bind:beforeleave			离开前触发	
		bind:leave					离开中触发	
		bind:afterleave				离开后触发	
		bind:clickoverlay			点击遮罩层时触发	
	>
		...
	</page-container>

3、share-element
	实现类似元素页面间穿越的动画
	使用时需在当前页放置share-element组件,同时在page-container容器中放置对应的share-element组件,对应关系通过属性值key映射。
	<share-element
		key				映射标记	
		transform		是否进行动画	
		duration		动画时长,单位毫秒	
		easing-function	css缓动函数	
	>
	</share-element>

代码示例:

<match-media min-width="300" max-width="600">
  <view>当页面宽度在 300 ~ 500 px 之间时展示这里</view>
</match-media>

<match-media min-height="400" orientation="landscape">
  <view>当页面高度不小于 400 px 且屏幕方向为纵向时展示这里</view>
</match-media>

share-element示例:

<share-element key='fly' transform>
瓦吉吉哇
</share-element>
<page-container
  show="{{flag}}"
  round
  custom-style="background:red;height:50%;width:50%"
>
<share-element key='fly' transform></share-element>
</page-container>

onLoad() {
  setTimeout(()=>{
    this.setData({
      flag:true
    })
  },3000)
},
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值