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

資訊專欄INFORMATION COLUMN

CSS Grid布局,實現響應式設計

pakolagij / 3329人閱讀

摘要:效果如圖響應式布局例子實現如圖效果結構布局使用屬性創建一個列的網格,每個列都是一個單位寬度總寬度的。嘗試其它布局把移到右邊實現后的效果使用點來創建空白的網格單元格實現效果真正的響應式布局假設你想在移動設備上查看的是標題旁邊是菜單。

columns(列) 和 rows(行)

為了使其成為二維的網格容器,我們需要定義列和行。讓我們創建3列和2行。我們將使用grid-template-rowgrid-template-column屬性。

.wrapper {
    display: grid;
    grid-template-columns: 100px 100px 100px;
    grid-template-rows: 50px 50px;
}

grid-template-columns的3個值表示三列,相應的數值表示列寬即都為100px。
grid-template-rows的2個值表示兩行,相應的數值表示行高即都為50px

可以變化一下行高跟列寬的值看下效果,代碼:

.wrapper {
    display: grid;
    grid-template-columns: 200px 50px 100px;
    grid-template-rows: 100px 30px;
}

放置 items(子元素)

我們使用與之前相同的 HTML 標記,為了幫助我們更好的理解,我們在每個 items(子元素) 加上了多帶帶的 class :

class="wrapper">
class="item1">1
class="item2">2
class="item3">3
class="item4">4
class="item5">5
class="item6">6

創建一個 3×3 的 grid(網格):

.wrapper {
    display: grid;
    grid-template-columns: 100px 100px 100px;
    grid-template-rows: 100px 100px 100px;
}


在頁面上看到 3×2 的 grid(網格),而我們定義的是 3×3 的 grid(網格)。這是因為我們只有 6 個 items(子元素) 來填滿這個網格。如果我們再加3個 items(子元素),那么最后一行也會被填滿。

定位和調整(item)子元素大小

定位和調整 items(子元素) 大小,我們將使用?grid-column?和?grid-row?屬性來設置:



.item1 {
    grid-column-start: 1;
    grid-column-end: 4;
}

當然可以有簡寫方式:



.item1 {
    grid-column: 1 / 4;
}

上面代碼意思就是: item1 占據從第一條網格線開始,到第四條網格線結束。顯示效果如下:



如果你不明白我們設置的只有 3 列,為什么有4條網格線呢?看看下面這個圖像,黑色的列網格線你就明白了:



如果上面的看懂了,來個復雜點的鞏固下。



.item1 {
    grid-column-start: 1;
    grid-column-end: 3;
}
.item3 {
    grid-row-start: 2;
    grid-row-end: 4;
}
.item4 {
    grid-column-start: 2;
    grid-column-end: 4;
}

效果如圖:


響應式布局例子

實現如圖效果:

結構布局

<style>
.container {
    display: grid;    
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 50px 350px 50px;
    grid-gap: 5px;
}
style>
<div class="container">
  <div class="header">HEADERdiv>
  <div class="menu">MENUdiv>
  <div class="content">CONTENTdiv>
  <div class="footer">FOOTERdiv>
div>

使用?grid-template-columns?屬性創建一個 12 列的網格,每個列都是一個單位寬度(總寬度的 1/12 )。(愚人碼頭注:其中,?repeat(12, 1fr)?意思是 12 個重復的 1fr 值。?fr?是網格容器剩余空間的等分單位。)

使用?grid-template-rows?屬性創建 3 行,第一行高度是 50px ,第二行高度是 350px 和第三行高度是 50px。

使用?grid-gap?屬性在網格中的網格項之間添加一個間隙

添加 grid-template-areas

這個屬性被稱為網格區域,也叫模板區域,能夠讓我們輕松地進行布局實驗。

要將它添加到網格中,我們只需給網格容器加一個?grid-template-areas?屬性即可。 語法可能有點奇怪,因為它不像其他的 CSS 語法。例如:

.container {
    display: grid;
    grid-gap: 5px;    
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 50px 350px 50px;
    grid-template-areas:
        "h h h h h h h h h h h h"
        "m m c c c c c c c c c c"
        "f f f f f f f f f f f f";
}

上面代碼創建3行12列,上面grid-template-areas屬性中的值,每行代表一行,用網格術語來說是 網格軌道(Grid Track) ,每個字符(?h,m,c,f)代表一個網格單元格。愚人碼頭注:其實是 網格區域(Grid Area) 名稱,你可以使用任意名稱

你可能已經猜到,我選擇了字符 h,m,c,f,是因為他們是 header, menu, content 和 footer 的首字母。 當然,我可以把它們叫做任何想要的名稱,但是使用他們所描述的東西的第一個字符更加容易讓人理解。

給網格項設定網格區域名稱

現在我們需要將這些字符與網格中的網格項建立對應的連接。 要做到這一點,我們將在網格項使用?grid-area?屬性:

.header {
    grid-area: h;
}
.menu {
    grid-area: m;
}
.content {
    grid-area: c;
}
.footer {
   grid-area: f;
}

這樣就實現了上面的布局效果。

嘗試其它布局

1.把 menu 移到右邊

grid-template-areas:
        “h h h h h h h h h h h h”
        "c c c c c c c c c c m m”
        “f f f f f f f f f f f f”;

實現后的效果:

2.使用點?.?來創建空白的網格單元格

grid-template-areas:
        “. h h h h h h h h h h .”
        "c c c c c c c c c c m m”
        “. f f f f f f f f f f .”;

實現效果:

3.真正的響應式布局
假設你想在移動設備上查看的是:標題旁邊是菜單。那么你可以簡單地這樣做:

@media screen and (max-width: 640px) {
    .container {
        grid-template-areas:
            "m m m m m m h h h h h h"
            "c c c c c c c c c c c c"
            "f f f f f f f f f f f f";
    }
}

可以看到如下效果:

?

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

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

相關文章

  • CSS Grid響應網頁布局 - W3Schools視頻03

    摘要:繼續響應式網頁布局的實現,今日講的是方案。就是為二維布局設計的,最適合用來做網頁布局。其中是最小寬度單位,等于六個等于三個等于兩個而則等于五個。 繼續W3Schools響應式網頁布局的實現,今日講的是CSS Grid方案。CSS Grid就是為二維布局設計的,最適合用來做網頁布局。目前主流的瀏覽器都已經支持CSS Grid,除非你很確定你的用戶常使用較舊的瀏覽器,不然的話,建議使用CS...

    piapia 評論0 收藏0
  • CSS Grid響應網頁布局 - W3Schools視頻03

    摘要:繼續響應式網頁布局的實現,今日講的是方案。就是為二維布局設計的,最適合用來做網頁布局。其中是最小寬度單位,等于六個等于三個等于兩個而則等于五個。 繼續W3Schools響應式網頁布局的實現,今日講的是CSS Grid方案。CSS Grid就是為二維布局設計的,最適合用來做網頁布局。目前主流的瀏覽器都已經支持CSS Grid,除非你很確定你的用戶常使用較舊的瀏覽器,不然的話,建議使用CS...

    leejan97 評論0 收藏0
  • CSS基礎篇--快速使用CSS Grid布局實現響應設計

    摘要:的個值表示三列,相應的數值表示列寬即都為。嘗試其它布局把移到右邊實現后的效果使用點來創建空白的網格單元格實現效果真正的響應式布局假設你想在移動設備上查看的是標題旁邊是菜單。 常用Grid布局屬性介紹 下面從一個簡單Grid布局例子說起。 CSS Grid 布局由兩個核心組成部分是 wrapper(父元素)和 items(子元素)。 wrapper 是實際的 grid(網格),items...

    cjie 評論0 收藏0
  • HTML-CSS

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

    xiaokai 評論0 收藏0

發表評論

0條評論

pakolagij

|高級講師

TA的文章

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