微信小程序如何設置基本的頁面樣式,做出用戶界面UI

一、總體樣式

微信小程序允許在頂層放置一個app.wxss文件,裡面采用 CSS 語法設置頁面樣式。這個文件的設置,對所有頁面都有效。

註意,小程序雖然使用 CSS 樣式,但是樣式文件的後綴名一律要寫成.wxss

打開上一篇教程的示例,在項目頂層新建一個app.wxss文件,內容如下。

page {
  background-color: pink;
}

text {
  font-size: 24pt;
  color: blue;
}

上面代碼將整個頁面的背景色設為粉紅,然後將<text>標簽的字體大小設為 24 磅,字體顏色設為藍色。

可以看到,頁面的背景色變成粉紅,文本字體變大瞭,字體顏色變成瞭藍色。

實際開發中,直接對<text>標簽設置樣式,會影響到所有的文本。一般不這樣用,而是通過class屬性區分不同類型的文本,然後再對每種class設置樣式。

打開pages/home/home.wxml文件,把頁面代碼改成下面這樣。

<view>
  <text class="title">hello world</text>
</view>

上面代碼中,我們為<text>標簽加上瞭一個class屬性,值為title

然後,將頂層的app.wxss文件改掉,不再直接對<text>設置樣式,改成對class設置樣式。

page {
  background-color: pink;
}

.title {
  font-size: 24pt;
  color: blue;
}

上面代碼中,樣式設置在 class 上面(.title),這樣就可以讓不同的class呈現不同的樣式。修改之後,頁面的渲染結果並不會有變化。

二、Flex 佈局

各種頁面元素的位置關系,稱為佈局(layout),小程序官方推薦使用 Flex 佈局。

下面演示如何通過 Flex 佈局,將上面示例的文本放置到頁面中央。

首先,在pages/home目錄裡面,新建一個home.wxss文件,這個文件設置的樣式,隻對 home 頁面生效。這是因為每個頁面通常有不一樣的佈局,所以頁面佈局一般不寫在全局的app.wxss裡面。

然後,home.wxss文件寫入下面的內容。

page {
  height: 100%;
  width: 750rpx;
  display: flex;
  justify-content: center;
  align-items: center;
}

下面解釋一下上面這段 WXSS 代碼,還是很簡單的。

(1)height: 100%;:頁面高度為整個屏幕高度。

(2)width: 750rpx;:頁面寬度為整個屏幕寬度。

註意,這裡單位是rpx,而不是pxrpx是小程序為適應不同寬度的手機屏幕,而發明的一種長度單位。不管什麼手機屏幕,寬度一律為750rpx。它的好處是換算簡單,如果一個元素的寬度是頁面的一半,隻要寫成width: 375rpx;即可。

(3)display: flex;:整個頁面(page)采用 Flex 佈局。

(4)justify-content: center;:頁面的一級子元素(這個示例是<view>)水平居中。

(5)align-items: center;:頁面的一級子元素(這個示例是<view>)垂直居中。一個元素同時水平居中和垂直中央,就相當於處在頁面的中央瞭。

三、WeUI

如果頁面的所有樣式都自己寫,還是挺麻煩的,也沒有這個必要。騰訊封裝瞭一套 UI 框架 WeUI,可以拿來用。

手機訪問 weui.io,可以看到這套 UI 框架的效果。

這一節就來看看,怎麼使用這個框架的小程序版本 WeUI-WXSS,為我們的頁面加上官方的樣式。

首先,進入它的 GitHub 倉庫,在dist/style目錄下面,找到weui.wxss這個文件,將源碼全部復制到你的app.wxss文件的頭部。

然後,將page/home/home.wxml文件改成下面這樣。

<view>
  <button class="weui-btn weui-btn_primary">
    主操作
  </button>
  <button class="weui-btn weui-btn_primary weui-btn_loading">
    <i class="weui-loading"></i>正在加載
  </button>
  <button class="weui-btn weui-btn_primary weui-btn_disabled">
    禁止點擊
  </button>
</view>

開發者工具導入項目代碼,頁面渲染。

可以看到,加入 WeUI 框架以後,隻要為按鈕添加不同的 class,就能自動出現框架提供的樣式。你可以根據需要,為頁面選擇不同的按鈕。

這個示例中,<button>元素使用瞭下面的class

  • weui-btn:按鈕樣式的基類
  • weui-btn_primary:主按鈕的樣式。如果是次要按鈕,就使用weui-btn_default
  • weui-btn_loading:按鈕點擊後,操作正在進行中的樣式。該類內部需要用<i>元素,加上表示正在加載的圖標。
  • weui-btn_disabled:按鈕禁止點擊的樣式。

WeUI 提供瞭大量的元素樣式,完整的清單可以查看這裡。

四、加入圖片

美觀的頁面不能光有文字,還必須有圖片。小程序的<image>組件就用來加載圖片。

打開home.wxml文件,將其改為如下代碼。

<view>
  <image src="https://www.jb51.net/images/logo.gif"></image>
</view>

開發者工具加載項目代碼,頁面渲染,可以顯示圖片瞭。

<image>組件有很多屬性,比如可以通過style屬性指定樣式。

<view>
  <image
    src="https://www.jb51.net/images/logo.gif"
    style="height: 375rpx; width: 375rpx;"
  ></image>
</view>

默認情況下,圖片會占滿整個容器的寬度(這個例子是<view>的寬度),上面代碼通過style屬性指定圖片的高度和寬度(占據頁面寬度的一半),渲染結果。

當然,圖片樣式不一定寫在<image>組件裡面,也可以寫在 WXSS 樣式文件裡面。

五、圖片輪播

小程序原生的<swiper>組件可以提供圖片輪播效果。

上面頁面的圖片上面,有三個提示點,表示一共有三張圖片,可以切換顯示。

它的代碼很簡單,隻需要改一下home.wxml文件即可。

<view>
  <swiper
    indicator-dots="{{true}}"  
    autoplay="{{true}}"
    style="width: 750rpx;">
    <swiper-item>
      <image src="https://www.jb51.net/images/logo.gif"></image>
    </swiper-item>
    <swiper-item>
      <image src="https://www.jb51.net/images/logo.gif"></image>
    </swiper-item>
    <swiper-item>
      <image src="https://www.jb51.net/images/logo.gif"></image>
    </swiper-item>
  </swiper>
</view>

上面代碼中,<swiper>組件就是輪播組件,裡面放置瞭三個<swiper-item>組件,表示有三個輪播項目,每個項目就是一個<image>組件。

<swiper>組件的indicator-dots屬性設置是否顯示輪播點,autoplay屬性設置是否自動播放輪播。它們的屬性值都是一個佈爾值,這裡要寫成{{true}}。這種{{...}}的語法,表示裡面放置的是 JavaScript 代碼,這個放在下一次講解。

到此這篇關於微信小程序如何設置基本的頁面樣式,做出用戶界面UI的文章就介紹到這瞭,更多相關微信小程序設置頁面樣式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: