小程序弹框的一些总结

小程序弹框的一些总结

弹框的一些基本布局

  1. 基本布局
<view class="panel-mask">
	<view class="panel-content">内容区域</view>
</view>
  1. 样式
    fixed布局:(撑满整个背景)
.panel-mask {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 50%);
  }

absolute布局: (设置内容的样式, 重点是设置 height 所占百分比)

.panel-content {
	position: absolute;
    bottom: 0;
    left: 0;
    z-index: 11;
    width: 100%;
    height: 89%;
    padding: 0 30rpx;
    background: #fff;
    box-sizing: border-box;
}

不同机型,内容过多,如何合理的设置滚动区间

此处是个技术点:

  1. 最外层盒子, 设置 百分比高度。这样就不用考虑机型了 (上面代码有)
  2. 滚动的区域动态设置高度
    show: {
    		type: Boolean,
    		value: false,
    		observer(val) {
    			if (val) {
    				const query = this.createSelectorQuery();
    				query.select('.panel-content').boundingClientRect();
    				query.select('.panel-header').boundingClientRect();
    				query.select('.m-button-wrap').boundingClientRect();
    				query.exec((res) => {
    					this.setData({
    						datailHeight: res[0].height - res[1].height - res[2].height,
    					});
    				});
    			}
    		},
    	},
    
<view style="height: {{datailHeight}}px; overflow-y: scroll">内容区域</view>

底部按钮的设置

flex 和 fixed 结合

position: fixed;
	bottom: 0;
	display: flex;
	width: 100%;
	height: 108rpx;
	padding-bottom: env(safe-area-inset-bottom);
	font-size: 30rpx;
	font-weight: 500;
	color: #fff;
	background-color: #fff;
	border-radius: 39rpx;
	align-items: center;
	justify-content: center;

正常页面,底部固定按钮,对于不同机型该怎么设置内容区域距离底部的距离

设置一个空标签的高度占位,然后动态设置安全距离

<view class="ipx-inner-padding" />

.ipx-inner-padding {
	height: 152rpx;
	padding-bottom: env(safe-area-inset-bottom);
	box-sizing: border-box;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值