收藏
回答

page-container这个组件怎么实现水平垂直居中?

page-container这个组件怎么实现水平垂直居中?

回答关注问题邀请回答
收藏

3 个回答

  • 曹孟良
    曹孟良
    2021-11-15

    https://developers.weixin.qq.com/s/J1UimImo7jod

    上面是官方提供的案例,如果你想在案例中实现垂直居中,去掉page-container里面包裹的第一层组件view(class = "detail-page")的wxss属性:min-height即可。

    原本min-height设置的是300px,但上下弹窗的白色区域明显小于300px,所以会导致看起来不是水平垂直居中的。

    2021-11-15
    有用 1
    回复 1
    • PD
      PD
      发表于移动端
      2021-11-15
      学到了,谢谢
      2021-11-15
      回复
  • ElPsyCongroo
    ElPsyCongroo
    05-30

    <page-container show customStyle="right: 0; left: 0; top: 0; bottom: 0; margin: auto;width: fit-content;height: fit-content;">

    hello page-container

    </page-container>


    05-30
    有用
    回复 1
    • ElPsyCongroo
      ElPsyCongroo
      05-30
      无侵入 , 不影响布局 , 遮罩也能正常点击关闭
      05-30
      回复
  • 我叫MT
    我叫MT
    2022-04-01
    <view style="height: 100%; width: 100%;">
      <page-container show="{{show}}" overlay='true' duration="{{duration}}" position="center" close-on-slide-down="true" custom-style="height:{{height}};width:{{width}};margin-left:{{marginLeft}};margin-top:{{marginTop}}; margin-right:25%; {{customStyle}}" overlay-style="background-color: rgba(0, 0, 0, 0.7); filter: blur(4px);" bind:beforeenter="modelBeforeEnter">
        <view id="pageContainerInner" style="height: 100%; width: 100%;">
          <slot></slot>
        </view>
      </page-container>
    </view>  
    

        

     methods: {
        modelBeforeEnter(){
          var query = wx.createSelectorQuery().in(this);
          query.select('#pageContainerInner').boundingClientRect(rect => {
            this.setData({
              marginTop: `${(wx.getSystemInfoSync().windowHeight - rect.height) / 2}px`,
              marginLeft: `${( wx.getSystemInfoSync().windowWidth - rect.width) / 2}px`
            })
          
          }).exec();
        }
      }
    
    2022-04-01
    有用
    回复
登录 后发表内容