微信小程序使用absolute定位出现的偏移和宽高问题

微信小程序下使用absolute居中定位时出现的问题

使用微信开发者工具开发微信小程序
分别用before和after伪类来作为加号(+)的横和竖,发现横和竖不管怎么调整都有点偏离原本应该居中的位置。
.add-btn{
width: 40rpx;
height: 40rpx;
background: linear-gradient(90deg, #E84369 0%, #DF2757 100%);
border-radius: 999rpx;
position: relative;
text-align: center;
color: #fff;
}
.add-btn::before{
display: block;
content: '';
background: #fff;
height: 26rpx;
width: 4rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate3d(-50%,-50%,0);
}
.add-btn::after{
display: block;
content: '';
background: #fff;
height: 4rpx;
width: 26rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate3d(-50%,-50%,0);
}

试了很多种方法(手动调整top,left,translateX,translateY等)都没什么效果
最后发现是padding的问题(虽然我上面的代码没有设置padding)
当我把与add-btn相关的元素节点(不论是父级、子级、同级、父父级、子子级元素都是)的padding全部转换成margin或者width/height时,显示就正常了。

 

虽然不太懂原理(为什么会这样),但猜测可能是微信小程序width/height/margin/top等对rpx的适应比例和padding对rpx的适应比例不同?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值