iView 實戰系列教程(21課時)_3.iView 實戰教程之布局篇(一)


Grid布局

先了解一下iview的24柵格布局

清理一下App.vue


然后從iview的color里面獲取推薦的背景色

我們先渲染柵格 24列,然后再講解他是一個什么東西:


柵格外面row包裹的,里面是一個Col組件

使用v-for循環24列,類一列里面用Card


Grid布局就是將整個頁面等寬度的划分為了24列,可以解決業務中大部分的布局問題。

只要col的span的值相加等於24就可以

我們寫一個兩列的布局,兩列分別值為12,加起來就是24

如果說內容大於了24怎么辦?

超出的部分自動換行了。

我們在列和列之間加空隙:


空隙為16寬度



Gutter的值建議是 16+8*n這樣排列:就是8的倍數

Gutter是16或者32是比較好的


里面做一個嵌套,grid布局是可以無限嵌套的



某一列隨着瀏覽器的滾動,能夠固定在某一個位置:

展示的效果。我們希望右側的部分隨着瀏覽器的滾動,能夠懸停


當前兩部分都是隨着滾動條 網上走的

現在我們就需要固定右邊的列,
可以單獨給右邊的card加css position:fixs
但是我們盡可能少使用css打到我們想要的效果。

我們把他嵌套在affix標簽內








頂部有個header的導航條。滾動的時候會吸在導航條的一個位置懸停




懸停會蓋住導航條


導航條的高度是50 所以這里設置offset-top我們設置為50就可以了


這樣就不會被蓋住了

布局小技巧

24列布局實現垂直居中的效果
在modal中有個垂直居中的效果

彈窗是上下高度和左右的寬度都是一樣的,並且隨着拖動瀏覽器 也是會根據瀏覽器的高度和寬度的變化 依然垂直居中。





縮小瀏覽器的效果。


我們要實現的效果就是 隨着改變瀏覽器的大小 頭像和對號都居中


Row布局的flex布局,並且規定了居中的方式 都是中間


全屏的情況下 頭像和對號已經和頂部有一定的距離了

改變瀏覽器的大小

技巧2

4+18=22后面空出來一列




現在要實現的效果是讓第一列和第二列都居中顯示。也就是最左邊再空出來一列來。

Offset屬性就是給這一列一個向右的一個位移!,位移的尺寸就是柵格的列數

技巧3

20分鍾開始


規定左邊18列 右邊4列

左邊18列應該是在左邊的。但是由於18列左邊是空的 所以把右邊的四列頂到了左邊。

當點擊左邊的填充內容的時候。18列有了內容顯示了出來。

假設填充內容是提供過ajax去填充的話,也是需要幾秒的時候閃動左邊的18列。那么我們怎么解決這個默認沒有內容 右邊擠到左邊了呢?

我們只需要在左邊的內容加一個空的div標簽就可以了。 當然也可以把這個空的div封裝成一個組件。

查看默認的頁面效果

這樣做的好處,不會影響里面正文的內容,加一個1像素的空的元素去占位的話,不會影響你大體的內容。雖然看起來不是很優雅,但是卻很簡單的解決了這個閃動的問題。比較推薦用這種方法。

使用iview的gird布局 實現響應式布局


響應式布局:一套代碼在不同的屏幕或者分辨率下、瀏覽器中預覽的時候呈現出來的了效果是不一樣的


重新初始化代碼一下:


縮放到很小的時候:

在col上使用我們響應式的屬性

左邊當小於768的時候 讓他占滿一整行

當小於768的時候 占滿一整行,當大於768的時候就是占6列

當小於768的時候占滿一整行,當大於768的時候只占18列

我們打開F12的控制台 托送窗體,會顯示寬度和高度

小於了768的情況:

當大於768的時候 還是各自 6:18的比例


當時寬屏的時候 左邊留一個像素 右邊留一個像素
當變為手機窄屏的時候

寬屏的時候 ,向右便宜一個列,6+16=22因為左右都便宜


小於768的時候 各自占滿為24

還有其他用的比較少的 也可以實現相應式布局的,他們在flex布局用的。視頻在這里就不多講了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM