首頁  >  文章  >  web前端  >  網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

不言
不言原創
2018-11-29 14:41:462799瀏覽

在網格佈局(Grid Layout)中,你可以將網格的寬度指定為顯示區域或整個頁面的寬度的比例,但如果將網格的寬度指定為比例,則需要使用fr為單位,下面我們來看具體的內容。

網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

我們話不多說,直接來看具體的例子

#程式碼如下:

##寫以下HTML檔案

SimpleGridFr.css


.Container {
    display: grid;    
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;    
    grid-template-rows: 120px 120px;    
    border: solid #ff6a00 1px;
    }
.GridItem1 {
    grid-column: 1 / 2;    
    grid-row: 1 / 2;    
    background-color: #ff9c9c;
    }
.GridItem2 {
    grid-column: 2 / 3;    
    grid-row: 1 / 2;    
    background-color: #ffcb70;
    }
.GridItem3 {
    grid-column: 3 / 4;    
    grid-row: 1 / 2;    
    background-color: #fffd70;
    }
.GridItem4 {
    grid-column: 4 / 5;    
    grid-row: 1 / 2;    
    background-color: #b0ff70;
    }
.GridItem5 {
    grid-column: 5 / 6;    
    grid-row: 1 / 2;    
    background-color: #7ee68d;
    }
.GridItem6 {
    grid-column: 1 / 2;    
    grid-row: 2 / 3;    
    background-color: #7ee6e2;
    }
.GridItem7 {
    grid-column: 2 / 3;    
    grid-row: 2 / 3;    
    background-color: #95a7f5
    }
.GridItem8 {
    grid-column: 3 / 4;    
    grid-row: 2 / 3;    
    background-color: #d095f5;
    }
.GridItem9 {
    grid-column: 4 / 5;    
    grid-row: 2 / 3;    
    background-color: #f5aee4;
    }
.GridItem10 {
    grid-column: 5 / 6;    
    grid-row: 2 / 3;    
    background-color: #edc3a4;
    }

SimpleGridFr.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<link rel="stylesheet" href="SimpleGridFr.css"/>
</head>
<body>
    <div class="Container">
      <div class="GridItem1">項目1</div>
      <div class="GridItem2">項目2</div>
      <div class="GridItem3">項目3</div>
      <div class="GridItem4">項目4</div>
      <div class="GridItem5">項目5</div>
      <div class="GridItem6">項目6</div>
      <div class="GridItem7">項目7</div>
      <div class="GridItem8">項目8</div>
      <div class="GridItem9">項目9</div>
      <div class="GridItem10">項目10</div>
    </div>
  </body>
</html>

說明:

在此範例中,Container類別的CSS描述如下所示。我們將網格列(水平方向)設為5列,將行(垂直方向)設為2行。

grid-template-columns的值設定為1fr,並且透過該設置,網格的寬度按比率顯示。在該範例中,由於存在五個1fr的設置,因此1fr的寬度顯示為顯示區域(整個頁面)的寬度的1/5。

.Container {
    display: grid;    
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;    
    grid-template-rows: 120px 120px;    
    border: solid #ff6a00 1px;
    }

將HTML頁面的「GridItem 1」〜「Griditem 10」的div框指派給網格的每個儲存格。

顯示結果

執行上面的HTML頁面。將顯示如下所示的效果。五個網格的寬度以相等的間隔顯示。

網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

縮小視窗寬度就減少了每個網格的單元框架的寬度。

網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

再縮小窗口,每個網格的單元框架的寬度仍然繼續縮小

網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

最後,我們來更改以下程式碼中的一些值看看會發生什麼情況

確認在grid-tempat-COumns屬性中指定了1 fr以外的值時,將Continer類別的設定更改為以下內容。

在下面的描述中,第一列,第三列,第五列為1 fr,第二列為3fr,第四列為2fr。因為整體的總和是8 fr,所以1、3、5列的儲存格的寬度是顯示區域(視窗寬度)的8分之一的寬度。同樣的第二列是8分之3的寬度,第四列是4分之一(8分之2)的寬度。

.Container {
    display: grid;    
    grid-template-columns: 1fr 3fr 1fr 2fr 1fr;    
    grid-template-rows: 120px 120px;    
    border: solid #ff6a00 1px;
    }

顯示已變更的HTML頁面。將顯示如下所示的效果。

網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

縮小視窗寬度。隨著視窗的寬度的縮小網格的寬度也會縮小。寬度減小,同時保持網格單元寬度比。

網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度

以上是網格佈局中以區域和頁面整體的寬度的比率指定網格的寬度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn