这图是我在 375 的设备下开发的,看起来挺正常,上面哪些省份简称用的是 flex 布局,然后 x 使用的是固定定位,flex 内容两边留 30rpx 的宽度,绝对定位定位 30rpx 的距离,成立。
一旦换成非 375 的设备显示就出现了这种问题了,明显我这两边留空不一致,很显然,屏幕全宽 750rpx 并不适配,同时我也使用真机测试了一下,使用的是小米10,结果显示也为上面这种,并不对齐。
框架类型 | 问题类型 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|
小程序 | Bug | 微信安卓客户端 | 7.0.20 | 2.19.3 |
5 个回答
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
开发工具ios5下的效果
开发工具ios6/7/8下的效果
代码
wxml
<view class="my-keyboard"> <view wx:for="{{31}}">{{item+1}}</view> <view class="del-key">X</view> </view>
wxss
.my-keyboard{ display: flex; flex-wrap: wrap; padding: 0 30rpx 30rpx; box-sizing: border-box; position: relative; } .my-keyboard view{ width: 60rpx; height: 60rpx; margin-right: 10rpx; margin-top: 10rpx; display: flex; justify-content: center; align-items: center; box-sizing: border-box; } .my-keyboard view.border{ border: 1rpx solid #000; } .my-keyboard view:nth-child(10n){ margin-right: 0; } .my-keyboard .del-key{ width: 130rpx; /* margin-top: 10rpx; */ /* margin-right: 0; */ margin: 0; border: 1rpx solid #000; position: absolute; bottom: 30rpx; right: 30rpx; }
60+10*x+9*y=750,x是字宽,y是间距,设置box-sizing:border-box,y取10,x就是60,这么算写死也是可以的
flex没用好
上代码片段
.my-keyboard{
display: flex;
flex-wrap: wrap;
padding: 0 30rpx 30rpx;
box-sizing: border-box;
position: relative;
}
.my-keyboard view{
width: 60rpx;
height: 60rpx;
margin-right: 10rpx;
margin-top: 10rpx;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
}
.my-keyboard view.border{
border: 1rpx solid #000;
}
.my-keyboard view:nth-child(10n){
margin-right: 0;
}
.my-keyboard .del-key{
width: 130rpx;
/* left: 590rpx; */
/* margin-top: 10rpx; */
/* margin-right: 0; */
margin: 0;
border: 1rpx solid #000;
position: absolute;
bottom: 30rpx;
right: 30rpx;
}