詳情 - 頁面製作
本文配套視訊地址: v.qq.com/x/page/o055…
開始前請把
ch4-1
分支中的code/
目錄匯入微信開發工具
這一章節中,主要介紹詳情頁的頁面製作過程
首先看一下我們最終要展示的頁面
頁面結構大體分為三部分,也是最常見的佈局方式:頭部、中間體、尾部。最頂部的是頁面 title
,也就是標題,如果是一般的頁面,我們只需要在 detail.json
中增加如下配置即可:
"navigationBarTitleText": "Quora精選:為什麼聰明人總能保持冷靜"
但我們製作的詳情頁面資訊是隨著文章內容一直變化的,所以需要在程式碼中單獨處理,就不需要在 detail.json
中新增
這裡,我們先製作出:頭部和尾部。中間的內容部分,會由 parse.js
解析文章資料生成。
開始之前,我們先修改 app.wxss
檔案,引入需要用到的公用樣式表和第三方樣式
@import "./styles/base.wxss";
@import "./lib/wxParse/wxParse.wxss";
.green{
color: #26b961;
}
page{
height: 100%;
background-color: #f8f8f8;
}
複製程式碼
Step 1. 頁面準備
- 由於文章需要上下滾動,我們採用
scroll-view
元件來包括整個頁面內容
<!-- detail.html -->
<scroll-view scroll-y="true" enable-back-to-top="true" class="root-wrap">
</scroll-view>
複製程式碼
scroll-view 元件,相當於我們在常規的 div
標籤上增加了滾動功能並進行封裝
- 然後調整下頁面的高度和背景色
/* detail.css */
page {
background: #fbfbfb;
height: 100%
}
.root-wrap {
height: 100%
}
複製程式碼
Step 2. 頁面頭部製作
- 頭部包含三塊內容:大標題、左浮動顯示作者、右浮雲顯示日期,製作如下:
<!-- detail.html -->
<scroll-view scroll-y="true" enable-back-to-top="true" class="root-wrap">
<view class="wrapper">
<view class="info">
<view class="info-title">Quora精選:為什麼聰明人總能保持冷靜</view>
<view class="info-desc cf">
<text class="info-desc-author fl">哈利波特</text>
<text class="info-desc-date fr">2017/06/27</text>
</view>
<view class="info-line under-line"></view>
</view>
</view>
</scroll-view>
複製程式碼
- 對應樣式檔案,注意:
fl(float:left)
、fr(float:right)
、cf(clear:float)
三個樣式都是在base.wxss
中設定的全域性樣式
/* detail.css */
page {
background: #fbfbfb;
height: 100%
}
.root-wrap {
height: 100%
}
.wrapper {
padding-bottom: 96rpx
}
.wrapper .top-img {
width: 100%;
height: 470rpx;
vertical-align: top
}
.wrapper .info {
padding: 0 36rpx
}
.wrapper .info-title {
padding: 40rpx 0;
line-height: 60rpx;
font-size: 44rpx;
font-weight: 500;
color: #333
}
.wrapper .info-desc {
font-size: 28rpx;
line-height: 30rpx;
color: #c1c1c1
}
.wrapper .info-desc-author {
max-width: 65%;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden
}
.wrapper .info-line {
margin-top: 24rpx
}
複製程式碼
Step 3. 頁面尾部製作
頁尾類似於於選單導航功能,使用者可以進入
下一篇
或返回
列表,並且當頁面滾動時候,固定在底部不動
修改頁面 detail.html
<!-- 增加以下內容,footbar節點與info節點平級 -->
<view class="footbar">
<form>
<button class="footbar-back clearBtnDefault">
<view class="icon footbar-back-icon"></view>
</button>
<button class="footbar-btn clearBtnDefault">下一篇</button>
<button class="footbar-share clearBtnDefault">
<view class="icon footbar-share-icon"></view>
</button>
</form>
</view>
複製程式碼
修改樣式表
/* detail.css 增加以下樣式內容 */
.wrapper .footbar {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 96rpx;
line-height: 96rpx;
background: #fff;
font-size: 32rpx;
color: #333
}
.wrapper .footbar-back,.wrapper .footbar-share {
position: absolute;
width: 96rpx;
height: 96rpx;
bottom: 0;
z-index: 2
}
.wrapper .footbar .icon {
position: absolute;
width: 42rpx;
height: 38rpx;
top: 30rpx
}
.wrapper .footbar-back {
left: 0
}
.wrapper .footbar-back-icon {
left: 30rpx;
background: url(https://n1image.hjfile.cn/mh/2017/06/06/1305a8ac4dc9347b59cc8c2c667122e5.png) 0 0 no-repeat;
background-size: contain
}
.wrapper .footbar-list {
left: 0
}
.wrapper .footbar-list-icon {
left: 30rpx;
background: url(https://n1image.hjfile.cn/mh/2017/06/09/1e630ac45547e6ab5260928e1d57a3c6.png) 0 0 no-repeat;
background-size: contain
}
.wrapper .footbar-btn {
text-align: center;
margin: 0 96rpx;
height: 96rpx;
line-height: 96rpx
}
.wrapper .footbar-share {
right: 0
}
.wrapper .footbar-share-icon {
right: 30rpx;
background: url(https://n1image.hjfile.cn/mh/2017/06/09/ebc3852fb865bd19182c09ca599d8ac1.png) 0 0 no-repeat;
background-size: contain
}
.wrapper .clearBtnDefault {
margin: 0;
padding: 0;
background: #fff;
border: 0;
border-radius: 0
}
.wrapper .clearBtnDefault:after {
content: '';
border: none;
border-radius: 0;
width: 0;
height: 0
}
複製程式碼
頁面尾部製作完成,下一步我們將處理中間的文章內容部分。
Step 4. 為中間的 content 內容預留位置
完整的頁面程式碼如下
<scroll-view scroll-y="true" enable-back-to-top="true" class="root-wrap">
<view class="wrapper">
<view class="info">
<view class="info-title">Quora精選:為什麼聰明人總能保持冷靜</view>
<view class="info-desc cf">
<text class="info-desc-author fl">哈利波特</text>
<text class="info-desc-date fr">2017/06/27</text>
</view>
<view class="info-line under-line"></view>
</view>
<!-- 增加正文檢視位置 -->
<view class="content">
文章正文
</view>
<view class="footbar">
<form>
<button class="footbar-back clearBtnDefault">
<view class="icon footbar-back-icon"></view>
</button>
<button class="footbar-btn clearBtnDefault">下一篇</button>
<button class="footbar-share clearBtnDefault">
<view class="icon footbar-share-icon"></view>
</button>
</form>
</view>
</view>
</scroll-view>
複製程式碼
iKcamp官網:www.ikcamp.com
訪問官網更快閱讀全部免費分享課程:《iKcamp出品|全網最新|微信小程式|基於最新版1.0開發者工具之初中級培訓教程分享》。 包含:文章、視訊、原始碼
iKcamp原創新書《移動Web前端高效開發實戰》已在亞馬遜、京東、噹噹開售。
【11月11號】上海iKcamp最新活動
與
“天天練口語”
小程式總榜排名第四、教育類排名第一的研發團隊,面對面溝通交流。
2019年,iKcamp原創新書《Koa與Node.js開發實戰》已在京東、天貓、亞馬遜、噹噹開售啦!