精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

寫給 Android 開發的小程序 UI 布局指南(一)

企業動態
最近在做小程序,驗證一些方向,開發效率確實很快,就是各種微信的審核有點費勁,但是總歸是有辦法解決的。想要開發一款小程序,其實和我們正常寫一款 App 類似,你需要有精美的前端布局,并且同時還需要處理和前端 UI 組件的交互以及它們背后的邏輯。

[[232231]]

 一、序

Hi,大家好,我是承香墨影!

最近在做小程序,驗證一些方向,開發效率確實很快,就是各種微信的審核有點費勁,但是總歸是有辦法解決的。

想要開發一款小程序,其實和我們正常寫一款 App 類似,你需要有精美的前端布局,并且同時還需要處理和前端 UI 組件的交互以及它們背后的邏輯。

最近會分享一些關于小程序的內容(不保證,想到哪里寫到哪里),今天先說說接觸小程序***步:布局。

如果有前端經驗的話,小程序是非常容易上手的,而對于新手,***步當然是閱讀小程序的官方文檔,不過之后你馬上就要面臨布局的問題。

在小程序的開發框架中,會使用 Flex 排版布局,它可以幫助我們快速的在小程序中進行 UI 布局。雖說 Flex 現在已經被主流瀏覽器所支持,但是 flex 在一些低版本的瀏覽器上還有些許兼容的問題。不過在小程序中,這就不是我們需要考慮的了,微信已經幫我們處理好了。

接下來我就以完整的小程序來做示例,說說 flex 布局的那些事情。話不多說,言歸正傳。

二、什么是 Flex

Flex 是 2009 年,W3C 提出的一種新的布局適配方案,通過 Flex 布局,可以簡便、完整、響應式的實現各種頁面布局。經過這些年的發展,已經得到了所有瀏覽器的支持,基本上可以讓我們放心使用。

Flex 布局是 Flexible Box 的縮寫,直譯過來就是 "彈性盒子",它也是基于 "盒子" 模型,將 UI 切割成一個一個小的盒子,來進行 UI 布局。

如果你不是在開發小程序,而是想單純的開發移動前端,你也可以使用 Flex 布局。雖然 Flex 已經被所有瀏覽器支持,但是架不住有一些老舊的瀏覽器,例如:IE 9,也是存在不支持的情況的。不過我們只是開發小程序,就完全不用擔心這一點。

三、Flex 如何使用

3.1 概述

Flex 的使用非常的簡單,你只需要將 display 設置為 flex 就可以了。

display 除了 flex 還有一些其他可選參數,具體的你可以參見文檔。

而在新手階段,暫時只需要關注兩個參數:

block :指定一個塊級布局,它其內的元素,總是起一個新行來顯示,而微信小程序的很多視圖容器組件,默認的 displa 就是 block,例如:view、scroll-view、swiper 等。

flex:指定為 Flex 布局,它可以在盒子內顯示子元素。

舉個例子,看一下效果圖:

display-flex

在這里,當不做特殊設置的時候,默認為 display:block 的狀態,其內的每一個元素,都另起一行去展示。 display:flex 的話,我們就可以自由設置其內元素的布局形式,這里只是顯示了 flex 默認的效果,實際上我們還可以通過 Flex 提供的不同的屬性,進行更靈活的布局。

3.2 Flex 的方向軸

想要掌握 Flex 布局,你的心中時刻都需要有一個方向軸的概念。

在 Flex 布局中,天然存在兩根方向軸:主軸和交叉軸。交叉軸在有些地方又被稱為側軸,其實是一個概念。

在默認情況下,主軸是沿著水平方向延伸,而交叉軸則正好與主軸呈交叉狀態。

但是這并非不可改變,我們可以通過 flex-direction 屬性,來改變主軸的方向,交叉軸的方向是相對于主軸存在的,當我們改變主軸方向后,交叉軸也被同時改變。

flex-cross

既然 Flex 布局也是通過一些屬性來控制效果的,和我們正常寫一個移動 App 是一樣的,有一些屬性是作用在父容器中的,有一些是作用在其內的子元素上的。

接下來我們就來分開講解,這些 Flex 布局的時候,你需要使用到的屬性。

3.3 Flex 在父容器上的屬性

在父容器上,存在的屬性有:

flex-direction:指定主軸的方向。

flex-wrap:指定超出父容器的時候,子元素的排列樣式。

flex-flow:flex-direaction 和 flex-wrap 兩個屬性的組合簡寫形式。

justify-content:子元素在主軸的排列方向。

align-items:子元素在交叉軸上的排列方向。

align-content:多根軸線的對其方式。

這幾個,除了 align-content 都是相對比較常用的屬性。接下來我們就一一介紹這些屬性,以及在小程序中的使用效果。

1) flex-direction

前面也提到,flex 布局有兩條軸,它們是交叉相對的,分為主軸和交叉軸。我們可以通過 flex-direction 來確定主軸的方向,同時交叉軸的方向也被確定了。

在 flex 布局中,除了橫豎兩個軸之外,軸還有起始點(start)和結束點(end)的概念,加載一起 flex-direction 有四個屬性。

row:默認值,主軸水平方向,起始點在左邊。

row-reverse:主軸水平方向,起始點在右邊。

column:主軸垂直方向,起始點在上邊。

column-reverse:主軸垂直方向,起始點在下邊。

這個雖然非常好理解,但是我們依然在小程序中看看效果。

flex-direction

2)flex-wrap

flex-wrap 屬性用來確定,父容器內,當單行已經無法包容所有子元素之后,如何換行。

nowrap:不換行,此為默認值。

wrap:超出單行的時候,自然換行。

wrap-reverse:超出單行的時候,沿著底部翻轉方向,自然換行。

css 里就是有很多屬性是帶有 xxx-reverse 參數的,大多數情況下我們也用不上,不過還是了解一下沒壞處。

雖然圖片已經很清晰了,從 flex-wrap:wrap 中,可以看出 A、B、C 三個元素,實際上寬度是不一致的。

一般在單純的介紹 flex-wrap:wrap 屬性的文章,其實是會說將多余的部分切割在父布局之外。

我也盜個圖,看看別人教程里顯示的效果。

實際上如果你在純前端的環境中,使用 flex-wrap:wrap 也確實是這個效果,所以這并不是錯誤,我理解這就是表現的差異。

但是在小程序中的表現并不是這樣的,它最終會根據你設置的子元素的寬度,橫向的等比進行縮放,讓它可以在當行內顯示的下。

在這個例子中,C 塊是寬度最寬的一個布局,當我們增加 C 塊的時候,看看這樣極端情況下,flex-wrap:nowrap 在小程序中的表現。

可以看到,它會等比例壓縮其內所有布局的寬度,這是一點差異,需要特別注意。

3)flex-flow

flex-flow 是前面兩個屬性 flex-direction 和 flex-wrap 的簡寫組合。

在 css 中,很多屬性都是一些屬性的組合,是存在這種寫法的,中間使用空格分割就可以了。

例如:

  1. .ele { 
  2.   flex-flow: row nowrap; 

這樣就可以一次對兩個屬性進行設置,并不沖突。

4)justify-content

justify-content 可以用來設置子元素,在主軸方向上的對其方式。

它有五個可選項:

  • flex-start:默認值,左對齊。
  • flex-end:右對齊。
  • center:居中。
  • space-between:兩端對齊,元素之間等距。
  • space-around:每個子元素間隔相等,表現來看就是,元素距離邊框的距離,是元素與元素距離的一半。

justify-content 基本上看描述就知道效果了,不過 space-between 和 space-around 看似很像,但是實際上也是有差異的,我們看看最終運行的效果是最清晰的。

justify-content

可以看到 space-around 是會保留左右的邊距,感覺就像是為每個元素都增加了一個左右的 margin 屬性,而 space-between 則只在子元素之間存在距離。

5)align-items

align-items 屬性,可以定義在交叉軸上,子元素的對其方式。

它也存在五個選擇參數:

flex-start:交叉軸的起點對齊。

flex-end:交叉軸的終點對齊。

center:交叉軸方向居中。

baseline:子元素的***個元素,內容基線對齊。

stretch:默認參數,會在交叉軸上鋪滿父布局。

注意 align-items:stretch 和前面我們的屬性描述是不符合的,主要原因是它有兩個限制。

  • 父容器,必須限定高度。
  • 子元素,必須沒有指定高度,寬還是高,就取決于交叉軸的方向。

例如前面的代碼,我們根據這里的兩個限制進行修改。

align-items 還有一點需要注意的參數是 baseline,它是根據主軸方向,***個元素的內容為基準進行對齊,我們把 A 塊,增加一個 margin-top 再來看看效果。

可以看到,其他屬性均有影響,但是 baseline 的時候,依然可以保持子元素基于內容對齊。

6)align-content

align-content 屬性指定交叉軸上,元素的對其方式,和 align-items 有點類似。一般移動端的 UI 布局,都是傾向于列表形式***向下延伸,所以 align-content 的用處其實不大。

但是當你需要做一個單頁效果,例如活動圖,就可以利用上 align-content 屬性了。

align-content 有六個可選的屬性:

  • stretch:默認值,拉伸占滿交叉軸,和 align-items 限制類似。
  • flex-start:與交叉軸起點對齊。
  • flex-end:與交叉軸終點對齊
  • center:以交叉軸居中。
  • space-between:與交叉軸兩端對齊,并且子元素保持間距相等。
  • space-around:在交叉軸方向,子元素與邊距,均保持相同距離。

其實我們理解了 align-items ,對于 align-content 就非常好理解了。

沒什么好多說的,直接上一個效果圖看看。

四、小結

本文介紹的都是 Flex 在父容器上的屬性,其實它還有一些在子元素上的數據。但是我決定放在下一篇文章里再詳細講。

而大多數情況下,我們僅僅依賴 Flex 的父容器上的這幾個屬性,就可以完成一些不錯的 UI 布局。

【本文為51CTO專欄作者“張旸”的原創稿件,轉載請通過微信公眾號聯系作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2016-11-04 10:49:48

微信小程序

2010-12-30 10:04:49

Linux入門

2012-05-14 21:08:47

Android頁面布局

2023-06-21 08:05:39

開源UI庫互聯網

2020-02-04 10:05:54

LinuxWeb命令

2020-05-11 09:54:33

JavaScript開發技術

2011-02-22 14:07:52

2020-06-19 11:20:17

開發避坑支付寶

2022-05-12 10:11:32

通信行業運營商裁員

2021-08-12 15:01:09

鴻蒙HarmonyOS應用

2022-04-22 17:19:49

開發設計師合作

2019-06-21 10:40:25

微信小程序前端

2018-01-01 20:56:43

AndroidUIAPI

2017-04-26 14:48:01

Chrome程序擴展

2021-04-19 11:16:17

小程序微信開發

2020-11-19 09:00:00

技術債開發工程

2019-03-20 14:44:53

數據庫MySQLExcel

2018-09-18 23:29:43

小程序云服務

2016-11-04 10:31:49

微信程序指南

2025-02-03 15:43:19

點贊
收藏

51CTO技術棧公眾號

国产精品视频| 视频一区欧美| 精品magnet| 欧美少妇一区| 国产成人免费看一级大黄| 亚洲激情综合| 中文字幕精品在线| 中国男女全黄大片| 芒果视频成人app| 亚洲欧美区自拍先锋| 国产一区二区高清不卡| 这里只有精品国产| 在线高清一区| 日韩中文字幕不卡视频| 国产人成视频在线观看| 激情久久一区二区| 午夜电影一区二区三区| 亚洲人久久久| 日韩欧美在线观看一区二区| 另类中文字幕网| 1769国产精品| 在线观看成人毛片| 欧美理论电影大全| 日韩av影视在线| 特种兵之深入敌后| 91成人抖音| 欧美性猛交丰臀xxxxx网站| 男人的天堂视频在线| 国产一二三区在线| 91亚洲国产成人精品一区二三| 成人午夜一级二级三级| 国产精品高清无码| 久久xxxx精品视频| 国内精品久久久久伊人av| 欧美一级片在线视频| 国产videos久久| 日韩福利视频在线观看| 欧美熟妇精品一区二区| 91成人短视频在线观看| 在线亚洲精品福利网址导航| 青青草成人免费在线视频| 超鹏97在线| 最新国产成人在线观看| 婷婷精品国产一区二区三区日韩 | 日韩成人短视频| 成人免费电影网址| 国产亚洲精品一区二区| 国产高潮呻吟久久| 国产一区不卡| 在线丨暗呦小u女国产精品| 中出视频在线观看| 牛牛影视久久网| 亚洲精品成人免费| 波多野结衣有码| 欧美交a欧美精品喷水| 亚洲高清久久网| 性久久久久久久久久久| 欧美五码在线| 亚洲欧美视频在线| 亚洲精品一区二区三区影院忠贞| 国产不卡av一区二区| 一本大道久久加勒比香蕉| 免费人成又黄又爽又色| 成人aaaa| 久久影视电视剧免费网站| 91高清免费看| 亚洲国产免费| 日本中文字幕久久看| 亚洲天堂五月天| 麻豆成人av在线| 91在线免费视频| 亚洲精品久久久久久久久久 | 91精品免费在线| 污免费在线观看| 精品精品国产三级a∨在线| 亚洲国产美女精品久久久久∴| 日本少妇xxxx| 久久av综合| 日韩中文字幕网| 五月天丁香激情| 99精品99| 国产免费亚洲高清| 亚洲精品.www| 国产亚洲成年网址在线观看| 一级做a爰片久久| 激情av在线| 在线一区二区三区| 香蕉网在线视频| 香蕉视频一区| 久久精品视频导航| 日韩三级免费看| 免费在线观看日韩欧美| 成人18视频| 国产女主播在线直播| 一区二区三区久久| 久久久国产欧美| 一区二区视频| 在线观看久久av| 久久香蕉精品视频| 日本中文字幕一区二区有限公司| 亚洲a级在线观看| 青青草超碰在线| 亚洲六月丁香色婷婷综合久久| 国产精品国产亚洲精品看不卡| 玖玖精品在线| 日韩av综合网站| 欧美一区二区三区爽爽爽| 一本色道久久综合亚洲精品高清| 成人动漫网站在线观看| 亚洲日本香蕉视频| 亚洲欧美福利一区二区| 日本新janpanese乱熟| av日韩精品| 久久深夜福利免费观看| 国产成人自拍偷拍| 99精品久久99久久久久| 国产免费xxx| 69堂免费精品视频在线播放| 亚洲高清av在线| 久久国产在线视频| 精品一区二区三区香蕉蜜桃| 欧美精品一区在线| 国产乱码精品一区二三赶尸艳谈| 91精品国产欧美日韩| 男人的天堂av网| 亚洲资源av| 好吊色欧美一区二区三区| 国产原创在线观看| 欧美喷潮久久久xxxxx| 久久只有这里有精品| 日韩一级欧洲| 国产伦精品一区二区三区视频免费 | 欧美黄色一级网站| 紧缚捆绑精品一区二区| 亚洲精品在线观看免费| 99re66热这里只有精品4| 日韩成人免费视频| 国产无码精品在线观看| 国产精品亚洲第一区在线暖暖韩国| 一区二区三区四区欧美| 欧美爱爱视频| 日韩中文视频免费在线观看| 中文字幕一区二区三区免费看| 91在线免费播放| 91精品91久久久中77777老牛| 第一区第二区在线| 韩国日本不卡在线| 乱精品一区字幕二区| 亚洲福利一二三区| 五月天丁香社区| 狠久久av成人天堂| 黄色91av| 高清不卡亚洲| 一区二区三区精品99久久| 自拍偷拍校园春色| 中文欧美字幕免费| 国产欧美一区二| 亚洲成av人片一区二区密柚| 亚洲aⅴ男人的天堂在线观看| 在线欧美三级| 精品国产91洋老外米糕| 日韩女同强女同hd| 91视频.com| 国产高潮免费视频| 91久久电影| av色综合网| 1区2区在线| 亚洲欧洲自拍偷拍| 亚洲综合网av| 亚洲一卡二卡三卡四卡无卡久久 | 人体久久天天| 国产成+人+综合+亚洲欧洲| 1024国产在线| 精品奇米国产一区二区三区| 一级免费在线观看| 国产欧美日韩在线视频| 中文字幕一区二区在线观看视频| 欧美日韩一区二区三区四区在线观看| 国产一区二区三区四区五区在线 | 免费国产羞羞网站美图| 成人黄色网址在线观看| 欧美黄色一级片视频| 999久久久亚洲| 精品国产一区二区三区麻豆小说| 四虎4545www精品视频| 欧美成人精品一区| 四虎精品在永久在线观看| 欧美色区777第一页| 九九精品在线观看视频| 久久亚洲二区三区| 国产精品久久久久久久99| 国产精品久久久久久模特| 亚洲三区在线观看| 六月丁香久久丫| 成人福利视频在线观看| 狠狠操一区二区三区| 视频一区视频二区国产精品| 黄片毛片在线看| 欧美日韩不卡视频| 青青草免费观看视频| 亚洲欧美日韩在线播放| 丝袜美腿中文字幕| 国产盗摄视频一区二区三区| 99视频在线免费| 黄色欧美日韩| 在线电影看在线一区二区三区| 理论片一区二区在线| 91视频免费网站| 日韩av免费| 91chinesevideo永久地址| 成人福利网站| 最新中文字幕亚洲| 欧美孕妇孕交| 亚洲国产成人久久| 亚洲AV无码精品自拍| 欧美日韩亚洲综合| 亚洲熟妇无码乱子av电影| 亚洲午夜久久久久久久久久久| 亚洲一级理论片| 国产亚洲欧美一区在线观看| 国产一级黄色录像| 国产精品系列在线观看| 一本岛在线视频| 另类天堂av| 欧美日韩国产精品激情在线播放| 国内精品久久久久久久97牛牛| 亚洲午夜精品久久久久久浪潮| 伊人春色精品| 久久综合福利| 林ゆな中文字幕一区二区| 成人av资源网| 日韩一区二区三区高清在线观看| 国产精品一区久久久| 精品国模一区二区三区| 欧美专区在线观看| 小h片在线观看| 午夜欧美大片免费观看| www.九色在线| 136fldh精品导航福利| 九九色在线视频| 不卡av电影院| 在线观看小视频| 九九热精品视频在线播放| 成人三级网址| 欧美成在线观看| 中文字幕有码在线观看| 欧美日韩第一页| 男女在线观看视频| 久久免费视频网| 国产污视频在线播放| 51午夜精品视频| 欧美色网一区| 国产精品嫩草影院久久久| av在线不卡精品| 国产日韩专区在线| 亚洲综合资源| 97超碰人人模人人爽人人看| 97青娱国产盛宴精品视频| 国产精品久久久对白| 农村少妇一区二区三区四区五区 | 99久久精品免费看国产四区 | 日韩亚洲不卡在线| 999国产精品视频| 一本大道东京热无码aⅴ| 国自产拍偷拍福利精品免费一| www.av毛片| 久久久噜噜噜| 最新天堂在线视频| 国产丶欧美丶日本不卡视频| 黄色污在线观看| 日本一区二区三区四区| 欧美视频www| 亚洲大片一区二区三区| 波多野结衣在线观看一区| 欧美高清hd18日本| 天天操天天射天天| 在线国产精品播放| 日本不卡影院| 国产999精品| 免费一区二区三区在线视频| 精品国产乱码久久久久软件| blacked蜜桃精品一区| 国产内射老熟女aaaa| 免费视频一区| 精品人妻一区二区三区免费| 91蜜桃传媒精品久久久一区二区| 国产三级黄色片| 一区二区三区.www| 久操视频在线免费观看| 日韩一区二区影院| 国产在线一二三区| 欧美激情第一页xxx| 亚洲成人一区在线观看| 成人综合av网| 欧美丝袜激情| 精品无码国产一区二区三区av| 久久这里只有| 国产伦精品一区二区三区精品| 欧美经典一区二区| 日本视频www| 欧美电影在线免费观看| 日韩欧美电影在线观看| 超碰97人人做人人爱少妇| 成人国产二区| 国产精品一区二区你懂得| 日韩久久综合| 黄色片久久久久| 成人在线综合网| 你懂得在线观看| 一本一道波多野结衣一区二区| av网站免费大全| 日韩专区在线观看| 美女日韩欧美| 久久精品ww人人做人人爽| 中文字幕乱码亚洲无线精品一区| 日本精品www| 波多野洁衣一区| 九九视频免费看| 777xxx欧美| 97超碰人人在线| 国产精品久久久精品| 日韩美脚连裤袜丝袜在线| 日韩在线视频在线| 久久97超碰色| 免费黄色在线网址| 91久久精品一区二区| 香蕉视频黄色片| 97久久久免费福利网址| 一区二区精彩视频| 亚洲爆乳无码精品aaa片蜜桃| 国内精品伊人久久久久av一坑| 岛国片在线免费观看| 在线观看日韩毛片| 成人性生交大片免费看午夜| 欧美做受高潮电影o| 伦理一区二区三区| 国产日韩av网站| av一区二区三区四区| 日韩 欧美 精品| 亚洲精品国精品久久99热| av免费不卡| 狠狠色噜噜狠狠色综合久| 亚洲国产精品第一区二区三区| 中文字幕人妻熟女在线| 亚洲国产中文字幕在线视频综合| 亚洲欧美另类一区| 久久久久久久久久久免费精品 | 精品久久久久久综合日本欧美| 污网站在线免费看| av成人综合网| 一本久久综合| 国产特级黄色录像| 91成人免费在线| caoporn国产精品免费视频| 国产欧美va欧美va香蕉在线| 国产精品伦理久久久久久| 色姑娘综合天天| 亚洲愉拍自拍另类高清精品| 欧美视频一二区| 2023亚洲男人天堂| 国产一区二区精品久| 亚洲黄色av片| 亚洲五码中文字幕| 欧美男男激情freegay| 国产精品久久久久久亚洲调教| 日本一区二区高清不卡| 婷婷激情小说网| 亚洲h在线观看| 国产中文在线观看| 91欧美日韩一区| 亚洲美女视频在线免费观看 | 亚洲精品日日夜夜| 天天av天天翘| 国产精品久久久久av| 一区二区免费不卡在线| 在线免费观看a级片| 欧美伊人久久久久久久久影院 | 7m第一福利500精品视频| 国产日产精品_国产精品毛片| 亚洲免费999| 亚洲国产精品自拍| 福利在线午夜| 国产91视觉| 日韩高清不卡一区| 亚洲成人生活片| 亚洲人线精品午夜| 欧美日韩黄网站| 国产a级片免费观看| 一区二区三区四区亚洲| 免费毛片在线| 成人激情av| 日韩精品免费视频人成| 欧美成人一区二区三区高清| 亚洲女人被黑人巨大进入| 国产精品成人**免费视频| 国产成人在线免费看| 亚洲色图一区二区| 韩国福利在线| 国产日韩欧美精品| 国产在线一区观看|