成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

采用20/80原則學(xué)習(xí)CSS Grid布局

開發(fā) 前端
本文不會(huì)覆蓋Grid 布局的所有細(xì)節(jié),而是面向那些想快速用起來并看到效果的你們。我將會(huì)向你介紹 Grid 技術(shù)的20%,學(xué)會(huì)了這些你就掌握了Grid 功力的80%了,開心不🤒。

介紹

本文不會(huì)覆蓋Grid 布局的所有細(xì)節(jié),而是面向那些想快速用起來并看到效果的你們。我將會(huì)向你介紹 Grid 技術(shù)的20%,學(xué)會(huì)了這些你就掌握了Grid 功力的80%了,開心不🤒。

為什么只有 20%?

    For a programmer, laziness is a virture from Larry Wall

譯:你懶你有理。在盡可能的情況下,一個(gè)程序員應(yīng)該尋求效率(懶惰的出路)。我們?nèi)粘W(xué)習(xí)也是這樣,有些時(shí)候可能已經(jīng)很努力但是就是沒有提高。大概就是我們把80%的精力放在的那沒有什么卵用的20%上了,說的好像是一步自己呢。

CSS 的 Grid 布局模塊挺復(fù)雜的,比 FlexBox 布局還要復(fù)雜(學(xué)習(xí) Flex 布局就很吃力了)。并不是因?yàn)?Grid 布局的理論困難,只是該模塊引入了18個(gè)新的屬性在傳統(tǒng)的 CSS 布局理念中是前所未聞的。

額~,那么咱們是否需要立即理解掌握所有新的屬性呢?NO,沒有必要,而且你也記不住,就算記住了一時(shí)你也記不住一世。

只需要學(xué)習(xí)一點(diǎn)點(diǎn)就可以實(shí)現(xiàn)你想要的效果,然后你可以繼續(xù)深入研究其他屬性。

CSS Grid 布局是什么?

如果你初學(xué) CSS,那么 Grid布局對(duì)你來說可能有一點(diǎn)怪異。那么你是否知道 Flexbox呢?

我喜歡把 Grid 布局看作是目前比較成熟的 Flexbox 布局的弟弟。

處理 CSS 布局通常是復(fù)雜繁瑣的。Flexbox的到來給網(wǎng)頁(yè)布局帶來了新希望,即將普及的 Grid 會(huì)給我們帶來更多。

目標(biāo)導(dǎo)向

學(xué)完原文你可以實(shí)現(xiàn)一個(gè)響應(yīng)式的音樂應(yīng)用的布局。

 

Part 1: 其中的10%(1/2)----基本術(shù)語

Grid 容器

在我們?cè)鴮?shí)現(xiàn)過、見過的任何應(yīng)用程序,從視覺呈現(xiàn)本質(zhì)上來看,都是在一定的邊界范圍內(nèi)將內(nèi)容塊進(jìn)行排列,安放。

 

簡(jiǎn)單來看,一個(gè)"網(wǎng)格"就是多條相交的線(水平和垂直的線)規(guī)劃出可以容納其他元素的位置空間。

如果你有使用過adobe、photoshop、sketch 這類軟件的話,那么你就可以很容易的理解。

在 CSS Grid 布局的語義中,Grid 容器是可以容納網(wǎng)格所有子項(xiàng)的一個(gè)載體(Grid 世界的爸爸)。

假設(shè)你有個(gè)布局需求,如圖:

 

布局是由一個(gè)網(wǎng)格容器和多個(gè)單元格組成。最外層且***的矩形作為整個(gè)布局的載體既網(wǎng)格容器;小一點(diǎn)的矩形為單元格。

 

網(wǎng)格線

圖中橫線和縱線,用來劃分網(wǎng)格容器。

網(wǎng)格單元

網(wǎng)格單元是網(wǎng)格布局中的最小單元,它是由4條相鄰的網(wǎng)格線圍成的。

 

網(wǎng)格區(qū)域

網(wǎng)格區(qū)域最小占據(jù)一個(gè)網(wǎng)格單元,***可以占領(lǐng)整個(gè)網(wǎng)格容器。

下圖中,四個(gè)網(wǎng)格單元所覆蓋的區(qū)域構(gòu)成一個(gè)網(wǎng)格區(qū)域。

 

網(wǎng)格軌道

我非常不喜歡學(xué)術(shù)定義。網(wǎng)格軌道可被視為是列或行的另一個(gè)花哨的別名。任何兩個(gè)網(wǎng)格線之間的空間。

 

綜上,我們已經(jīng)學(xué)習(xí)完目標(biāo)的一半了,希望你還有耐心讀下去。

Part 2: 后1/2部分

已經(jīng)了解了基本術(shù)語,讓我們玩起來吧

聲明一個(gè)網(wǎng)格

就像Flexbox,一切始于一行代碼。display: grid或者display: inline-grid。

舉例說明,讓 div標(biāo)簽作為網(wǎng)格容器:

 

  1. div {  
  2.   display: grid;  

聲明行和列

一個(gè)網(wǎng)格容器如果沒有行和列那還有什么意義? 創(chuàng)建網(wǎng)格容器的列和行,你要用到以下兩個(gè)新的css屬性grid-template-columns 和 grid-template-rows。

那么如何使用他們呢?很簡(jiǎn)單~

grid-template-columns用來聲明列們,grid-template-rows用來聲明行們。

你給屬性傳遞幾個(gè)值,那么相應(yīng)就會(huì)劃分幾行或幾列。例如:

 

  1. grid-template-columns: 100px 200px 300px 

上面的代碼就會(huì)將網(wǎng)格容器劃分為三列,列的寬度分別為100px、200px和300px

 

 

  1. grid-template-rows: 100px 200px 300px 

該代碼會(huì)將網(wǎng)格容器劃分為3行,行寬分別為100px 200px 300px

 

讓我們將兩行代碼同時(shí)作用于容器,那么我們就會(huì)得到一個(gè)三行三列的網(wǎng)格。

 

  1. grid-template-columns: 100px 200px 300px  
  2. grid-template-rows: 100px 200px 300px 

Part 3: 是時(shí)候?qū)扅c(diǎn)代碼了 

為了快速的實(shí)現(xiàn)一個(gè)音樂 App,我們會(huì)使用 CodePen進(jìn)行開發(fā)。

搭建html 結(jié)構(gòu)

至于為啥寫成這樣,請(qǐng)繼續(xù)讀下去。

 

  1. <body>  
  2.    <aside></aside>  
  3.    <main></main>  
  4.    <footer></footer>  
  5. </body> 

body 作為音樂容器

 

  1. body {  
  2.    display: grid;  
  3.    min-height: 100%  

上述代碼已經(jīng)使 body 變成了一個(gè)網(wǎng)格容器,繼續(xù)聲明行和列。

容器規(guī)劃

該如何規(guī)劃網(wǎng)格的行和列呢,讓我們回顧下音樂 APP 的長(zhǎng)相。

 

 

好,那么我們大概可以將布局劃分為兩行兩列。

 

就上面的圖進(jìn)行構(gòu)思,有幾點(diǎn)需要注意:

關(guān)于列:

  1. ***列必須固定寬度50px
  2. 第2列填滿剩余空間

關(guān)于行:

  1. 第2行固定高度100px
  2. ***行自動(dòng)填滿剩余高度

幸運(yùn)的是 Grid 布局提供了一個(gè)新的單位可以解決上述問題。fr分?jǐn)?shù)單位。該單位可以解決自動(dòng)分配剩余空間的問題。

如果你需要三個(gè)等寬的列,fr單位會(huì)自動(dòng)均勻地分配空間。

 

如果你的業(yè)務(wù)還想添加更多的元素,也不要恐慌,fr 單位會(huì)自動(dòng)完成。

 

更為巧妙的是,如果你有一個(gè)固定寬度的元素,你也可以很好的處理剩余空間。

 

  1. body {  
  2.    ...  
  3.    grid-template-rows: 1fr 100px;  
  4.    grid-template-columns: 50px 1fr; 

如果對(duì) fr 單位還有疑問的話,請(qǐng)閱讀the CSS Fractional Unit (Fr) In Approachable, plain Language.

使用網(wǎng)格區(qū)域來放置子元素

我們已經(jīng)聲明好了一個(gè)網(wǎng)格系統(tǒng),現(xiàn)在讓我們繼續(xù)實(shí)現(xiàn)它。本小節(jié)的目的學(xué)會(huì)使用網(wǎng)格區(qū)域來布局子元素。請(qǐng)回憶一下,網(wǎng)格區(qū)域是由4條網(wǎng)格線劃分出來的區(qū)域。

 

唉實(shí)在不想翻譯了,直接給出代碼并解釋吧。劃分區(qū)域要使用到另一個(gè)新的特性grid-template-areas。grid-template-areas提供了非常所見及所得的一種方式進(jìn)行劃分區(qū)域。

 

  1. body {  
  2.       ...  
  3.       grid-template-areas: "sidebar  content"  
  4.                            "footer   footer" 

上述代碼的意思是。。。。。

 

我們?cè)賮須w納一下所有的代碼:

容器

 

  1. body {  
  2.       display: grid;  
  3.       grid-template-columns: 40px 1fr;  
  4.       grid-template-rows: 1fr 90px;  
  5.       grid-template-areas: "sidebar  content"  
  6.                            "footer  footer" 

子元素

 

  1. .main {  
  2.   grid-area: content;  
  3.  
  4. .footer {  
  5.   grid-area: footer;  
  6.  
  7. .aside {  
  8.   grid-area: sidebar;  

code

知識(shí)點(diǎn)回顧

  1. 網(wǎng)格容器、網(wǎng)格單元、網(wǎng)格線、網(wǎng)格區(qū)域、網(wǎng)格軌道
  2. 容器屬性 display: grid、grid-template-columns、grid-template-rows、grid-template-areas
  3. 分?jǐn)?shù)單位 fr
  4. 容器屬性 grid-area 
責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2022-10-13 09:01:24

GridCSS二維布局

2020-03-26 10:43:57

CSS Grid Ge Grid代碼

2021-12-01 09:53:46

CSS 技巧代碼重構(gòu)

2022-10-08 00:02:00

CSS工具系統(tǒng)

2023-02-07 09:01:22

CSS

2024-04-09 10:10:23

GridCSS網(wǎng)格

2025-04-27 09:12:42

2017-10-10 15:52:17

前端FlexboxCSS Grid

2025-04-08 05:55:00

CSS布局Grid

2017-03-12 10:38:56

Chromewindows

2022-03-23 08:01:36

CSSGrid小游戲

2012-03-31 10:12:55

CSSWEB

2022-04-15 14:57:57

Flex布局鴻蒙操作系統(tǒng)

2010-09-09 13:54:06

DIV CSS

2009-05-11 14:58:06

帕累托資產(chǎn)管理摩卡軟件

2010-09-01 08:58:58

2010-09-13 10:31:29

CSS布局

2011-12-02 10:19:24

CSS

2010-09-02 13:53:58

CSS Sprites

2019-04-03 13:00:27

CSSBFC前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 免费看片在线播放 | 国产日韩欧美精品 | 最新国产精品 | 日本天天色| 国精日本亚洲欧州国产中文久久 | 国产一级免费视频 | 欧美一区日韩一区 | 午夜天堂精品久久久久 | 欧美日韩网站 | 亚洲国产欧美一区二区三区久久 | 国产精品欧美一区二区三区不卡 | 亚洲精品欧美一区二区三区 | 手机av在线 | 中文字幕在线第一页 | 亚洲成人日韩 | 日韩电影免费在线观看中文字幕 | 欧美性大战久久久久久久蜜臀 | 国产成人精品一区二区三区视频 | 国产一区不卡 | 久久99深爱久久99精品 | 狠狠干夜夜草 | 成人伊人 | 亚洲不卡av在线 | 国产96在线 | 国产午夜精品一区二区三区在线观看 | 日本一区二区高清视频 | a级免费观看视频 | 三级在线视频 | 欧美另类日韩 | 欧美在线视频二区 | 久久久免费 | 国产精品久久久久久久久久 | 国产专区在线 | 激情五月婷婷 | 精品天堂| 国产目拍亚洲精品99久久精品 | 成人看片在线观看 | 日本91av视频 | 日韩伦理一区二区 | 日韩中文字幕免费 | 91精品国产综合久久久久久漫画 |