国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
CSS Grid 布局與其他 CSS 布局方法有何不同?
如何開始使用 CSS Grid 布局?
我可以將 CSS Grid 布局與其他 CSS 布局方法一起使用嗎?
如何使用 CSS Grid 布局創(chuàng)建網(wǎng)格?
如何將項目放置在網(wǎng)格上?
什么是網(wǎng)格線和網(wǎng)格軌道?
CSS Grid 布局中的 fr 單位是什么?
如何使網(wǎng)格具有響應(yīng)性?
我可以在網(wǎng)格中嵌套網(wǎng)格嗎?
所有瀏覽器都支持 CSS Grid 布局嗎?
首頁 web前端 css教程 引入CSS網(wǎng)格布局

引入CSS網(wǎng)格布局

Feb 21, 2025 am 09:35 AM

CSS Grid 布局:構(gòu)建強大且靈活的網(wǎng)站布局

核心要點

  • CSS Grid 布局提供了一種更強大、更靈活的方式來創(chuàng)建復(fù)雜的網(wǎng)站布局,無需使用諸如 inlinefloat 之類的屬性或單獨的網(wǎng)格系統(tǒng)樣式表。
  • 目前,只有 IE 10 和 Edge 支持 CSS Grid 布局,但可以通過 Chrome 和 Firefox 中的特定標(biāo)志或使用 polyfill 來啟用它。
  • CSS Grid 布局使用稱為 “fr” 的度量單位、線條、軌道、單元格和區(qū)域來定義網(wǎng)頁上元素的布局。
  • CSS Grid 布局允許完全分離標(biāo)記和布局,使 CSS 更易于維護,并為設(shè)計提供了無限的可能性。

Introducing the CSS Grid Layout

圖片來自 SitePoint/Natalia Balska。

在創(chuàng)建復(fù)雜的網(wǎng)站時,網(wǎng)格至關(guān)重要?,F(xiàn)代網(wǎng)頁設(shè)計中網(wǎng)格的重要性從眾多實現(xiàn)網(wǎng)格系統(tǒng)以加快開發(fā)速度的框架數(shù)量中可見一斑。

隨著 CSS Grid 布局規(guī)范的引入,您無需再包含單獨的樣式表即可使用網(wǎng)格系統(tǒng)。另一個優(yōu)點是,您無需再依賴 inlinefloat 等屬性來布置網(wǎng)頁上的元素。在本教程中,我們將介紹網(wǎng)格系統(tǒng)的基礎(chǔ)知識,并創(chuàng)建一個基本的博客布局。

瀏覽器支持

目前,只有 IE 10 和 Edge 支持 Grid 布局——您還不能在商業(yè)網(wǎng)站上使用它。

它可以通過 chrome://flags 中的 “實驗性 Web 平臺功能” 標(biāo)志在 Chrome 中啟用。您可以使用 layout.css.grid.enabled 標(biāo)志在 Firefox 中啟用它。

另一種選擇是使用 polyfill。確實存在 CSS Grid Polyfill!使用上述各種選項,您可以在 Grid 布局仍處于起步階段時開始試驗并盡可能多地了解它。

注意:Internet Explorer 目前已實現(xiàn)舊版本的規(guī)范。不幸的是,這意味著它與最新規(guī)范并不完全兼容。在學(xué)習(xí)本教程中的示例時,建議您使用啟用了相應(yīng)標(biāo)志的 Chrome 或 Firefox。

網(wǎng)格系統(tǒng)術(shù)語

在布置元素方面,CSS 網(wǎng)格系統(tǒng)類似于表格。但是,它更加強大和靈活。在本節(jié)中,我將討論一些在使用網(wǎng)格時需要注意的術(shù)語:

fr 單位:此單位用于指定可用空間的一部分。它旨在與 grid-rowsgrid-columns 一起使用。根據(jù)規(guī)范——

分配分數(shù)空間發(fā)生在所有“長度”或基于內(nèi)容的行和列大小達到其最大值之后。

線條:線條定義其他元素的邊界。它們垂直和水平運行。在下圖中,有四條垂直線和四條水平線。

軌道:軌道是平行線之間的空間。在下圖中,有三條垂直軌道和三條水平軌道。

單元格:單元格是網(wǎng)格的基本構(gòu)建塊。在下圖中,共有九個單元格。

區(qū)域:區(qū)域是一個矩形形狀,具有任意數(shù)量的單元格。因此,軌道 是一個 區(qū)域單元格 也是一個 區(qū)域。

Introducing the CSS Grid Layout

在網(wǎng)格中定位元素

讓我們從基礎(chǔ)開始。在本節(jié)中,我將教您如何使用網(wǎng)格將元素定位到特定位置。要使用 CSS Grid 布局,您需要一個父元素和一個或多個子元素。為了演示,我們將使用以下標(biāo)記作為我們的網(wǎng)格系統(tǒng):

<div class="grid-container">
  <div class="grid-element item-a">A</div>
  <div class="grid-element item-b">B</div>
  <div class="grid-element item-c">C</div>
  <div class="grid-element item-d">D</div>
  <div class="grid-element item-e">E</div>
  <div class="grid-element item-f">F</div>
</div>

完成標(biāo)記后,您需要在父元素上應(yīng)用 display: griddisplay: inline-grid 以及其他樣式,如下所示:

.grid-container {
  display: grid;
  grid-template-columns: 200px 10px 0.3fr 10px 0.7fr;
  grid-template-rows: auto 20px auto;
}

grid-template-columnsgrid-template-rows 屬性用于指定各種行和列的寬度。在上面的示例中,我定義了五列。10px 列充當(dāng)槽,用于在元素之間提供所需的間距。第一列寬度為 200px。第三列占據(jù)剩余空間的 0.3 部分。類似地,第五列占據(jù)剩余空間的 0.7 部分。

對于 grid-template-rows 中的第一行使用 auto 允許該行根據(jù)其內(nèi)部的內(nèi)容進行擴展。20px 行充當(dāng)槽。

此時,元素緊密地排列在一起,如下面的演示所示。(此處省略CodePen演示鏈接)

觀察到元素 B 位于我們計劃用作槽的第二列中。如果您沒有指定網(wǎng)格內(nèi)子元素的位置,瀏覽器會將一個元素放在每個單元格中,直到第一行完全填充,其余元素然后進入下一行。這就是我們在第二行剩下四個備用列的原因。

要將元素移動到網(wǎng)格中的特定單元格,您需要在 CSS 中指定它們的位置。在解釋如何使用網(wǎng)格系統(tǒng)移動元素之前,請查看下圖。(此處省略圖片鏈接)

在本例中,我們將使用“基于線條的放置”。基于線條的放置意味著我們的網(wǎng)格系統(tǒng)中的線條將充當(dāng)放置和限制元素的指南。讓我們以元素 B 為例。在水平方向上,它從第 3 列線開始,到第 4 列線結(jié)束。在垂直軸上,它位于第 1 行線和第 2 行線之間。

我們使用 grid-column-start 來指定元素的起始垂直線。在這種情況下,它將設(shè)置為 3。grid-column-end 指示元素的結(jié)束垂直線。在這種情況下,此屬性將等于 4。相應(yīng)的行值也將類似地設(shè)置。

考慮到以上所有內(nèi)容,要將元素 B 移動到第二個單元格,您將使用以下 CSS:

<div class="grid-container">
  <div class="grid-element item-a">A</div>
  <div class="grid-element item-b">B</div>
  <div class="grid-element item-c">C</div>
  <div class="grid-element item-d">D</div>
  <div class="grid-element item-e">E</div>
  <div class="grid-element item-f">F</div>
</div>

類似地,要將元素 F 移動到第六個單元格,您將使用以下 CSS:

.grid-container {
  display: grid;
  grid-template-columns: 200px 10px 0.3fr 10px 0.7fr;
  grid-template-rows: auto 20px auto;
}

在對 CSS 進行這些更改后,元素應(yīng)該像此演示中一樣正確地間隔開。(此處省略CodePen演示鏈接)

創(chuàng)建基本布局

現(xiàn)在是時候創(chuàng)建一個基本的博客布局了。該博客將具有頁眉、頁腳、側(cè)邊欄和兩個用于實際內(nèi)容的部分。讓我們從標(biāo)記開始:

.element-b {
  grid-column-start: 3;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 2;
}

請記住,標(biāo)記中元素的順序不會影響元素在網(wǎng)頁上的位置。只要您不更改 CSS,您就可以在標(biāo)記中將頁腳放在頁眉上方,而網(wǎng)頁上元素的位置不會改變。當(dāng)然,我不建議這樣做。關(guān)鍵是——您的標(biāo)記將不再決定元素的位置。

我們現(xiàn)在要做的就是確定各種元素的 grid-row-end 等屬性的值。就像在最后一個示例中一樣,我們將使用網(wǎng)格圖來確定所有網(wǎng)格屬性的值。(此處省略圖片鏈接)

如上圖所示,頁眉從第 1 列線到第 4 列線,從第 1 行線到第 2 行線。這應(yīng)該如下所示:

.element-f {
  grid-column-start: 5;
  grid-column-end: 6;
  grid-row-start: 3;
  grid-row-end: 4;
}

類似地,“額外內(nèi)容”從第 3 列線到第 4 列線,從第 5 行線到第 6 行線。因此,CSS 將是:

<div class="grid-container">
  <div class="grid-element header">Header</div>
  <div class="grid-element sidebar">Sidebar</div>
  <div class="grid-element main">Main Content</div>
  <div class="grid-element extra">Extra Info</div>
  <div class="grid-element footer">Footer</div>
</div>

現(xiàn)在也可以輕松確定所有其他元素的網(wǎng)格屬性。查看 CodePen 演示并試驗各種網(wǎng)格值,以更好地了解基于線條的放置。(此處省略CodePen演示鏈接)

結(jié)論

CSS 網(wǎng)格布局規(guī)范使我們能夠輕松創(chuàng)建復(fù)雜的布局。我們需要編寫的 CSS 更簡單、更易于維護。在設(shè)計中創(chuàng)建復(fù)雜布局時,我們不再需要使用 float 或其他此類屬性。另一個巨大的優(yōu)勢是標(biāo)記和布局的完全分離。使用 CSS Grid 布局,可能性是無限的。

如果您對本教程有任何疑問,請在評論中告訴我。

關(guān)于 CSS Grid 布局的常見問題

CSS Grid 布局與其他 CSS 布局方法有何不同?

CSS Grid 布局是一個二維布局系統(tǒng),與其他 CSS 布局方法(如 Flexbox,它是一維的)不同。這意味著使用 CSS Grid,您可以同時控制水平和垂直布局,而其他方法則無法做到這一點。它旨在處理更復(fù)雜的設(shè)計和大型布局。它也更靈活、更強大,允許更具創(chuàng)意和精細的設(shè)計。

如何開始使用 CSS Grid 布局?

要開始使用 CSS Grid 布局,您需要將元素的 display 屬性設(shè)置為 gridinline-grid。這使得元素成為網(wǎng)格容器,其子元素成為網(wǎng)格項目。然后,您可以使用各種網(wǎng)格屬性來定義網(wǎng)格的布局和網(wǎng)格項目的位置。

我可以將 CSS Grid 布局與其他 CSS 布局方法一起使用嗎?

是的,CSS Grid 布局可以與其他 CSS 布局方法結(jié)合使用。例如,您可以將 Flexbox 用于網(wǎng)站的組件,將 CSS Grid 用于整體布局。這使您可以利用每種布局方法的優(yōu)勢。

如何使用 CSS Grid 布局創(chuàng)建網(wǎng)格?

要使用 CSS Grid 布局創(chuàng)建網(wǎng)格,您首先需要通過將元素的 display 屬性設(shè)置為 gridinline-grid 來定義網(wǎng)格容器。然后,您可以使用 grid-template-columnsgrid-template-rows 屬性來定義網(wǎng)格中列和行的數(shù)量和大小。

如何將項目放置在網(wǎng)格上?

您可以使用 grid-columngrid-row 屬性將項目放置在網(wǎng)格上。這些屬性允許您指定項目的起始線和結(jié)束線,從而有效地將其放置在網(wǎng)格的特定單元格或單元格中。

什么是網(wǎng)格線和網(wǎng)格軌道?

在 CSS Grid 布局中,網(wǎng)格線是構(gòu)成網(wǎng)格結(jié)構(gòu)的分隔線。它們的編號從 1 開始,行號從上到下、從左到右遞增。網(wǎng)格軌道是兩條相鄰網(wǎng)格線之間的空間,可以是列或行。

CSS Grid 布局中的 fr 單位是什么?

CSS Grid 布局中的 fr 單位代表“分數(shù)”。它表示網(wǎng)格容器中可用空間的一部分。例如,如果您有一個包含三列的網(wǎng)格,并將一列的寬度設(shè)置為 1fr,而另外兩列設(shè)置為 2fr,則第一列將占據(jù)可用空間的三分之一,而另外兩列將各占據(jù)三分之一。

如何使網(wǎng)格具有響應(yīng)性?

要使網(wǎng)格具有響應(yīng)性,您可以將媒體查詢與 grid-template-columnsgrid-template-rows 屬性結(jié)合使用。您還可以將 auto-fillauto-fit 關(guān)鍵字與 repeat 函數(shù)一起使用,以根據(jù)視口的尺寸自動調(diào)整列和行的數(shù)量和大小。

我可以在網(wǎng)格中嵌套網(wǎng)格嗎?

是的,您可以在 CSS Grid 布局中嵌套網(wǎng)格。這意味著您可以使網(wǎng)格項目本身成為網(wǎng)格容器,從而創(chuàng)建復(fù)雜的嵌套布局。

所有瀏覽器都支持 CSS Grid 布局嗎?

所有現(xiàn)代瀏覽器(包括 Chrome、Firefox、Safari 和 Edge)都支持 CSS Grid 布局。但是,Internet Explorer 不支持它。因此,務(wù)必為使用不受支持瀏覽器的用戶提供備用布局。

請注意,由于我無法訪問外部網(wǎng)站和圖片,我無法直接顯示圖片。 請確保將圖片鏈接正確地添加到你的最終輸出中。

以上是引入CSS網(wǎng)格布局的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

什么是'渲染障礙CSS”? 什么是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會阻塞頁面渲染是因為瀏覽器默認將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。1.提取關(guān)鍵CSS并內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合并CSS減少請求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復(fù)雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什么? 外部與內(nèi)部CSS:最好的方法是什么? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個根據(jù)目標(biāo)瀏覽器范圍自動為CSS屬性添加廠商前綴的工具。1.它解決了手動維護前綴易出錯的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項有不手動加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

什么是CSS計數(shù)器? 什么是CSS計數(shù)器? Jun 19, 2025 am 12:34 AM

csscounterscanautomationallymentermentermentections和lists.1)usecounter-ensettoInitializize,反插入式發(fā)芽,andcounter()orcounters()

CSS:何時重要(何時不)? CSS:何時重要(何時不)? Jun 19, 2025 am 12:27 AM

在CSS中,選擇器和屬性名不區(qū)分大小寫,而值、命名顏色、URL和自定義屬性則區(qū)分大小寫。1.選擇器和屬性名不區(qū)分大小寫,例如background-color和Background-Color相同。2.值中的十六進制顏色不區(qū)分大小寫,但命名顏色區(qū)分大小寫,如red有效而Red無效。3.URL區(qū)分大小寫,可能導(dǎo)致文件加載問題。4.自定義屬性(變量)區(qū)分大小寫,使用時需注意大小寫一致。

什么是圓錐級函數(shù)? 什么是圓錐級函數(shù)? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

See all articles