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

目錄
CSS Grid布局和Flexbox有什么區(qū)別?
如何使用CSS Grid創(chuàng)建響應(yīng)式布局?
我可以同時(shí)使用CSS Grid和Flexbox嗎?
如何在CSS Grid中對(duì)齊項(xiàng)目?
CSS Grid布局中的網(wǎng)格線是什么?
如何在網(wǎng)格項(xiàng)目之間創(chuàng)建間隙?
CSS Grid中的“grid-template-areas”屬性是什么?
如何在CSS Grid中重疊網(wǎng)格項(xiàng)目?
CSS Grid中的“fr”單位是什么?
CSS Grid在現(xiàn)代瀏覽器中得到廣泛支持嗎?
首頁(yè) 科技周邊 IT業(yè)界 您可以使用CSS網(wǎng)格布局放置元素的七種方式

您可以使用CSS網(wǎng)格布局放置元素的七種方式

Feb 17, 2025 am 10:20 AM

七種使用CSS Grid布局網(wǎng)頁(yè)元素的方法

Seven Ways You Can Place Elements Using CSS Grid Layout

(本文于2017年3月23日更新。具體內(nèi)容:CSS Grid布局的瀏覽器支持)

本文將介紹七種使用Grid Layout模塊在網(wǎng)頁(yè)中放置元素的方法。

SitePoint之前發(fā)表過(guò)《CSS Grid Layout簡(jiǎn)介》。最近,我還寫(xiě)了《CSS Grid Layout工作草案的現(xiàn)狀》。

這里,重點(diǎn)將完全放在使用CSS Grid在網(wǎng)頁(yè)上布局元素的具體方法上。現(xiàn)在,讓我們逐一介紹它們。

關(guān)鍵要點(diǎn)

  • CSS Grid Layout允許使用多種方法在網(wǎng)頁(yè)上靈活地放置元素,例如單個(gè)屬性、grid-rowgrid-column、grid-areaspan關(guān)鍵字、命名線、具有公共名稱和span關(guān)鍵字的命名線以及命名網(wǎng)格區(qū)域。
  • grid-area屬性允許指定元素的左上角和右下角,而span關(guān)鍵字可用于設(shè)置元素將跨越的列數(shù)或行數(shù)。
  • 命名線有助于組織復(fù)雜的布局,每條線都根據(jù)其將包含的內(nèi)容類型分配一個(gè)名稱??梢酝ㄟ^(guò)為特定部分的所有網(wǎng)格線使用公共名稱并使用span關(guān)鍵字指定元素跨越的這些線條的數(shù)量來(lái)進(jìn)一步簡(jiǎn)化此過(guò)程。
  • 命名網(wǎng)格區(qū)域允許為不同區(qū)域分配名稱,而不是使用線條,從而使元素分配變得簡(jiǎn)單明了。但是,命名網(wǎng)格區(qū)域目前只能是矩形。

CSS Grid布局的瀏覽器支持

目前,Grid Layout還沒(méi)有一致的瀏覽器支持。但是,截至2017年3月,Chrome和Firefox瀏覽器的最新版本默認(rèn)都已支持CSS Grid Layout。IE仍然支持舊的實(shí)現(xiàn),Opera需要啟用實(shí)驗(yàn)性Web平臺(tái)標(biāo)志,而Safari則完全不支持。為了正確使用本文中的所有示例,建議您使用Chrome或Firefox。對(duì)于由于某種原因發(fā)現(xiàn)使用這些瀏覽器存在問(wèn)題的讀者,我已經(jīng)添加了屏幕截圖以顯示每種技術(shù)的最終結(jié)果。

方法一:使用單個(gè)屬性指定所有內(nèi)容

Seven Ways You Can Place Elements Using CSS Grid Layout 這是我們之前文章中一直用來(lái)放置元素的版本。此方法冗長(zhǎng)但易于理解?;旧希褂?code>grid-column-start/grid-column-endgrid-row-start/grid-row-end屬性指定元素的左右和上下邊界。如果元素只跨越一行或一列,您可以省略-end屬性,這樣您就需要編寫(xiě)更少的CSS。

在下面的演示中,元素A已使用以下CSS放置在第二行和第二列中:

.a {
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 2;
  grid-row-end: 3;
}

可以使用以下方法實(shí)現(xiàn)相同的效果:

.a {
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 2;
  grid-row-end: 3;
}

CodePen演示鏈接

方法二:使用grid-rowgrid-column

Seven Ways You Can Place Elements Using CSS Grid Layout 盡管我們第一個(gè)示例中的CSS可讀且易于理解,但我們必須使用四個(gè)不同的屬性來(lái)放置單個(gè)元素。我們可以只使用兩個(gè)屬性(grid-columngrid-row)而不是四個(gè)屬性。這兩個(gè)屬性都將采用以斜杠分隔的兩個(gè)值,其中第一個(gè)值將確定元素的起始線,第二個(gè)值將確定元素的結(jié)束線。

以下是您需要使用這些屬性的語(yǔ)法:

.a {
  grid-column-start: 2;
  grid-row-start: 2;
}

要將項(xiàng)目C放置在網(wǎng)格的右下角,我們可以使用以下CSS:

.selector {
  grid-row: row-start / row-end;
  grid-column: col-start / col-end;
}

CodePen演示鏈接

方法三:使用grid-area

Seven Ways You Can Place Elements Using CSS Grid Layout 從技術(shù)上講,我們正在布局的項(xiàng)目占據(jù)了網(wǎng)頁(yè)的特定區(qū)域。該項(xiàng)目的邊界由我們?yōu)榫W(wǎng)格線提供的值確定??梢允褂?code>grid-area屬性一次提供所有這些值。

以下是使用此屬性時(shí)的CSS外觀:

.c {
  grid-row: 2 / 4;
  grid-column: 2 / 4;
}

如果您難以記住這些值的正確順序,只需記住首先必須指定左上角(row-start - col-start)角,然后指定元素的右下角(row-end - col-end)角。

與前面的示例一樣,要將項(xiàng)目C放置在網(wǎng)格的右下角,我們可以使用以下CSS:

.selector {
  grid-area: row-start / col-start / row-end / col-end;
}

CodePen演示鏈接

方法四:使用span關(guān)鍵字

Seven Ways You Can Place Elements Using CSS Grid Layout 在布局元素時(shí),除了指定結(jié)束線外,還可以使用span關(guān)鍵字來(lái)設(shè)置特定元素將跨越的列數(shù)或行數(shù)。

以下是使用span關(guān)鍵字的正確語(yǔ)法:

.c {
  grid-area: 2 / 2 / 4 / 4;
}

如果您的元素只跨越一行或一列,您可以省略span關(guān)鍵字及其值。

這次讓我們將項(xiàng)目C放置在網(wǎng)格的左上角。我們可以使用以下CSS來(lái)做到這一點(diǎn)。

.selector {
  grid-row: row-start / span row-span-value;
  grid-column: col-start / span col-span-value;
}

CodePen演示鏈接

方法五:使用命名線

Seven Ways You Can Place Elements Using CSS Grid Layout 到目前為止,我們一直在使用原始數(shù)字來(lái)指定網(wǎng)格線,當(dāng)我們處理簡(jiǎn)單的布局時(shí),它很容易使用。但是,當(dāng)您必須放置多個(gè)元素時(shí),它可能會(huì)有點(diǎn)混亂。大多數(shù)情況下,頁(yè)面上的元素將屬于特定類別。例如,頁(yè)眉可能從列線c1到列線c2,從行線r1到行線r2。對(duì)所有線條進(jìn)行正確命名,然后使用這些名稱而不是數(shù)字來(lái)放置元素會(huì)容易得多。

讓我們創(chuàng)建一個(gè)非?;镜牟季謥?lái)使概念更清晰。首先,我們必須修改應(yīng)用于網(wǎng)格容器的CSS:

.a {
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 2;
  grid-row-end: 3;
}

我在上面所做的是根據(jù)它們將包含的內(nèi)容類型為所有線條分配名稱。這里的想法是使用能讓我們了解不同元素位置的名稱。在這個(gè)特定示例中,我們的頁(yè)眉元素跨越所有列。因此,分別為第一列線和最后一列線分配名稱“head-col-start”和“head-col-end”將清楚地表明這些線代表頁(yè)眉的左右端。所有其他線條都可以以類似的方式命名。在所有線條命名之后,我們可以使用以下CSS來(lái)放置所有元素。

.a {
  grid-column-start: 2;
  grid-row-start: 2;
}

盡管我們必須編寫(xiě)比平時(shí)更多的CSS,但現(xiàn)在只需查看CSS就能了解元素的位置。

CodePen演示鏈接

方法六:使用具有公共名稱和span關(guān)鍵字的命名線

Seven Ways You Can Place Elements Using CSS Grid Layout 在前面的方法中,所有線條都有不同的名稱,標(biāo)記元素的起始點(diǎn)、中點(diǎn)或結(jié)束點(diǎn)。例如,“content-col-start”和“content-col-mid”標(biāo)記了我們網(wǎng)頁(yè)內(nèi)容部分的起始點(diǎn)和中點(diǎn)。如果內(nèi)容部分覆蓋了更多行,我們將不得不提出其他行名,例如“content-col-mid-one”、“content-col-mid-two”等等。

在這種情況下,我們可以為內(nèi)容部分的所有網(wǎng)格線只使用一個(gè)公共名稱,例如“content”,然后使用span關(guān)鍵字來(lái)指定元素跨越的這些線條的數(shù)量。我們也可以只在行名旁邊提及一個(gè)數(shù)字來(lái)設(shè)置元素將跨越的行數(shù)或列數(shù)。

使用此方法,CSS 將如下所示:

.selector {
  grid-row: row-start / row-end;
  grid-column: col-start / col-end;
}

與最后一種方法一樣,此方法也要求您修改網(wǎng)格容器的CSS。

.c {
  grid-row: 2 / 4;
  grid-column: 2 / 4;
}

每個(gè)命名的列線都具有相同的名稱,表示它們的寬度(以像素為單位),每個(gè)命名的行線都表示特定網(wǎng)頁(yè)部分所覆蓋的行。在此演示中,我在側(cè)邊欄下方引入了一個(gè)廣告部分。這是CSS:

.selector {
  grid-area: row-start / col-start / row-end / col-end;
}

CodePen演示鏈接

方法七:使用命名網(wǎng)格區(qū)域

Seven Ways You Can Place Elements Using CSS Grid Layout 我們可以通過(guò)為不同區(qū)域分配名稱來(lái)放置元素,而不是使用線條。同樣,我們必須對(duì)網(wǎng)格容器的CSS進(jìn)行一些更改。

網(wǎng)格容器的CSS現(xiàn)在應(yīng)該如下所示:

.a {
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 2;
  grid-row-end: 3;
}

單個(gè)點(diǎn)(.)或一系列點(diǎn)將創(chuàng)建一個(gè)沒(méi)有任何內(nèi)容的空單元格。所有字符串都必須具有相同數(shù)量的列。這就是為什么我們必須添加點(diǎn)而不是完全留空的原因。目前,命名網(wǎng)格區(qū)域只能是矩形。但是,這可能會(huì)在規(guī)范的未來(lái)版本中發(fā)生變化。讓我們看一下所有元素的CSS。

.a {
  grid-column-start: 2;
  grid-row-start: 2;
}

定義所有網(wǎng)格區(qū)域后,將它們分配給各種元素非常簡(jiǎn)單。請(qǐng)記住,在為區(qū)域分配名稱時(shí),您不能使用任何特殊字符。這樣做會(huì)使聲明無(wú)效。

CodePen演示鏈接

結(jié)論

就是這樣!我們已經(jīng)介紹了七種使用CSS網(wǎng)格布局來(lái)布局元素的不同方法。您想與其他讀者分享關(guān)于本文的任何技巧嗎?您更喜歡在自己的項(xiàng)目中使用哪種方法?請(qǐng)?jiān)谠u(píng)論中告訴我們。

CSS Grid布局常見(jiàn)問(wèn)題解答

CSS Grid布局和Flexbox有什么區(qū)別?

CSS Grid布局和Flexbox都是CSS中強(qiáng)大的布局系統(tǒng)。雖然它們看起來(lái)很相似,但它們是為不同類型的布局任務(wù)而設(shè)計(jì)的。Flexbox是一種一維布局模型,它設(shè)計(jì)用于一次在一個(gè)維度上進(jìn)行布局,要么是一行,要么是一列。另一方面,CSS Grid布局是一個(gè)二維系統(tǒng),這意味著它可以同時(shí)處理列和行,這使其成為設(shè)計(jì)復(fù)雜網(wǎng)頁(yè)布局的理想選擇。

如何使用CSS Grid創(chuàng)建響應(yīng)式布局?

CSS Grid使創(chuàng)建響應(yīng)式布局非常簡(jiǎn)單。您可以使用“fr”單位,它表示網(wǎng)格容器中可用空間的一部分。通過(guò)使用此單位,您可以創(chuàng)建靈活的網(wǎng)格軌道,這些軌道會(huì)根據(jù)視口大小進(jìn)行調(diào)整大小。此外,您可以使用媒體查詢來(lái)更改不同視口大小下的網(wǎng)格布局,從而更好地控制響應(yīng)式設(shè)計(jì)。

我可以同時(shí)使用CSS Grid和Flexbox嗎?

是的,CSS Grid和Flexbox可以一起用于布局。它們可以很好地互補(bǔ)。例如,您可以使用CSS Grid來(lái)布局整個(gè)頁(yè)面結(jié)構(gòu),然后使用Flexbox來(lái)布局網(wǎng)格區(qū)域內(nèi)的單個(gè)組件或部分。

如何在CSS Grid中對(duì)齊項(xiàng)目?

CSS Grid提供了一些用于對(duì)齊項(xiàng)目的屬性,包括“justify-items”、“align-items”、“justify-self”和“align-self”。這些屬性控制網(wǎng)格項(xiàng)目沿行軸和列軸的對(duì)齊方式。您可以將項(xiàng)目對(duì)齊到起始位置、結(jié)束位置、中心位置,或者將它們拉伸以填充網(wǎng)格區(qū)域。

CSS Grid布局中的網(wǎng)格線是什么?

在CSS Grid布局中,網(wǎng)格線是構(gòu)成網(wǎng)格結(jié)構(gòu)的分隔線。它們可以是水平的或垂直的,并且從1開(kāi)始編號(hào)。您可以在任意兩條線之間放置網(wǎng)格項(xiàng)目,這為您在布局設(shè)計(jì)中提供了很大的靈活性。

如何在網(wǎng)格項(xiàng)目之間創(chuàng)建間隙?

CSS Grid提供“gap”屬性(以前是“grid-gap”),您可以使用它在網(wǎng)格項(xiàng)目之間創(chuàng)建空間。此屬性可以取一個(gè)或兩個(gè)值,指定行和列之間間隙的大小。

CSS Grid中的“grid-template-areas”屬性是什么?

CSS Grid中的“grid-template-areas”屬性允許您通過(guò)引用命名的網(wǎng)格區(qū)域來(lái)創(chuàng)建網(wǎng)格布局。您可以使用網(wǎng)格項(xiàng)目上的“grid-area”屬性定義這些區(qū)域,然后使用“grid-template-areas”屬性在CSS代碼中直觀地排列它們。

如何在CSS Grid中重疊網(wǎng)格項(xiàng)目?

在CSS Grid中,您可以通過(guò)將網(wǎng)格項(xiàng)目放置到相同的網(wǎng)格單元格中或通過(guò)指定覆蓋多個(gè)單元格的網(wǎng)格區(qū)域來(lái)輕松重疊網(wǎng)格項(xiàng)目。這可以通過(guò)網(wǎng)格項(xiàng)目上的“grid-column”和“grid-row”屬性來(lái)完成。

CSS Grid中的“fr”單位是什么?

CSS Grid中的“fr”單位代表“fraction”。它表示網(wǎng)格容器中可用空間的一部分。此單位允許您創(chuàng)建靈活的網(wǎng)格軌道,這些軌道會(huì)根據(jù)可用空間進(jìn)行調(diào)整大小,從而更容易創(chuàng)建響應(yīng)式布局。

CSS Grid在現(xiàn)代瀏覽器中得到廣泛支持嗎?

是的,CSS Grid在所有現(xiàn)代瀏覽器中都得到廣泛支持,包括Chrome、Firefox、Safari和Edge。但是,它在Internet Explorer中不受支持。如果您需要支持IE,則可能需要使用備用布局方法,例如Flexbox或基于浮動(dòng)的布局。

請(qǐng)注意,我已將圖片的格式保持為.webp,并保留了其原始鏈接。 由于無(wú)法直接訪問(wèn)CodePen,我用占位符替換了CodePen鏈接。 您需要自行將這些占位符替換為實(shí)際的CodePen鏈接。

以上是您可以使用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集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

開(kāi)發(fā)人員的快捷方式到您的Udemy樣平臺(tái) 開(kāi)發(fā)人員的快捷方式到您的Udemy樣平臺(tái) Jun 17, 2025 pm 04:43 PM

在開(kāi)發(fā)類似于Udemy的學(xué)習(xí)平臺(tái)時(shí),重點(diǎn)不僅僅是內(nèi)容質(zhì)量。同樣重要的是如何交付內(nèi)容。這是因?yàn)楝F(xiàn)代教育平臺(tái)依賴于媒體,快速且易于消化。

用于購(gòu)買SSL證書(shū)的經(jīng)濟(jì)有效的轉(zhuǎn)售商平臺(tái) 用于購(gòu)買SSL證書(shū)的經(jīng)濟(jì)有效的轉(zhuǎn)售商平臺(tái) Jun 25, 2025 am 08:28 AM

在一個(gè)在線信任不可談判的世界中,SSL證書(shū)對(duì)于每個(gè)網(wǎng)站都至關(guān)重要。 SSL認(rèn)證的市場(chǎng)規(guī)模在2024年價(jià)值56億美元,并且由于電子商務(wù)業(yè)務(wù)的激增而推動(dòng)了強(qiáng)勁的增長(zhǎng)

SaaS的5個(gè)最佳支付門戶:您的最終指南 SaaS的5個(gè)最佳支付門戶:您的最終指南 Jun 29, 2025 am 08:28 AM

付款網(wǎng)關(guān)是付款過(guò)程的關(guān)鍵組成部分,使企業(yè)能夠在線接受付款。它充當(dāng)客戶與商人之間的橋梁,安全地傳輸付款信息并促進(jìn)交易。 為了

由于新的Microsoft AI型號(hào) 由于新的Microsoft AI型號(hào) Jul 05, 2025 am 12:44 AM

一種新的人工智能(AI)模型已經(jīng)證明了比幾個(gè)使用最廣泛使用的全球預(yù)測(cè)系統(tǒng)更快,更精確地預(yù)測(cè)重大天氣事件的能力。該名為Aurora的模型已接受過(guò)培訓(xùn)。

新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 Jul 03, 2025 pm 05:48 PM

在我們認(rèn)為人類始終超越機(jī)器的領(lǐng)域的另一個(gè)挫折中,研究人員現(xiàn)在建議AI比我們更好地理解情感。研究人員發(fā)現(xiàn)人工智能證明了一個(gè)

您的設(shè)備喂養(yǎng)AI助手并收集個(gè)人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 您的設(shè)備喂養(yǎng)AI助手并收集個(gè)人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 Jul 05, 2025 am 01:12 AM

不管喜歡與否,人工智能已成為日常生活的一部分。許多設(shè)備(包括電動(dòng)剃須刀和牙刷)已成為AI驅(qū)動(dòng)的“使用機(jī)器學(xué)習(xí)算法來(lái)跟蹤一個(gè)人的使用方式,Devi的方式

高級(jí)AI型號(hào)的CO₂回答相同問(wèn)題時(shí)的排放量比更常見(jiàn)的LLM 高級(jí)AI型號(hào)的CO₂回答相同問(wèn)題時(shí)的排放量比更常見(jiàn)的LLM Jul 06, 2025 am 12:37 AM

根據(jù)最近的一項(xiàng)研究,我們?cè)噲D使AI模型的功能越精確,其碳排放量就越大 - 某些提示產(chǎn)生的二氧化碳比其他提示高達(dá)50倍。

See all articles