国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Grid布局——頁面布局如此簡單

Scorpion / 1852人閱讀

摘要:網格單元格被劃分之后每一個格子就是單元格,也是布局的最小單位。網格區域若干個單元格拼接而成的區域。網格間隙單元格與單元格之間的距離,可以垂直也可以水平。

前言

CSS網格布局用于將頁面分割成數個主要區域,或者用來定義組件內部元素間大小、位置和圖層之間的關系。像表格一樣,網格布局讓我們能夠按行或列來對齊元素。 但是,使用CSS網格可能還是比CSS表格更容易布局。 例如,網格容器的子元素可以自己定位,以便它們像CSS定位的元素一樣,真正的有重疊和層次。

介紹

gird布局是一種基于二維的網格布局,與flex和普通的浮動布局相比,他最大的優勢在于不取決dom節點的結構,而是直接把整個頁面劃分為多個格子,繼而進行填充。

提供能力

①二維布局,提供橫、豎方向布局,與table相似
②可設置具體的行數、列數,且可設置每行、每列的大小,提供多種的彈性大小控制屬性
③可定義每個格子間的間隔(橫豎)
④可設置元素的對齊方式(基于元素所在單元格),批量控制,具體某個子元素控制
⑤可讓元素填充到指定的格子(某行、某列,跨格子),此功能可以對元素進行任意的布局,而無需修改html結構

兼容性

在開發之前,你得先了解其兼容性。總體來說,兼容性還是不夠全面,但如果一些公司用于內部系統開發,grid布局將會是一個不錯的選擇。

基本概念 Grid line(網格線)

用于將整體劃分為每一個各自的線,可以水平(row grid lines),也可以是垂直的(column grid lines),如下圖中的紅線藍線。

Grid cell(網格單元格)

被劃分之后每一個格子就是單元格,也是gird布局的最小單位。

Grid area(網格區域)

若干個單元格拼接而成的區域。

Grid gap(網格間隙)

單元格與單元格之間的距離,可以垂直也可以水平。

容器屬性(container)

以下圖片來源:http://grid.malven.co/

display(啟動該布局)

grid-template(網格模板)

用于定義 grid columns, rows 和areas。

grid-gap(單元格間隙)

justify-items

用于定義主軸(水平)對齊方式

align-items

用于定于副軸(垂直)對齊方式

justify-content

用于定于主軸(水平)上多跟軸線的對齊方式

align-content

用于定于副軸(垂直)上多跟軸線的對齊方式

grid-auto-flow

用于定義單元格的自動遍歷順序

children(組件)

以下圖片來源:http://grid.malven.co/

grid-column

用于控制該組件在水平方向上占多少個格

grid-row

用于控制該組件在垂直方向上占多少個格

grid-row + grid-column

合并控制組件在垂直水平方向上各占多少個格

justify-self

用于定義該組件在主軸(水平)方向上內容的對齊方式

align-self

用于定義該組件在副軸(垂直)方向上內容的對齊方式

實際例子

如何在不改變dom節點結構的情況下,實現如下功能:在屏幕不同分辨率的情況下,頁面中的組件自動地移位。
①電腦:寬度大于1200px,布局如下:

②平板:寬度大于992px,小于1200px,布局如下:

③手機:寬度小于992px,布局如下:

具體實現

代碼來源,https://github.com/TheWalking...

html代碼
header
subtitle
left
middle
right-top
right-middle
right-bottom
css代碼
.container{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 10px;
        grid-auto-rows: minmax(50px, auto);
    }
    .container div{
        background-color: rgba(189, 249, 255, 1);
        border: 2px solid rgb(77, 170, 179, 1);
        border-radius: 5px;
        text-align: center;
        line-height: 50px;
    }

    @media only screen and (min-width: 768px) {
        .header{
            grid-column: 1;
            grid-row: 1;
        }
        .subtitle{
            grid-column: 1;
            grid-row: 2;
        }
        .left{
            grid-column: 1;
            grid-row: 4 / 7;
        }
        .middle{
            grid-column: 1;
            grid-row: 8 / 11;
        }
        .right-top{
            grid-column: 1;
            grid-row: 3;
        }
        .right-middle{
            grid-column: 1;
            grid-row: 7;
        }
        .right-bottom{
            grid-column: 1;
            grid-row: 11;
        }
        .footer{
            grid-column: 1;
            grid-row: 12;
        }
    } 

    @media only screen and (min-width: 992px) {
        .header{
            grid-column: 1 / 3;
            grid-row: 1;
        }
        .subtitle{
            grid-column: 1 / 3;
            grid-row: 2;
        }
        .left{
            grid-column: 1;
            grid-row: 4 / 7;
        }
        .middle{
            grid-column: 2;
            grid-row: 4 / 7;
        }
        .right-top{
            grid-column: 1 / 3;
            grid-row: 3;
        }
        .right-middle{
            grid-column: 1;
            grid-row: 7;
        }
        .right-bottom{
            grid-column: 2;
            grid-row: 7;
        }
        .footer{
            grid-column: 1 / 3;
            grid-row: 8;
        }
    } 

    @media only screen and (min-width: 1200px) {
        .header{
            grid-column: 1 / 4;
            grid-row: 1;
        }
        .subtitle{
            grid-column: 1 / 4;
            grid-row: 2;
        }
        .left{
            grid-column: 1;
            grid-row: 3 / 6;
        }
        .middle{
            grid-column: 2;
            grid-row: 3 / 6;
        }
        .right-top{
            grid-column: 3;
            grid-row: 3;
        }
        .right-middle{
            grid-column: 3;
            grid-row: 4;
        }
        .right-bottom{
            grid-column: 3;
            grid-row: 5;
        }
        .footer{
            grid-column: 1 / 4;
            grid-row: 6;
        }
    }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/117156.html

相關文章

  • css布局的各種FC簡單介紹:BFC,IFC,GFC,FFC

    摘要:完整的說法是屬于同一個的倆個相鄰的的會發生重疊,與方向無關。元素會位于與與之間,使得寬度縮短。簡單的說,有了之后,布局不再局限于單個維度了。 什么是FC? Formatting Context,格式化上下文,指頁面中一個渲染區域,擁有一套渲染規則,它決定了其子元素如何定位,以及與其他元素的相互關系和作用。 BFC 什么是BFC Block Formatting Context,塊級格式...

    mindwind 評論0 收藏0
  • css布局的各種FC簡單介紹:BFC,IFC,GFC,FFC

    摘要:完整的說法是屬于同一個的倆個相鄰的的會發生重疊,與方向無關。元素會位于與與之間,使得寬度縮短。簡單的說,有了之后,布局不再局限于單個維度了。 什么是FC? Formatting Context,格式化上下文,指頁面中一個渲染區域,擁有一套渲染規則,它決定了其子元素如何定位,以及與其他元素的相互關系和作用。 BFC 什么是BFC Block Formatting Context,塊級格式...

    付永剛 評論0 收藏0
  • 布局看css基礎

    摘要:布局學習的主要目的是為了記住各種屬性么,最重要的是理解的定位機制與盒子模型。它是一個獨立的渲染區域,只有參與,它規定了內部的如何布局,并且與這個區域外部毫不相干。 css布局 學習css的主要目的是為了記住各種屬性么?NO,最重要的是理解css的定位機制與盒子模型。 接下來,從布局的角度來學習css的定位機制和盒子模型,學習之前還是先來提幾個問題 1.進行css布局前為什么要學習定位...

    thekingisalwaysluc 評論0 收藏0
  • HTML-CSS

    摘要:但是,從字體上來說雪碧圖制作,使用以及相關,圖文。由于采用了編譯,所以能夠保證在瀏覽器不支持標準布局的情況下,回滾到舊版本的,保證移動設備中能呈現出一樣的布局效果。我不想陷入和的紛爭,但是有一件事是確定的極大的提升了移動端 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個問題:怎樣通過 CSS 簡單而優雅的實現水平、垂直同時居中。記得剛開始學習 CSS 的時候,看到 ...

    xiaokai 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<