成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[譯] Grid 布局完全指南

Baoyuan / 708人閱讀

摘要:如果你定義的內(nèi)容包含重復(fù)部分,你可以使用標記去組織它。另外,也有一個比較復(fù)雜但是方便的語法指定三個屬性,示例如下與以下代碼是等價的因為無法隱式重置屬性,與。

簡介

CSS 柵格布局 (亦稱 "Grid"),是一個基于柵格的二維布局系統(tǒng),旨在徹底改變基于網(wǎng)格用戶界面的設(shè)計。CSS 一直以來并沒有把布局做的足夠好。剛開始,我們使用 tables,后來是 floats,positioning 和 inline-block,這些本質(zhì)上是一些 hacks 而且許多重要功能尚未解決(例如垂直居中)。Flexbox 可以做到這些,但是它主要用來一些簡單的一維布局,并不適合復(fù)雜的二維布局(當然 Flexbox 與 Grid 可以一并使用)。Grid 是第一個為了解決布局問題的 CSS 模塊,只要我們做過網(wǎng)頁,就會遇到這些問題。

有兩件事情在激勵著我創(chuàng)作這篇指南,首先是 Rachel Andrew 那本非常不錯的書 Get Ready for CSS Grid Layout.,清晰透徹地介紹了 Grid,它是本篇文章的基礎(chǔ)。我強烈建議你去購買并且閱讀它。另一件事是 Chris Coyier 的文章 A Complete Guide to Flexbox,是關(guān)于 flexbox 的首選資源。它幫助了很多人,當你 Google "flexbox" 的時候,第一眼便能夠看見它。或許你已經(jīng)注意到我的文章與它有很大相似之處,但我們有什么理由不借鑒它呢?

我會把 Grid 在最新版本規(guī)范上的概念呈現(xiàn)出來。因此,我將不會照顧過期的 IE 語法。當規(guī)范成熟時,我將盡可能去定期更新。

基礎(chǔ)與瀏覽器支持

開始 Grid 是簡單的,你僅僅需要在容器(container)元素上定義一個柵格使用 display: grid,并通過 grid-template-columnsgrid-template-rows 設(shè)置行與列。通過設(shè)置 grid-columngrid-row 把子元素置于柵格中。與 flexbox 類似,柵格項目(items)的順序是無關(guān)緊要的,你可以通過 CSS 來控制順序。當使用媒體查詢時,改變它們的順序是極其簡單的。假設(shè)你設(shè)計好了網(wǎng)頁的布局,但你需要適應(yīng)不同的屏幕寬度,這僅僅需要幾行代碼,Grid 是最為有效的模塊。

關(guān)于 Grid 一件非常重要的事情是你還不能夠在生產(chǎn)環(huán)境中使用它。它目前僅僅是一個 W3C工作草案,而且不能夠被任何瀏覽器默認支持。雖然IE10 與 IE11 能夠支持它,但使用了過期語法舊的實現(xiàn)。為了現(xiàn)在能夠體驗 Grid,最好的方法是使用 Chrome, Opera 或者 Firefox,并且開啟特定的標志。在 Chrome 中,導(dǎo)航到 chrome://flags 并且開啟 “experimental web platform features”。在 Opera 中同樣如此(opera://flags)。在 Firefox 中,開啟標志 layout.css.grid.enabled(about:config)。

這有一張瀏覽器支持表格,我將保持更新。

Chrome 29+ (Behind flag)
Safari Not supported
Firefox 40+ (Behind flag)
Opera 28+ (Behind flag)
IE 10+ (Old syntax)
Android Not supported
iOS Not supported

譯者注:現(xiàn)在有些最新瀏覽器的最新版本已經(jīng)能夠支持,可以查看 caniuse 網(wǎng)站。

你在生產(chǎn)環(huán)境中使用它僅僅是一個時間問題。但是,學(xué)習(xí)正在當下!

重要術(shù)語

在深入了解 Grid 概念之前,了解它的術(shù)語是極為重要的。因為在此涉及到的術(shù)語概念相似,不易混淆。不過不用擔(dān)心,他們并沒有很多。

Grid Container (柵格容器)

設(shè)置 display: grid 的元素,它是所有柵格項目的直接父級元素。在這個例子中,container 是柵格的容器。

Grid Item (柵格項目)

柵格容器的直接子代。在這里 item 是柵格項目,而 sub-item 不是柵格項目。

Grid Line (柵格線)

組成柵格結(jié)構(gòu)的分割線。它們位于行與列的兩側(cè),有的是垂直的(列柵格線),有的是水平的(行柵格線)。以下黃色線是一個列柵格線。

Grid Track (柵格軌跡)

相鄰柵格線的區(qū)域。你可以認為他們是柵格的一行或者一列。以下是第二與第三柵格線間的柵格軌跡。

Grid Cell (柵格格子)

相鄰行柵格線與相鄰列柵格線間的區(qū)域。它是柵格的獨立“單元”。以下柵格格子位于1,2行柵格線與2,3列柵格線間。

Grid Area (柵格區(qū)域)

被四個柵格線圍繞的區(qū)域。一個柵格區(qū)域由任意數(shù)量的柵格格子組成。以下柵格區(qū)域位于1,3行柵格線與1,3列柵格線間。

柵格屬性內(nèi)容表

屬于柵格容器的屬性:

display

grid-template-columns

grid-template-rows

grid-template-areas

grid-column-gap

grid-row-gap

grid-gap

justify-items

align-items

justify-content

align-content

grid-auto-columns

grid-auto-rows

grid-auto-flow

grid

屬于柵格項目的屬性:

grid-column-start

grid-column-end

grid-row-start

grid-row-end

grid-column

grid-row

grid-area

justify-self

align-self

柵格容器屬性(Grid Container) display

定義該元素為柵格項目,并且為它的內(nèi)容建立一個新的柵格格式上下文(grid formatting context)。

譯者注:還記得 BFC 與 IFC 嗎?

屬性值:

grid 生成塊狀柵格

inline-grid 生成行間柵格

subgrid 如果你的柵格容器本身是一個柵格項目的話(例如:嵌套柵格),你可以根據(jù)它的父元素而不是它自己,指定行列大小。

.container{
  display: grid | inline-grid | subgrid;
}

注意:column,float,clearvertical-align 在柵格容器上無效。

grid-template-columns
grid-template-rows

通過空格分隔的值定義柵格的行與列。值代表軌跡大小(track size),它們中間的間隙代表柵格線。

屬性值:

可以是長度,百分比,或者柵格中的空白空間(使用 fr

任意名字,任君選擇

.container{
  grid-template-columns:  ... |   ...;
  grid-template-rows:  ... |   ...;
}

示例:

當你在軌跡值之間預(yù)留空格時,柵格線會被自動分配為數(shù)值名字。

.container{
  grid-template-columns: 40px 50px auto 50px 40px;
  grid-template-rows: 25% 100px auto;
}

你也可以為柵格線設(shè)置名字,注意柵格線名字的括號語法:

.container{
  grid-template-columns: [first] 40px [line2] 50px [line3] auto [col4-start] 50px [five] 40px [end];
  grid-template-rows: [row1-start] 25% [row1-end] 100px [third-line] auto [last-line];
}

注意一條線可以有多個名字。例如,這里第二條線有兩個名字:row1-end 和 row2-start。

.container{
  grid-template-rows: [row1-start] 25% [row1-end row2-start] 25% [row2-end];
}

如果你定義的內(nèi)容包含重復(fù)部分,你可以使用 repeat() 標記去組織它。

.container{
  grid-template-columns: repeat(3, 20px [col-start]) 5%;
}

與以下代碼是等價的

.container{
  grid-template-columns: 20px [col-start] 20px [col-start] 20px [col-start] 5%;
}

fr 允許你設(shè)置軌跡大小為柵格容器的一部分。例如,以下示例將設(shè)置每個項目為柵格容器的三分之一。

.container{
  grid-template-columns: 1fr 1fr 1fr;
}

空白空間將在固定項目 之后 被計算。在這個例子中,給 fr 分配的全部空余時間不包括 50px。

.container{
  grid-template-columns: 1fr 50px 1fr 1fr;
}
grid-template-areas

通過指定柵格區(qū)域的名字來定義柵格模板,這樣?xùn)鸥耥椖繒ㄟ^ grid-area 屬性來指定區(qū)域。重復(fù)柵格區(qū)域的名字將會合并柵格格子,一個句點表示一個空的柵格格子。語法本身提供了一個可視化的柵格結(jié)構(gòu)。

屬性值:

在項目中使用 grid-area 屬性指定的柵格區(qū)域

. 句點表示空白柵格格子

none 不定義柵格區(qū)域

.container{
  grid-template-areas: " | . | none | ..."
                       "..."
}

示例:

.item-a{
  grid-area: header;
}
.item-b{
  grid-area: main;
}
.item-c{
  grid-area: sidebar;
}
.item-d{
  grid-area: footer;
}

.container{
  grid-template-columns: 50px 50px 50px 50px;
  grid-template-rows: auto;
  grid-template-areas: "header header header header"
                       "main main . sidebar"
                       "footer footer footer footer"
}

這將建造一個三行四列的柵格。第一行全部由 header 區(qū)域組成,第二行由兩個 main 區(qū)域,一個空白格子與一個 sidebar 區(qū)域組成。最后一行全部由 footer 組成。

你聲明的每行都需要有相同數(shù)量的柵格格子。

你可以使用任意數(shù)量無空格分割的相鄰句點去表示單個空白柵格格子。

譯者注:grid-template-areas: "first . last"grid-template-areas: "first ...... last" 等價。

注意,這種語法僅僅能命名區(qū)域,而無法命名柵格線。實際上,當你使用這種語法的時候,柵格區(qū)域兩端的柵格線已被自動命名。如果你的柵格區(qū)域叫 foo,柵格區(qū)域開始的行與列將被命名為 foo-start,而結(jié)束的行與列將被命名為 foo-end。這意味著一些柵格線會有很多名字,比如上述例子的最左邊的柵格線將會有三個名字:header-start, main-start 和 footer-start。

grid-template

grid-template-columnsgrid-template-rowsgrid-template-areas 的簡寫。

屬性值:

none 設(shè)置這三個屬性為初始屬性

subgrid 設(shè)置 grid-template-rowsgrid-template-columnssubgrid,grid-template-areas 為初始值。

/ 設(shè)置 grid-template-columnsgrid-template-rows 為各自指定的值。而 grid-template-areasnone。

.container{
  grid-template: none | subgrid |  / ;
}

另外,也有一個比較復(fù)雜但是方便的語法指定三個屬性,示例如下

.container{
  grid-template: auto 50px auto /
    [row1-start] 25px "header header header" [row1-end]
    [row2-start] "footer footer footer" 25px [row2-end];
}

與以下代碼是等價的:

.container{
  grid-template-columns: auto 50px auto;
  grid-template-rows: [row1-start] 25px [row1-end row2-start] 25px [row2-end];
  grid-template-areas: 
    "header header header" 
    "footer footer footer";
}

因為 grid-template 無法 隱式 重置屬性(grid-auto-columnsgrid-auto-rowsgrid-auto-flow)?;蛟S你想做更多的事,那么推薦你使用 grid 屬性去替代 grid-template。

grid-column-gap
grid-row-gap

指定柵格線的大小,你可以理解它為設(shè)置行/列間隙。

屬性值:

長度值

.container{
  grid-column-gap: ;
  grid-row-gap: ;
}

示例:

.container{
  grid-template-columns: 100px 50px 100px;
  grid-template-rows: 80px auto 80px; 
  grid-column-gap: 10px;
  grid-row-gap: 15px;
}

柵格間隙僅僅在行/列 之間,不包括最外部的邊。

grid-gap

grid-column-gapgrid-row-gap 的簡寫。

屬性值:

長度值

.container{
  grid-gap:  ;
}

示例:

.container{
  grid-template-columns: 100px 50px 100px;
  grid-template-rows: 80px auto 80px; 
  grid-gap: 10px 15px;
}

如果沒有設(shè)置 grid-row-gap,它將于 grid-column-gap 保持一致。

justify-items

使柵格項目中的內(nèi)容與 軸對齊(相應(yīng)地,align-items 軸對齊)。這個屬性值應(yīng)用在容器中的所有項目上。

屬性值:

start 使內(nèi)容與柵格區(qū)域左側(cè)對齊

end 使內(nèi)容與柵格區(qū)域右側(cè)對齊

center 使內(nèi)容在柵格區(qū)域中居中

stretch 使內(nèi)容充滿整個柵格區(qū)域的寬(默認屬性)

.container{
  justify-items: start | end | center | stretch;
}

示例

.container{
  justify-items: start;
}

.container{
  justify-items: end;
}

.container{
  justify-items: center;
}

.container{
  justify-items: stretch;
}

這個行為也可以通過 justify-self 屬性設(shè)置在獨立的柵格項目上。

align-items

使柵格項目中的內(nèi)容與 軸對齊(相應(yīng)地,justify-items 軸對齊)。這個屬性值應(yīng)用在容器中的所有項目上。

屬性值:

start 使內(nèi)容與柵格區(qū)域頂部對齊

end 使內(nèi)容與柵格區(qū)域底部對齊

center 使內(nèi)容在柵格區(qū)域中居中

stretch 使內(nèi)容充滿整個柵格區(qū)域的高(默認屬性)

.container{
  align-items: start | end | center | stretch;
}

示例:

.container{
  align-items: start;
}

.container{
  align-items: end;
}

.container{
  align-items: center;
}

.container{
  align-items: stretch;
}

這個行為也可以通過 align-self 屬性設(shè)置在獨立的柵格項目上。

justify-content

有時候,柵格的總大小小于柵格容器的大小,比如你使用 px 給所有的柵格項目設(shè)置了固定大小。本例中,你可以設(shè)置柵格容器中柵格的對齊。這個屬性會使柵格與 軸對齊(相應(yīng)地,align-content 會使柵格與 軸對齊)。

屬性值:

start 與柵格容器的左側(cè)對齊

end 與柵格容器的右側(cè)對齊

center 在柵格容器中居中

stretch 調(diào)整柵格項目的大小,使柵格充滿整個柵格容器。

space-around 每兩個項目之間留有相同的空白,在最左端與最右端為一半大小的空白。

space-between 每兩個項目之間留有相同的空白,在最左端與最右端不留空白。

space-evenly 每兩個項目之間留有相同的空白,包括兩端。

.container {
  align-content: start | end | center | stretch | space-around | space-between | space-evenly;  
}

示例:

.container{
  justify-content: start;
}

.container{
  justify-content: end;  
}

.container{
  justify-content: center;  
}

.container{
  justify-content: stretch;  
}

.container{
  justify-content: space-around;  
}

.container{
  justify-content: space-between;  
}

.container{
  justify-content: space-evenly;  
}

align-content

有時候,柵格的總大小小于柵格容器的大小,比如你使用 px 給所有的柵格項目設(shè)置了固定大小。本例中,你可以設(shè)置柵格容器中柵格的對齊。這個屬性會使柵格與 軸對齊(相應(yīng)地,align-content 會使柵格與 軸對齊)。

屬性值:

start 與柵格容器的頂部對齊

end 與柵格容器的底部對齊

center 在柵格容器中居中

stretch 調(diào)整柵格項目的大小,使柵格充滿整個柵格容器。

space-around 每兩個項目之間留有相同的空白,在最左端與最右端為一半大小的空白。

space-between 每兩個項目之間留有相同的空白,在最左端與最右端不留空白。

space-evenly 每兩個項目之間留有相同的空白,包括兩端。

.container{
  align-content: start | end | center | stretch | space-around | space-between | space-evenly;  
}

示例:

.container{
  align-content: start;  
}

.container{
  align-content: end;  
}

.container{
  align-content: center;  
}

.container{
  align-content: stretch;  
}

.container{
  align-content: space-around;  
}

.container{
  align-content: space-between;  
}

.container{
  align-content: space-evenly;  
}

grid-auto-columns
grid-auto-rows

指定自動生成的柵格軌跡的大?。ㄒ喾Q隱式柵格軌跡)。當你顯式定位行與列的時候(通過 grid-template-rows / grid-template-columns),隱式柵格軌跡會在定義的柵格外被創(chuàng)建。

屬性值:

可以是長度,百分比或者 fr

.container{
  grid-auto-columns:  ...;
  grid-auto-rows:  ...;
}

舉例了解隱式柵格軌跡是如何被創(chuàng)建的,考慮以下示例:

.container{
  grid-template-columns: 60px 60px;
  grid-template-rows: 90px 90px
}

本示例建造了 2 * 2 的柵格。

你使用 [grid-column](#prop-grid-column) 與 grid-row 去定位你的項目如下:

.item-a{
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.item-b{
  grid-column: 5 / 6;
  grid-row: 2 / 3;
}

我們告知 .item-b 在 5-6 列間,但我們從未定義第五列或者第六列。因為我們引用的柵格線不存在,寬度為0的隱式柵格軌跡將會創(chuàng)建去填充空白。我們可以使用 grid-auto-columnsgrid-auto-rows 去指定這些軌跡的寬。

譯者注:經(jīng)譯者測試,并非以寬度為0的 implicit track 去填充。w3c auto-tracks 上表明 grid-auto-columns 的默認值為 auto,則超過的列將會平分空白空間。

.container{
  grid-auto-columns: 60px;
}

grid-auto-flow

如果你的柵格項目沒有顯式地在柵格中設(shè)置位置,自動放置算法便會生效。這個屬性控制自動放置算法的的運作。

屬性值:

row 自動放置算法將按行依次排列,按需添加新行。

column 自動放置算法將按列依次排列,按需添加新列。

dense 如果較小的項目出現(xiàn)靠后時,自動防止算法將盡可能早地填充柵格的空白格子

.container{
  grid-auto-flow: row | column | row dense | column dense
}

注意 dense 可能使你的項目次序顛倒。

示例:

考慮以下 html:

item-a
item-b
item-c
item-d
item-e

你定義了一個兩行五列的柵格,并設(shè)置它的 grid-auto-flow 屬性為 row (默認屬性便是 row)。

.container{
    display: grid;
    grid-template-columns: 60px 60px 60px 60px 60px;
    grid-template-rows: 30px 30px;
    grid-auto-flow: row;
}

當我們把項目放置在柵格中的時候,明確指定以下兩個項目的位置

.item-a{
    grid-column: 1;
    grid-row: 1 / 3;
}
.item-e{
    grid-column: 5;
    grid-row: 1 / 3;
}

因為我們設(shè)置了 grid-auto-flow 屬性為 row,呈現(xiàn)在我們眼前的柵格便是如下這個樣子。注意,這三個項目(item-b,item-citem-d)并沒有特意指定位置。

如果設(shè)置 grid-auto-flow 的屬性為 column,item-b,item-citem-d** 將按列以此排序。

.container{
    display: grid;
    grid-template-columns: 60px 60px 60px 60px 60px;
    grid-template-rows: 30px 30px;
    grid-auto-flow: column;
}

grid

以下屬性的縮寫:grid-template-rows, grid-template-columnsgrid-template-areas,grid-auto-rows,grid-auto-columns,與 [grid-auto-flow](#prop-grid-auto-flow)。它也可以設(shè)置 grid-column-gapgrid-row-gap為默認值,即使并沒有在 grid 中明確設(shè)置。

屬性值:

none 設(shè)置所有子屬性的值為初始值。

/ 僅僅設(shè)置這兩個屬性值,其它子屬性值為初始值。

[ [ / ] ] 如果 grid-auto-columns 屬性值確實,則采用 grid-auto-rows的值。如果屬性值均缺失,則采用默認值。

.container{
    grid: none |  /  |  [ [/ ]];
}

以下兩種寫法是等價的:

.container{
    grid: 200px auto / 1fr auto 1fr;
}
.container{
    grid-template-rows: 200px auto;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: none;
}

以下兩種寫法也是等價的:

.container{
    grid: column 1fr / auto;
}
.container{
    grid-auto-flow: column;
    grid-auto-rows: 1fr;
    grid-auto-columns: auto;
}

另外你可以設(shè)置更為復(fù)雜但相當方便的語法一次性設(shè)置所有屬性。你可以指定grid-template-areas, grid-auto-rowsgrid-auto-columns,其他子屬性將被設(shè)為默認值。你需要指定柵格線與軌跡大小,這很容易用一個例子表示:

.container{
    grid: [row1-start] "header header header" 1fr [row1-end]
          [row2-start] "footer footer footer" 25px [row2-end]
          / auto 50px auto;
}

與以下寫法是等價的:

.container{
    grid-template-areas: "header header header"
                         "footer footer footer";
    grid-template-rows: [row1-start] 1fr [row1-end row2-start] 25px [row2-end];
    grid-template-columns: auto 50px auto;    
}
柵格項目屬性 (Grid Items) grid-column-start
grid-column-end
grid-row-start
grid-row-end

通過指定柵格線來確定柵格項目的位置。grid-column-start / grid-row-start 代表項目開始的線,grid-column-end/grid-row-end 代表項目結(jié)束的線。

屬性值:

可以是一個表示柵格線名字或數(shù)字。

span 項目將橫跨指定數(shù)量柵格軌跡

span 項目將橫跨至指定名字的柵格線

auto 自動放置,自動跨越軌跡或者默認跨越軌跡

.item{
  grid-column-start:  |  | span  | span  | auto
  grid-column-end:  |  | span  | span  | auto
  grid-row-start:  |  | span  | span  | auto
  grid-row-end:  |  | span  | span  | auto
}

示例:

.item-a{
  grid-column-start: 2;
  grid-column-end: five;
  grid-row-start: row1-start
  grid-row-end: 3
}

.item-b{
  grid-column-start: 1;
  grid-column-end: span col4-start;
  grid-row-start: 2
  grid-row-end: span 2
}

如果沒有指定 grid-column-end/grid-row-end,項目默認橫跨一個軌跡。

項目可能會互相重疊,你可以使用 z-index 控制它們的層疊順序(stacking order)。

grid-column
grid-row

各自表示grid-column-start + grid-column-endgrid-row-start + grid-row-end的縮寫。

屬性值:

/ 接收 grid-column-start 同樣的屬性值,包括 span

.item{
  grid-column:  /  |  / span ;
  grid-row:  /  |  / span ;
}

Example:

.item-c{
  grid-column: 3 / span 2;
  grid-row: third-line / 4;
}

如果沒有指定 end line,項目將默認跨越一個軌跡。

grid-area

當創(chuàng)建柵格容器使用 grid-template-areas 屬性時,可以通過制定區(qū)域名字確定柵格項目的位置。同樣,它也可以作為以下屬性的縮寫:grid-row-start + grid-column-start + grid-row-end + grid-column-end

屬性值:

/ / /

.item{
  grid-area:  |  /  /  / ;
}

示例:

你可以給項目設(shè)置名字:

.item-d{
  grid-area: header
}

也可以作為grid-row-start + grid-column-start + grid-row-end + grid-column-end 的縮寫:

.item-d{
  grid-area: 1 / col4-start / last-line / 6
}

justify-self

使柵格項目中的內(nèi)容與 軸對齊(相應(yīng)地,align-self 軸對齊)。本屬性值適用于單個項目的內(nèi)容。

屬性值:

start 使內(nèi)容與柵格區(qū)域左側(cè)對齊

end 使內(nèi)容與柵格區(qū)域右側(cè)對齊

center 使內(nèi)容在柵格區(qū)域中居中

stretch 使內(nèi)容充滿整個柵格區(qū)域的寬(默認屬性)

.item{
  justify-self: start | end | center | stretch;
}

示例:

.item-a{
  justify-self: start;
}

.item-a{
  justify-self: end;
}

.item-a{
  justify-self: center;
}

.item-a{
  justify-self: stretch;
}

為了對柵格項目中的所有項目設(shè)置對齊,可以是指柵格容器的 justify-items 屬性。

align-self

使柵格項目中的內(nèi)容與 軸對齊(相應(yīng)地,justify-self軸對齊)。本屬性值適用于單個項目的內(nèi)容。

屬性值:

start 使內(nèi)容與柵格區(qū)域頂部對齊

end 使內(nèi)容與柵格區(qū)域底部對齊

center 使內(nèi)容在柵格區(qū)域中居中

stretch 使內(nèi)容充滿整個柵格區(qū)域的高(默認屬性)

.item{
  align-self: start | end | center | stretch;
}

示例:

.item-a{
  align-self: start;
}

.item-a{
  align-self: end;
}

.item-a{
  align-self: center;
}

.item-a{
  align-self: stretch;
}

為了對柵格項目中的所有項目設(shè)置對齊,可以設(shè)置柵格容器的 align-items 屬性。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/116460.html

相關(guān)文章

  • 面試寶典

    摘要:有談?wù)劽嬖嚺c面試題對于前端面試的一些看法。動態(tài)規(guī)劃算法的思想及實現(xiàn)方法幫大家理清動態(tài)規(guī)劃的解決思路以及原理方法前端經(jīng)典面試題從輸入到頁面加載發(fā)生了什么這是一篇開發(fā)的科普類文章,涉及到優(yōu)化等多個方面。極客學(xué)院前端練習(xí)題道練習(xí)題,面試季練練手。 由數(shù)據(jù)綁定和排序引入的幾個 JavaScript 知識點 在 JavaScript 的數(shù)據(jù)綁定和做簡單的表格排序中遇到的幾個知識點 [[JS 基礎(chǔ)...

    neu 評論0 收藏0
  • Flexbox完全指南

    摘要:本文譯自這里,針對本文介紹的屬性列個提綱伸縮容器屬性伸縮項目屬性以后再布局時可以考慮用啦背景布局模塊目前上一次工作草案的叫法旨在提供一種更高效的方式來布局排列及分配容器中項目的空間,即便容器大小是未知或動態(tài)變化的因此稱為。 本文譯自 A Complete Guide to Flexbox這里,針對本文介紹的屬性列個提綱: 伸縮容器屬性: display flex-direction...

    pekonchan 評論0 收藏0
  • CSS及布局

    摘要:經(jīng)過半年的打磨,正式發(fā)布,主要是新增了一些常用組件,并使用命名,為接下來的微信小程序開發(fā)做好準備。這兩種方式實現(xiàn)的瀑布流式布局均支持首屏和網(wǎng)頁窗口大小改變時的列數(shù)自適應(yīng)。主要是對于標準里的布局方式草案中的布局方式進行一些總結(jié)。 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個問題:怎樣通過 CSS 簡單而優(yōu)雅的實現(xiàn)水平、垂直同時居中。記得剛開始學(xué)習(xí) CSS 的時候,看...

    jaysun 評論0 收藏0
  • HTML-CSS-JS

    摘要:本周于上海閉幕,掘金和知乎上都有對應(yīng)的實錄和問答,但會議的視頻目前都還沒放出來,有心的同學(xué)如果找到了歡迎分享。建議中英文對照閱讀。英文原文前端獨立技術(shù)博客推薦推薦一些現(xiàn)在還在堅持原創(chuàng)的博主,有業(yè)界大牛,也有小鮮肉,也有國外美女。 CSS 樣式書寫規(guī)范最佳實踐 本文的所列是實踐當中得出的一套比較不錯的 CSS 書寫規(guī)范,可以結(jié)合自身團隊發(fā)展出一套適合自己業(yè)務(wù)的規(guī)范。 CSS中的字體與排版...

    mikasa 評論0 收藏0

發(fā)表評論

0條評論

Baoyuan

|高級講師

TA的文章

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