欢迎光临,了解微信小程序开发,就上易用通!

使元素占满整个屏幕高度,修改swiper 圆点样式

发布:2018-01-25 11:30浏览: 来源:网络 作者:tianshu

一:微信小程序中使元素占满整个屏幕高度
在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素。


宽度很简单就是width:100%


但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情况下才可以。


以前我的做法是用js获取屏幕的高度,然后将其赋值给height,


屏幕高度在网页中为:window.innerHeight;


在微信小程序中则需要调用wx.getSystemInfo接口,然后通过setData赋值


但是显然通过js来进行的,效率上肯定不如css直接给定样式。




于是我们使用另一种方法:


在网页中设置body,html{height:100%};


将body和html设置为100%,这样我们就可以在他们的子元素中使用height:100%来使的我们的容器元素占满屏幕的高度啦。


但是在微信小程序中,是没有dom对象的,但是我们看调试工具可以看到在dom树(我也不知道怎么叫了,就这么叫吧)中,根节点是page,所以我们来试试使用page{height:100%}


果然,是可行的。高度占满了整个小程序的窗口。



二:swiper 圆点样式怎么修改

  1. page .wx-swiper-dot{
  2.     width: 18rpx;
  3.     display: inline-flex;
  4.     height: 18rpx;
  5.     margin-right: 18rpx;
  6. }
  7. page .wx-swiper-dot::before{
  8.     content: '';
  9.     background: #8c8c8f;
  10.     flex-grow: 1; 
  11.     border-radius: 100%;
  12. }
  13. page .wx-swiper-dot-active::before{
  14.     content: '';
  15.     background:#fff;
  16.     flex-grow: 1;
  17.     border-radius: 100%;
  18. }



三:判断当前项让其滑动
场景如下:
wx:for动态读取一个列表,绑定touchstart、touchmove、touchend事件,代码如下

  1. <block wx:for="{{arrayList}}">
  2.     <view catchtouchstart="touchstart" catchtouchmove="touchmove" catchtouchend="touchmove">{{username}}</view>
  3. </block>

现在不管滑动哪一项都是所有列表一块儿动,要怎么判断当前项让其滑动?


解决方法:每个item都加入一个style="left:{{arrayList.left}}",然后滑动的时候动态改变left(当前项实际数值,其他项0)



免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。