html52.com
我爱小程序-开发者交流社区

样式top:-50%在iOS端失效

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug mp-row 微信iOS客户端 8.0.13和8.0.15 2.19.6和2.20.1

将两个mp-row通过style="top: -50%;"进行重叠,在安卓端可以实现,但在iOS端完全没有效果,iOS端的第二个mp-row会渲染在下一行,位置完全没变

其中top样式无论是内联,

还是写在wxss,

还是在wxs设置都不能生效


安卓端正常显示:

安卓端正常显示:iOS的iPhone端:


iOS的iPhone端:

iOS的iPhone端:iOS的iPad端:


iOS的iPad端:

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>




网友回复

PATH:

自己解决了,微信推荐开发者用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组件了

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付