微信小程序开发时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);

}

####结果:伪元素宽高和位置都出现偏差
BIYRMJcodeGU0K{JW{/codeHZ{6H4I.png

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

####结果:显示正常
EMIAD43VN~1$8PN(6LGN5CS.png

猜测可能是微信小程序width/height/margin/top等对rpx的适应比例和padding对rpx的适应比例不同,导致微信小程序在适应padding时使得相关元素的位置和宽高出现偏差。

你可能感兴趣的:(微信小程序开发时absolute定位偏移和宽高问题)