将两个mp-row通过style="top: -50%;"进行重叠,在安卓端可以实现,但在iOS端完全没有效果,iOS端的第二个mp-row会渲染在下一行,位置完全没变
其中top样式无论是内联,
还是写在wxss,
还是在wxs设置都不能生效
安卓端正常显示:
iOS的iPhone端:
iOS的iPad端:
问题代码:
<mp-row class="room-progress">
<mp-col wx:for="{{testjson.prompt}}" wx:key="prompt" xs="6" sm="4" md="3" lg="3" xl="3" >
<block wx:if="{{item.available == 1}}">
<progress class="progress-available" percent="{{item.occupy_rate * 100}}" active stroke-width="30" active-color="#1aad19" border-radius="5" background-color="#999999" ></progress>
</block> <block wx:else>
<progress class="progress-unavailable" percent="{{item.occupy_rate * 100}}" active stroke-width="30" active-color="#cac424" border-radius="5" background-color="#999999" ></progress>
</block>
</mp-col>
</mp-row>
<mp-row class="room-text-box" style="top: -50%;">
<mp-col wx:for="{{testjson.prompt}}" wx:key="prompt" xs="6" sm="4" md="3" lg="3" xl="3" >
<view class="room-text">
{{item.room_name}}
</view>
</mp-col>
</mp-row>
自己解决了,微信推荐开发者用rpx但自己的组件又不支持,height和line-height默认的还是px
微信自己开发的组件mp-col&mp-row连内联样式都没支持全,top这种基础的不能再基础的属性会不支持iOS。。。
真的是醉了
为了给你们的组件擦屁股,开发者还得在js里用selectorQuery获取样式再传到wxs,再在wxs里改样式
生平第一次用分层逻辑就遇到这种坑。。。
你要搞vue那样的渲染、逻辑分离不是不可以,你想自己实现类似jQuery也不是不可以,但能不能完善一下功能?
我真的搞不懂了,弄了几年的平台居然还会有这种问题,一大堆函数要开发者猜是px还是rpx、猜是50%还是100%,这和写C语言忘写分号有什么区别?
哦对有区别,至少gcc的报错现在都变得智能了,但你们对于不支持的内联样式有哪怕一行警告吗?不你们没有,只有在我以为功能基本写完之后才在iOS设备上测到错误,只因为我的主力机是安卓,只怪我太相信小程序的跨平台能力。
-一段时间没用了,原来现在也有row和col组件了