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

資訊專欄INFORMATION COLUMN

創(chuàng)建自己的 CSS 網(wǎng)格系統(tǒng)【轉(zhuǎn)載 | 譯】

gecko23 / 869人閱讀

摘要:為了防止這種情況,給提供的最小高度并使它們浮動(dòng)。基本網(wǎng)格準(zhǔn)備好了一些額外的列內(nèi)容樣式使我們的網(wǎng)格系統(tǒng)響應(yīng)調(diào)整我們的網(wǎng)格以實(shí)現(xiàn)移動(dòng)布局非常簡(jiǎn)單。注意本指南只是創(chuàng)建自己響應(yīng)式網(wǎng)格系統(tǒng)的起點(diǎn)。

此文翻譯自 Creating Your Own CSS Grid System | Jan,英文不好如有錯(cuò)誤 ? ,請(qǐng)指正。

CSS 網(wǎng)格已經(jīng)存在很長(zhǎng)時(shí)間了。它們通常捆綁在 Bootstrap 等框架中。我不是一個(gè) Bootstrap 仇恨者,但如果你真正需要的只是一個(gè)網(wǎng)格,有時(shí)使用一個(gè)框架就“太過分”了。以下是如何從頭開始制作自己的 CSS 網(wǎng)格。

CSS 網(wǎng)格的元素

我們可以看到,基本網(wǎng)格只包含幾個(gè)元素:

Container(容器)

row(行)

Column(列)

Gutter(列之間的空間)

容器(Container)

容器的目的是設(shè)置整個(gè)網(wǎng)格的寬度。容器的寬度通常為 100%,但你可能希望設(shè)置一個(gè)最大寬度。

.grid-container {
    width: 100%;
    max-width: 1200px;
}
列之間的空間(gutter)

row 元素的目的是使其中的列不會(huì)溢出到其他行上。為此,我們將使用 clearfix hack 來確保行內(nèi)的所有內(nèi)容都保留在行內(nèi)。

/* 我們的 cleafix hack  */
.row: before,
.row: after {
    content: "";
    display: table;
    clear: both;
}
列(Column)

column 是網(wǎng)格中最復(fù)雜的部分。首先,有幾種不同的方法在 CSS 中定位 column,然后有各種寬度要考慮,以及響應(yīng)式設(shè)計(jì)等因素。在本教程中,我們將定義 column 并賦予它們寬度。

列定位(Column Positioning)

float, inline-block, display: table, display: flex。這些都是在 CSS 中定位 column 的不同方法。這些方法中最容易出錯(cuò)和最廣泛使用的是“浮動(dòng)”方法。如果我們的列是空的,那么我們的浮動(dòng)列將堆疊在一起。為了防止這種情況,給 column 提供 1px 的最小高度并使它們浮動(dòng)。

[class*="col-"] {
    float: left;
    min-height: 1px; 
}
列寬(Column Widths)

要查找一列的寬度,我們所要做的就是將總列數(shù)除以容器的寬度。在我們的例子中,容器的寬度是 100%,我們想要6 列,所以 100/6 = 16.66,所以我們的基本列寬度是 16.66%。

[class*="col-"] {
    float: left;
    min-height: 1px; 
    width: 16.66%; 
}

這當(dāng)然只是一個(gè)開始。如果我們想要一個(gè) 2 列寬的部分,我們必須創(chuàng)建一個(gè) 2 列寬的 column。計(jì)算非常簡(jiǎn)單。

我們?cè)谑褂眠@些列組合時(shí)唯一考慮的是,一行中的總列數(shù)最多為 6(或者總列數(shù)是多少)。

響應(yīng)式系統(tǒng)中內(nèi)邊距問題

在 W3C 標(biāo)準(zhǔn)盒模型條件下,在響應(yīng)式系統(tǒng)中給寬度單位為百分比的元素設(shè)置內(nèi)邊距很麻煩。幸運(yùn)的是,使用 border-box 模型,我們可以輕松設(shè)置內(nèi)邊距。

 /* 在網(wǎng)格內(nèi)的所有元素上改變盒模型 */
.grid-container *{
  box-sizing: border-box; 
}

[class*="col-"] {
  float: left;
  min-height: 1px; 
  width: 16.66%; 
  /* 設(shè)置內(nèi)邊距 */
  padding: 12px;
}

使用 * {box-sizing: border-box;} 在 CSS 中改變所有元素的盒模型。

基本網(wǎng)格準(zhǔn)備好了

col-1

col-1

col-1

col-1

col-1

col-1

col-2

col-2

col-2

col-3

col-3

CSS
.grid-container{
  width: 100%;
  max-width: 1200px;
}

/* cleafix hack */
.row:before,
.row:after {
  content:"";
  display: table ;
  clear:both;
}

[class*="col-"] {
  float: left;
  min-height: 1px;
  width: 16.66%;
  padding: 12px;
  background-color: #FFDCDC;
}

.col-1{ width: 16.66%; }
.col-2{ width: 33.33%; }
.col-3{ width: 50%;    }
.col-4{ width: 66.66%; }
.col-5{ width: 83.33%; }
.col-6{ width: 100%;   }

.outline, 
.outline *{
  outline: 1px solid #F6A1A1;
}

/* 一些額外的列內(nèi)容樣式 */
[class*="col-"] > p {
  background-color: #FFC2C2;
  padding: 0;
  margin: 0;
  text-align: center;
  color: white;
}
HTML

col-1

col-1

col-1

col-1

col-1

col-1

col-2

col-2

col-2

col-3

col-3

使我們的網(wǎng)格系統(tǒng)響應(yīng)

調(diào)整我們的網(wǎng)格以實(shí)現(xiàn)移動(dòng)布局非常簡(jiǎn)單。我們所要做的就是調(diào)整列的寬度。為了簡(jiǎn)單起見,我將為 800px 以下的屏幕加倍列寬。唯一需要注意的是一些例外,例如:大于 col-3 的列在視口小于 800px 時(shí)鋪滿。

@media all and (max-width:800px){
    .col-1{ width: 33.33%;  }
    .col-2{ width: 50%;     }
    .col-3{ width: 83.33%;  }
    .col-4{ width: 100%;    }
    .col-5{ width: 100%;    }
    .col-6{ width: 100%;    }

    .row .col-2:last-of-type{
        width: 100%;
    }

    .row .col-5 ~ .col-1{
        width: 100%;
    }
}

對(duì)于小于 650px 的屏幕。

@media all and (max-width:650px){
    .col-1{ width: 50%;     }
    .col-2{ width: 100%;    }
    .col-3{ width: 100%;    }
    .col-4{ width: 100%;    }
    .col-5{ width: 100%;    }
    .col-6{ width: 100%;    }
}

我們現(xiàn)在創(chuàng)建了自己的響應(yīng)式網(wǎng)格系統(tǒng),而不使用框架。

col-1

col-1

col-1

col-1

col-1

col-1

col-2

col-2

col-2

col-3

col-3

col-4

col-2

col-5

col-1

col-6

注意:本指南只是創(chuàng)建自己響應(yīng)式網(wǎng)格系統(tǒng)的起點(diǎn)。它不是一個(gè)框架,甚至不是一個(gè)完整的解決方案,我希望它能夠揭開 CSS 網(wǎng)格的神秘面紗。

參考

【1】Creating Your Own CSS Grid System | Jan

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/117304.html

相關(guān)文章

  • FED之必備技能

    摘要:在我們深入研究這項(xiàng)新鮮的技術(shù)之前,讓我們先快速的復(fù)習(xí)原理的相關(guān)知識(shí)。同時(shí),希望本文能對(duì)大家有所幫助。工欲善其事,必先利其器。 flex.css快速入門,極速布局 什么是flex.css? css3 flex 布局相信很多人已經(jīng)聽說過甚至已經(jīng)在開發(fā)中使用過它,但是我想我們都會(huì)有一個(gè)共同的經(jīng)歷,面對(duì)它的各種版本,各種坑,傻傻的分不清楚,flex.css就是對(duì)flex布局的一種封裝,通過簡(jiǎn)潔...

    Zachary 評(píng)論0 收藏0
  • FED之必備技能

    摘要:在我們深入研究這項(xiàng)新鮮的技術(shù)之前,讓我們先快速的復(fù)習(xí)原理的相關(guān)知識(shí)。同時(shí),希望本文能對(duì)大家有所幫助。工欲善其事,必先利其器。 flex.css快速入門,極速布局 什么是flex.css? css3 flex 布局相信很多人已經(jīng)聽說過甚至已經(jīng)在開發(fā)中使用過它,但是我想我們都會(huì)有一個(gè)共同的經(jīng)歷,面對(duì)它的各種版本,各種坑,傻傻的分不清楚,flex.css就是對(duì)flex布局的一種封裝,通過簡(jiǎn)潔...

    williamwen1986 評(píng)論0 收藏0
  • 】漸進(jìn)增強(qiáng)鍵盤導(dǎo)航

    摘要:鍵盤訪問的升級(jí)提供快捷方式不過,在訪問網(wǎng)格時(shí),通過鍵盤進(jìn)行兩個(gè)方向的移動(dòng)會(huì)不會(huì)更好呢使用一點(diǎn)做漸進(jìn)增強(qiáng),我們做到了,可以使用鼠標(biāo)或方向鍵訪問網(wǎng)格。在本例總共,查找表名字是。 厚著臉做推廣,個(gè)人網(wǎng)站 http://www.wemlion.com/。 本文轉(zhuǎn)載自:眾成翻譯譯者:文藺鏈接:http://www.zcfy.cc/article/1179原文:https://www.christ...

    Juven 評(píng)論0 收藏0
  • 】編寫更好CSS必備40個(gè)工具

    摘要:一個(gè)叫的人用純重繪并模擬了種不同的移動(dòng)設(shè)備包括可以給你的網(wǎng)站添加不相關(guān)的獨(dú)立組件的一個(gè)庫(kù)。每一個(gè)組件都是針對(duì)移動(dòng)設(shè)備定制的,并且它有很多你在傳統(tǒng)的框架中看不到的功能。如果你用開發(fā)移動(dòng)優(yōu)先的網(wǎng)站,并想要網(wǎng)站正常運(yùn)行在低版本的上,可以考慮。 眾所周知,CSS是非常棒的,它使網(wǎng)站看起來很漂亮,可以為網(wǎng)站添加動(dòng)畫,并讓呈現(xiàn)和內(nèi)容分離。去了解CSS的一切是非常難做到的,它只會(huì)變得更加困難,因?yàn)槲?..

    moven_j 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<