摘要:網(wǎng)格是實現(xiàn)響應式頁面設(shè)計的利器,但至于它的工作原理,大多數(shù)時候?qū)﹂_發(fā)人員應該是一個黑盒。而中間的列進行偏移時,效果是將前一列與當前列一分為二。明白了網(wǎng)格系統(tǒng)的以上工作原理,我項目當中頁面布局的異常都得到了合理的解釋。
BOOTSTRAP CSS 網(wǎng)格是實現(xiàn)響應式頁面設(shè)計的利器,但至于它的工作原理,大多數(shù)時候?qū)﹂_發(fā)人員應該是一個黑盒。很少有人想知道它背后是如何工作的。直到你自已設(shè)計的頁面無法滿足一個復雜的需求,或者設(shè)計出來的頁面顯示怎么也達不到你的預期。你真的會像丈二和尚摸不著頭腦。直到我看到了一篇國外開發(fā)人員寫的文章,它提示了一些BOOTSTRAP 3.0框架中GRID的一些工作原理,這邊簡單做一個歸納總結(jié),供大家參考。
容器 ( container)容器的左內(nèi)邊距是15px,如下圖給粉紅部分顯示
容器的寬度動態(tài)地取決于屏幕寬度
行(row)列column應該包含在行row里面 ,最多可添加到12的列。它還充當包裝器,因為所有列都向左浮動,如果浮動異常,行與行之間也不會有重疊。
行每邊都有15px的負邊距,如下圖中藍色所示。它正好抵消了外部容器的15px的左內(nèi)邊距。理解這點至關(guān)重要,有助于理解后續(xù)列 column的排列方式。以及自已設(shè)計的頁面布局出現(xiàn)異常的時候。它使得行內(nèi)的列可以貼著屏幕邊距為起點,計算左內(nèi)邊距
不要在容器外使用行,那將不起作用
列(column)
列現(xiàn)在有15px的內(nèi)邊距,以黃色顯示。這樣一來就可以做到2點:
兩側(cè)列沿著容器對齊(由于行的-15px)
列與列的內(nèi)容之間永遠保持著30px的間隙
不要在行外使用列,那將不起作用
列的內(nèi)容有了上述行和列的內(nèi)邊距互相抵消,這樣每一列的內(nèi)容,無管是最2邊的列,還是中間的列,對于整個屏幕來說,都是平等對待的,同時還能控制在同一行當中,即15px + ??px+ 15px的獨立單元,這便是container > row > column 的內(nèi)邊距設(shè)置的巧妙之處。
可以在列中創(chuàng)建新的網(wǎng)格系統(tǒng),記得只能在列中使用行,不能使用容器:
這樣外層列對于內(nèi)層行來說,與最外層的容器與行來說的關(guān)系是一樣的。
也就是說此時,列的作用與容器的作用相同,形成一個遞歸關(guān)系。
偏移比較好理解,它只是將列的左外邊距增加相應的若干個單位長度。只唯一需要注意的是,針對最左側(cè)列進行偏移時,偏移的起始位置,如下圖所示,是從行的-15px外開始的。其實這也好理解,因為外部的行的起始位置是-15px,畢竟內(nèi)邊距也屬于行的一部分。而中間的列進行偏移時,效果是將前一列與當前列一分為二。
推和拉(push and pull)為什么使用推/拉?根據(jù)屏幕尺寸的變大變小,翻轉(zhuǎn)當前布局。
特別適用于將列重新排列,當屏幕從移動設(shè)計布局變到桌面設(shè)計,因為它允許你在屏幕大小變動時,打破HTML默認的:自頂向下,從左至右的布局方式。
特別需要注意的是,pull和push實際上移動了列的位置,而不是改變列的左右邊距,如下圖所示,這樣一來,如果push/pull一個列,而不是push/pull其相鄰列的話,會出列與列內(nèi)容重疊在一起的情況。
因此,每當你pull/push一列的時候,相應的鄰近的列也要做一個互補的push/pull的操作。
?
明白了網(wǎng)格系統(tǒng)的以上工作原理,我項目當中頁面布局的異
常都得到了合理的解釋。如果覺得還是很難理解,那就切記要按照
container ->row ->column->row->column這種方式去組織界面的網(wǎng)格元素。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/115697.html
摘要:簡言網(wǎng)格布局是一套二維的頁面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁面布局的傳統(tǒng)方式。例用屬性和定義網(wǎng)格,同時定義網(wǎng)格線名稱。例一組區(qū)域名稱要放在單引號或雙引號內(nèi),每一個名稱之間以空格分隔。例本例中,是通過隱式網(wǎng) 簡言 CSS網(wǎng)格布局(Grid)是一套二維的頁面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁面布局的傳統(tǒng)方式。傳統(tǒng)的CSS頁面布局 一直不夠理想。包括table布局、浮動、定位及內(nèi)聯(lián)塊等方式,從本質(zhì)...
摘要:柵格系統(tǒng)中的列是通過指定到的值來表示其跨越的范圍。實例下圖是一個柵格系統(tǒng),共有四行。然后在根目錄中,使用命令,可以自動將源代碼編譯成,放在目錄中。 什么是Bootstrap Bootstrap是一個用于快速開發(fā)Web應用程序和網(wǎng)站的前端框架,它包括HTML,CSS,JS等。它是由Twitter開發(fā),現(xiàn)在成為Github上最為流行的前端開發(fā)框架。它提供了一套響應式,移動設(shè)備優(yōu)先的流式柵格...
摘要:在過去的幾個星期里,我開始看到基于的布局框架和柵格系統(tǒng)的出現(xiàn)。你可能傾向于明確給出所有元素的位置,或是盡可能依賴于自動布局。 showImg(https://segmentfault.com/img/remote/1460000010188997); 在過去的幾個星期里,我開始看到基于 CSS Grid 的布局框架和柵格系統(tǒng)的出現(xiàn)。我們驚訝它為什么出現(xiàn)的這么晚。但除了使用 CSS Gr...
閱讀 2437·2021-10-09 09:59
閱讀 2189·2021-09-23 11:30
閱讀 2599·2019-08-30 15:56
閱讀 1155·2019-08-30 14:00
閱讀 2946·2019-08-29 12:37
閱讀 1265·2019-08-28 18:16
閱讀 1667·2019-08-27 10:56
閱讀 1033·2019-08-26 17:23