搜尋
首頁web前端css教學談談css中的柵格佈局(圖文)

談談css中的柵格佈局(圖文)

Jan 13, 2021 pm 06:53 PM
css柵格佈局

談談css中的柵格佈局(圖文)

(學習影片分享:css影片教學

#網格佈局能將網頁分成簡單屬性的行和列,CSS頁面佈局科技讓我們可以拾取網頁中的元素,並且控制它們相對正常佈局流、週邊元素、父容器或主視窗/視窗的位置。

聖杯佈局

聖杯佈局是一種三列佈局,兩邊定寬,中間自適應:

css:

* {
        box-sizing: border-box;
    }
    html, body{
        width: 100%;
        height: 100%;
        margin: 0;
    }
    .container{
        width:100%;
    }
    .container:after{
        display: table;
        content:".";
        clear:both;
    }
    
    .container .cl{
        float:left;
        border: 1px solid red;
        height: 200px;
    }
    
    .main{
        width:100%;
        padding 0 290px 0 320px;
        background-color: blue;
    }
    .sub{
        width: 320px;
        margin-left:-100%;
        background-color: white;
    }
    .extra{
        width: 290px;
        margin-left:-290px;
        background-color: yellow;
    }

CSS

HTML:

<body>
<div class="container">
    <div class="cl main">
    </div>
    <div class="cl sub"></div>
    <div class="cl extra"></div>
</div>
</body>

談談css中的柵格佈局(圖文)

聖杯佈局的原理就是當子元素處於浮動狀態時,設定負margin,子元素會疊蓋到兄弟元素之上。  

那麼能否用現在想要將其中藍色區域再次劃分成三個區域,相信有很多種辦法。但能否透過嵌套的方式實現呢?我們可以試試看:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="window-target" content="_top">
<title>Writing to Same Doc</title>
<style type="text/css">
    * {
        box-sizing: border-box;
    }
    html, body{
        width: 100%;
        height: 100%;
        margin: 0;
    }
    .container{
        width:100%;
    }
    .container:after{
        display: table;
        content:".";
        clear:both;
    }
    
    .container .cl{
        float:left;
        border: 1px solid red;
        height: 200px;
    }
    
    .main{
        width:100%;
        padding: 0 290px 0 320px;
        background-color: blue;
    }
    .sub{
        width: 320px;
        margin-left:-100%;
        background-color: white;
    }
    .extra{
        width: 290px;
        margin-left:-290px;
        background-color: yellow;
    }
</style>
</head>
<body>
<div class="container">
    <div class="cl main">
        <div class="container">
            <div class="cl main"></div>
            <div class="cl sub"></div>
            <div class="cl extra"></div>
        </div>
    </div>
    <div class="cl sub"></div>
    <div class="cl extra"></div>
</div>

</body>
</html>

談談css中的柵格佈局(圖文)

柵格系統的原理

談談css中的柵格佈局(圖文)

##假設:Flowline的寬度為W,column的寬度為c,Gutter的寬度為g,Margin的寬度為m,柵格列數為N

W = c*N g*(N-1) 2m;g的寬度通常是m的兩倍,所以:

W = (c g) * N;把c g記為C,得:

W = C * N;

大部分的柵格系統都是此公式的變體。

Bootstrap的柵格系統

下面我們將一起來看常見的柵格佈局的設計和bootstrap中的設計實作。 BootStrap中合理的使用柵格佈局,必須將列放入row中,row必須放入container中。 container類別在佈局中主要有兩個作用:

  1. 在不同的寬度區間內(響應式斷點)提供寬度限制。當寬度變化時,採用不同的寬度。

  2. 提供padding,阻止內部內容碰到瀏覽器邊界。

Bootstrap中使用padding代替上文中的margin。大小為15px,如下圖所示,粉紅色為padding大小。

談談css中的柵格佈局(圖文)

Row是column的容器,每個row中的column總和必須是12,不過我們可以透過巢狀的方式來擴充。 Row的左右margin都為-15px,用來抵消container中的padding,如下圖藍色部分所示:

談談css中的柵格佈局(圖文)

row的這種設計主要為了方便嵌套,後文會提到。

Colomn是柵格系統的主角,每個column左右padding都為15px,上文中row的負margin抵消了container的padding,所以為每個column設定padding就是為了防止內容直接觸碰邊界,同時不同的column之間擁有30px的卡槽(Gutter)。如下圖黃色部分所示:

談談css中的柵格佈局(圖文)

現在想想上文中提到的公式:W = C * N;

上文提到row的負margin設計主要為了嵌套,如果要在column中嵌套column首先要把被嵌套的column放到row中,把row放到作為容器的column中,而不需要在放置一個container。如下圖藍色所示,是放入column中的row的負margin區域。

談談css中的柵格佈局(圖文)

現在將被嵌套的column放入row中,如下圖所示,上層column就是起到了container的作用。

談談css中的柵格佈局(圖文)

更多程式相關知識,請造訪:

程式設計學習! !

以上是談談css中的柵格佈局(圖文)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:博客园。如有侵權,請聯絡admin@php.cn刪除
這麼多顏色鏈接這麼多顏色鏈接Apr 13, 2025 am 11:36 AM

最近有一系列有關顏色的工具,文章和資源。請允許我通過將它們四捨五之後關閉幾個標籤,以供您享受。

自動利潤在Flexbox中的工作方式自動利潤在Flexbox中的工作方式Apr 13, 2025 am 11:35 AM

羅賓以前已經介紹過這一點,但是我在過去的幾周里聽到了一些關於它的困惑,看到另一個人在解釋它,我想

移動彩虹移動彩虹Apr 13, 2025 am 11:27 AM

我絕對喜歡三明治網站的設計。在許多美麗的功能中,這些標題是滾動時帶有彩虹的下線。它不是

新年,新工作?讓我們做一個網格驅動的簡歷!新年,新工作?讓我們做一個網格驅動的簡歷!Apr 13, 2025 am 11:26 AM

許多流行的簡歷設計通過以網格形狀鋪設部分來充分利用可用的頁面空間。讓我們使用CSS網格創建一個佈局

將用戶擺脫過多習慣的一種方法將用戶擺脫過多習慣的一種方法Apr 13, 2025 am 11:25 AM

頁面重新加載是一回事。有時,當我們認為它沒有響應或認為新內容可用時,我們會刷新頁面。有時我們只是生氣

域驅動的設計與React域驅動的設計與ReactApr 13, 2025 am 11:22 AM

關於如何在React世界中組織前端應用的指導很少。 (只需移動文件,直到“感覺正確”,大聲笑)。真相

檢測非活動用戶檢測非活動用戶Apr 13, 2025 am 11:08 AM

大多數情況下,您並不真正在乎用戶是否積極參與或暫時非活動。不活躍,意思,也許他們

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能