我們分為以下部分來解決這個問題:
第一部分:問題的表現是怎么樣的?
第二部分:問題的是如何實現的?
第三部分:如何解決問題?
第一部分:問題的表現是怎么樣的?
我設置了頁面有0-99共100個數,但是最后幾個數字被底部固定的按鈕遮擋住了,顯示不全

第二部分:問題的是如何實現的?
第一步:首先實現按鈕固定在頁面底部,需要設置按鈕的position為fixed
(注意:文章底部回帖出全部代碼,以下只是針對性的貼出此時正在說明的代碼)
index.wxml頁面:
<view class='btn-view'>
<button class='btn'>底部按鈕</button>
</view>
index.wxss頁面:
.btn-view {
width: 100%;
padding: 20rpx 0;
background-color: yellow;
position: fixed;
bottom: 0;
left: 0;
}
.btn {
width: 90%;
}
實現效果如下圖:

第二步:給頁面填充數據
index.js頁面:
var list = []
for (var i = 0; i < 100; i++) {
list.push(i)
}
this.setData({
list:list
})
index.wxml頁面:
<view class='list'>
<view class='li' wx:for='{{list}}' wx:key=''>{{item}}</view>
</view>
實現效果如下圖:

結束之后,我們就會發現,結果會如第一部分展示的那樣,按鈕遮擋住了頁面不部分內容😅...
第三部分:如何解決問題?
出現這個問題,我先嘗試給class=list的view添加了margin-bottom屬性,如下
.list {
margin-bottom: 150rpx;
}
在開發工具上運行,完美解決!But...正如所有的美好都要經歷不止一次的磨難后方才實現一樣,當使用真機(iOS)運行時,問題依舊存在😅...
這個問題微信官網的論壇上也有人提,但是微信官方沒有給出回答(我看到的那個問題沒有回到)
問題還在,怎么辦呢?
所有的問題都難不倒聰明的開發者😁下面來講講解決辦法:
方法一:在class為list的view下面寫一個透明view,設置這個view的寬和高,如下:
(此方法為投機取巧的做法,但是很好用(偷笑...),誰讓微信小程序官方不給個正解呢!)
index.wxml:
<view class='list'>
<view class='li' wx:for='{{list}}' wx:key=''>{{item}}</view>
</view>
<view class='placeholder-view'></view>
<view class='btn-view'>
<button class='btn'>底部按鈕</button>
</view>
index.wxss:
.placeholder-view {
width: 100%;
height: 150rpx;
}
顯示效果如下:所有內容都展示出來了

方法二:解決小程序position: fixed;定位在底部,遮擋頁面內容問題
看到這篇文章有解決,但是這個解決方法是:當頁面內容不足一屏時,按鈕在底部顯示,當內容多余一屏時,按鈕會在內容下面隨內容一起滾動
雖說和我們之前的初衷讓按鈕始終固定在底部有沖突,但是不失為一種解決辦法,只要領導那邊能通過這種方法(不通過就用方法一,簡單、粗暴、有用)
完整代碼:
.wxml:
<view class="container">
<view class='list'>
<view class='li' wx:for='{{list}}' wx:key=''>{{item}}</view>
</view>
<view class='placeholder-view'></view>
<view class='btn-view'>
<button class='btn'>底部按鈕</button>
</view>
</view>
.wxss:
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
}
.placeholder-view {
width: 100%;
height: 150rpx;
}
.btn-view {
width: 100%;
padding: 20rpx 0;
background-color: yellow;
position: fixed;
bottom: 0;
left: 0;
}
.btn {
width: 90%;
}
.js:
Page({
data: {
list:[]
},
onLoad: function () {
var list = []
for (var i = 0; i < 100; i++) {
list.push(i)
}
this.setData({
list:list
})
}
})
方法二的代碼稍后整理出來再貼出來(待續...)
轉自https://www.cnblogs.com/china-fanny/p/11134316.html

