微信小程序父组件设置的样式对子组件无效

比如父组件设置了flex布局,子组件需要占满剩下的部分。

<!-- 父组件 -->
<view class="main">
  <view class="top"></view>
  <child></child>
</view>
page {
  width: 100%;
  height: 100%;

  .main {
    width: 100%;
    height: 100%;
    background: yellow;
    display: flex;
    flex-direction: column;
    .top {
      width: 100%;
      height: 300rpx;
      background: red;
    }
  }
}

<!-- 子组件 -->
<view class="child"></view>
.child {
  flex: 1;
  background: blue;
}

会出现这种情况:

在这里插入图片描述

解决方法

<child class="^main"></child>
<child class="~main"></child>
// 子组件
Component({
  options: {
    virtualHost: true
  }
})

效果

在这里插入图片描述

参考文档:
组件模板和样式 | 微信开放文档

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐