亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

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

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

Feb 21, 2025 am 09:35 AM

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

核心要點(diǎn)

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

Introducing the CSS Grid Layout

圖片來(lái)自 SitePoint/Natalia Balska。

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

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

瀏覽器支持

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

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

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

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

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

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

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

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

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

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

單元格:?jiǎn)卧袷蔷W(wǎng)格的基本構(gòu)建塊。在下圖中,共有九個(gè)單元格。

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

Introducing the CSS Grid Layout

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

讓我們從基礎(chǔ)開始。在本節(jié)中,我將教您如何使用網(wǎng)格將元素定位到特定位置。要使用 CSS Grid 布局,您需要一個(gè)父元素和一個(gè)或多個(gè)子元素。為了演示,我們將使用以下標(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 部分。

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

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

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

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

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

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

考慮到以上所有內(nèi)容,要將元素 B 移動(dòng)到第二個(gè)單元格,您將使用以下 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 移動(dòng)到第六個(gè)單元格,您將使用以下 CSS:

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

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

創(chuàng)建基本布局

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

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

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

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

如上圖所示,頁(yè)眉從第 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 演示并試驗(yàn)各種網(wǎng)格值,以更好地了解基于線條的放置。(此處省略CodePen演示鏈接)

結(jié)論

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

如果您對(duì)本教程有任何疑問,請(qǐng)?jiān)谠u(píng)論中告訴我。

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

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

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

如何開始使用 CSS Grid 布局?

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

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

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

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

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

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

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

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

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

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

CSS Grid 布局中的 fr 單位代表“分?jǐn)?shù)”。它表示網(wǎng)格容器中可用空間的一部分。例如,如果您有一個(gè)包含三列的網(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ù)視口的尺寸自動(dòng)調(diào)整列和行的數(shù)量和大小。

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

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

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

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

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

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動(dòng)畫 CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動(dòng)畫 Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過HTML和CSS實(shí)現(xiàn)簡(jiǎn)單動(dòng)畫;2.使用多個(gè)點(diǎn)的自定義旋轉(zhuǎn)器,通過不同延遲時(shí)間實(shí)現(xiàn)跳動(dòng)效果;3.在按鈕中添加旋轉(zhuǎn)器,通過JavaScript切換類來(lái)顯示加載狀態(tài)。每種方法都強(qiáng)調(diào)了設(shè)計(jì)細(xì)節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗(yàn)。

解決CSS瀏覽器兼容性問題和前綴 解決CSS瀏覽器兼容性問題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問題需理解瀏覽器支持差異并合理使用廠商前綴。1.了解常見問題如Flexbox、Grid支持不一,position:sticky失效,動(dòng)畫表現(xiàn)不同;2.查閱CanIuse確認(rèn)特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動(dòng)添加前綴;5.安裝PostCSS并配置browserslist指定目標(biāo)瀏覽器;6.構(gòu)建時(shí)自動(dòng)處理兼容性;7.老項(xiàng)目可用Modernizr檢測(cè)特性;8.不必追求所有瀏覽器一致,確

使用CSS剪輯路徑創(chuàng)建自定義形狀 使用CSS剪輯路徑創(chuàng)建自定義形狀 Jul 09, 2025 am 01:29 AM

使用CSS的clip-path屬性可以裁剪元素為自定義形狀,如三角形、圓形缺口、多邊形等,無(wú)需依賴圖片或SVG。其優(yōu)勢(shì)包括:1.支持circle、ellipse、polygon等多種基本形狀;2.可響應(yīng)式調(diào)整,適配移動(dòng)端;3.易于動(dòng)畫化,可結(jié)合hover或JavaScript實(shí)現(xiàn)動(dòng)態(tài)效果;4.不影響布局流,僅裁剪顯示區(qū)域。常見用法如圓形裁剪clip-path:circle(50pxatcenter)和三角形裁剪clip-path:polygon(50%0%,1000%,00%)。注意

顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? 顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizo??ntalpadding/margins—idealforinlinetextstyling

造型與CSS不同訪問的鏈接 造型與CSS不同訪問的鏈接 Jul 11, 2025 am 03:26 AM

設(shè)置訪問過鏈接的樣式能提升用戶體驗(yàn),尤其在內(nèi)容密集型網(wǎng)站中幫助用戶更好導(dǎo)航。1.使用CSS的:visited偽類可定義已訪問鏈接樣式,如顏色變化;2.注意瀏覽器出于隱私限制僅允許修改部分屬性;3.顏色選擇應(yīng)與整體風(fēng)格協(xié)調(diào),避免突兀;4.移動(dòng)端可能不顯示該效果,建議結(jié)合其他視覺提示如icon輔助標(biāo)識(shí)。

如何使用CSS創(chuàng)建響應(yīng)式圖像? 如何使用CSS創(chuàng)建響應(yīng)式圖像? Jul 15, 2025 am 01:10 AM

要使用CSS創(chuàng)建響應(yīng)式圖片,主要可通過以下方法實(shí)現(xiàn):1.使用max-width:100%和height:auto讓圖片在保持比例的同時(shí)自適應(yīng)容器寬度;2.結(jié)合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控制圖片裁剪與焦點(diǎn)展示。這些方法共同確保圖片在不同設(shè)備上清晰、美觀地呈現(xiàn)。

揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 Jul 08, 2025 am 02:16 AM

CSS單位的選擇取決于設(shè)計(jì)需求和響應(yīng)式要求。1.px用于固定尺寸,適合精確控制但缺乏彈性;2.em是相對(duì)單位,受父元素影響易導(dǎo)致級(jí)聯(lián)問題,rem則基于根元素更穩(wěn)定,適合全局縮放;3.vw/vh基于視口大小,適合響應(yīng)式設(shè)計(jì),但需注意極端屏幕下的表現(xiàn);4.選擇時(shí)應(yīng)根據(jù)是否需要響應(yīng)式調(diào)整、元素層級(jí)關(guān)系及視口依賴程度來(lái)決定,合理搭配使用可提升布局靈活性與維護(hù)性。

什么是常見的CSS瀏覽器不一致? 什么是常見的CSS瀏覽器不一致? Jul 26, 2025 am 07:04 AM

不同瀏覽器對(duì)CSS解析存在差異,導(dǎo)致顯示效果不一致,主要包括默認(rèn)樣式差異、盒模型計(jì)算方式、Flexbox和Grid布局支持程度及某些CSS屬性行為不一致。1.默認(rèn)樣式處理不一致,解決方法是使用CSSReset或Normalize.css統(tǒng)一初始樣式;2.舊版IE的盒模型計(jì)算方式不同,建議統(tǒng)一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現(xiàn)有差異,應(yīng)多測(cè)試并使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse并提供降級(jí)

See all articles