」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 網格佈局:初學者的終極指南

網格佈局:初學者的終極指南

發佈於2024-11-08
瀏覽:318

歡迎回到您的 CSS 冒險!今天,我們將深入研究網頁設計工具庫中最強大的工具之一:CSS 網格佈局。將其視為佈局技術的瑞士軍刀 - 多功能、精確,並且能夠將您的網頁轉變為組織精美的傑作。準備好接受並承受它了嗎?我們走吧!

Grid Layout: The Ultimate Guide for Beginners

什麼是 CSS 網格佈局?

想像一下,您正在玩​​俄羅斯方塊遊戲,但不是堆疊隨機塊,而是由您決定一切的去向。這基本上就是 CSS 網格的作用!它允許您創建複雜的、基於網格的佈局,既靈活又易於管理。無論您是在處理基本的兩欄佈局還是成熟的雜誌風格頁面,CSS 網格都會為您提供支援。

為什麼要使用 CSS 網格?

在 Grid 出現之前,Web 開發人員必須依靠笨重的方法(例如浮動、表格,甚至巢狀 div)來建立佈局。這就像試圖用方塊搭建一座樂高城堡。但透過 CSS Grid,您可以獲得創建真正令人驚嘆的內容所需的所有部分。這就是您會喜歡它的原因:

  1. 靈活性:創建您可以夢想的任何佈局,從簡單到複雜。
  2. 精準度:以最小的努力控制間距、對齊和順序。
  3. 簡單:乾淨、可讀的程式碼,易於維護和修改。

設定網格:基礎知識

讓我們從基礎開始。要建立網格,您需要一個網格容器和一些網格項目。容器是魔法發生的地方,項目是放置在網格上的元素。

1
2
3
4

現在,讓我們將該容器轉換為 CSS 中的網格:

.grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.grid-item {
    background-color: #007BFF;
    color: white;
    padding: 20px;
    text-align: center;
}

了解網格屬性

讓我們來分解一下:

  • display: grid:這會將您的容器變成網格
  • grid-template-columns:repeat(2, 1fr):這將建立兩個等寬的欄位。 1fr 是一個靈活的單位,佔用可用空間的一部分
  • 間隙:10px:這會在網格項目之間添加 10px 間隙

將物品放在格子上:你就是老闆

現在我們有了網格,讓我們看看如何放置項目。使用 CSS 網格,您可以準確指定每個項目的去向,就像戰略大師規劃終極遊戲板一樣。

.grid-container {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto;
    gap: 10px;
}

.grid-item:first-child {
    grid-column: 1 / 3;
}

在此範例中,第一個網格項跨越兩列,而其餘的則整齊地保留在其車道中。您可以透過使用 grid-column 和 grid-row 定義專案的起點和終點,將專案放置在網格中的任何位置。這就像能夠將您的車斜停在停車場 - 因為您可以!

先進的網格技術:釋放你內心的架構師

準備好讓事情更上一層樓了嗎? CSS 網格不僅僅是將項目放置在盒子中;它還包括將項目放置在盒子中。這是關於精確而輕鬆地創建整個佈局。

1. 嵌套網格

將其視為網格中的網格 - 佈局可能性的開始。

.grid-container {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
}

.nested-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

這裡,.nested-grid 是主網格內的一個網格項,同時也是一個網格容器本身,可讓您建立更複雜的佈局。

2. 自動填充和自動調整

希望您的網格根據可用空間進行調整?滿足自動填充和自動調整。

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}

此設定會自動建立盡可能多的至少 150 像素寬的列。非常適合響應式設計,您希望內容能夠優雅地調整,就像貓總是用腳著地一樣。

總結

CSS Grid 是創造強大且靈活的佈局的終極工具。一開始它可能看起來有點令人畏懼,但是一旦你掌握了它,你就會想知道沒有它你是如何生活的。使用 Grid,您不僅僅是建立一個網頁;您還可以建立一個網頁。你正在製作一個視覺上令人驚嘆的、組織良好的傑作。

編碼愉快!

版本聲明 本文轉載於:https://dev.to/gdebojyoti/grid-layout-the-ultimate-guide-for-beginners-3ek8?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何在 PHP 中根據與另一個 2D 數組的交集從 2D 數組過濾行?
    如何在 PHP 中根據與另一個 2D 數組的交集從 2D 數組過濾行?
    基於行交集過濾二維數組的行在PHP 中,array_diff_assoc() 函數旨在找出兩個數組之間的差異,同時對鍵值進行優先排序對。然而,當使用此函數根據與另一個 2D 數組的交集來過濾 2D 數組中的行時,它可能不會總是產生預期的結果。 理解問題問題的出現​​是由於由 array_diff_a...
    程式設計 發佈於2024-11-08
  • SQLRAG:利用自然語言和法學碩士轉變資料庫交互
    SQLRAG:利用自然語言和法學碩士轉變資料庫交互
    在資料驅動的世界中,速度和洞察力的可訪問性至關重要,SQLRAG 帶來了一種與資料庫互動的全新方法。透過利用大型語言模型 (LLM) 的強大功能,SQLRAG 使用戶能夠使用自然語言查詢資料庫,從而無需深厚的 SQL 知識。在這篇文章中,我們將深入探討 SQLRAG 的工作原理、其主要功能,以及它如...
    程式設計 發佈於2024-11-08
  • 哪些建置系統可以擴展 Go 的開發工作流程?
    哪些建置系統可以擴展 Go 的開發工作流程?
    Go 建置系統:擴展您的開發工作流程Go 是一種以其簡單性和併發性而聞名的程式語言,已獲得廣泛的認可。隨著開發專案的發展,對強大的建置系統來自動化建置、測試和部署流程的需求變得至關重要。但是哪些建置系統支援 Go 並增強其功能? Makefile:初始 Go 建置系統傳統上,Go 依賴與其原始碼發行...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中安全處理空值
    如何在 JavaScript 中安全處理空值
    JavaScript 中的空值檢查使用 JavaScript 時,正確處理「空」值至關重要。但是,標準空檢查可能並不總是按預期工作。讓我們探討原因並提供替代解決方案。 了解JavaScript 的Null Check在JavaScript 中,相等運算子(==) 和嚴格相等運算子(===)分別檢查值...
    程式設計 發佈於2024-11-08
  • 使用 AWS Lambda 為 Next.js 建置無伺服器後端
    使用 AWS Lambda 為 Next.js 建置無伺服器後端
    在不斷發展的 Web 開發世界中,利用無伺服器架構已經成為遊戲規則的改變者,尤其是對於 Next.js 應用程式而言。透過整合 AWS Lambda,開發人員可以建立可擴展且高效的後端,而無需管理伺服器的開銷。在這篇文章中,我們將探討如何使用 AWS Lambda 為您的 Next.js 應用程式...
    程式設計 發佈於2024-11-08
  • 當你開始學習程式語言時會發生什麼
    當你開始學習程式語言時會發生什麼
    在數位時代,學習程式語言不僅是一種優勢,而且是一種必要。無論您的目標是提升職業生涯、建立創新應用程序,還是只是更好地了解數位世界,程式設計技能都是不可或缺的。讓我們深入探討您應該踏上這趟變革之旅的原因和方法。 學習程式語言的重要性 職涯發展 根據美國勞工統計局的數據...
    程式設計 發佈於2024-11-08
  • 如何使用匿名結構或聯合編譯 C 程式碼?
    如何使用匿名結構或聯合編譯 C 程式碼?
    使用匿名結構/聯合編譯C 代碼出現了關於如何使用匿名結構或聯合編譯C 代碼的問題,如C 具有使用聯合的匿名欄位。在 C 中,嘗試使用包含匿名聯合的命名結構建立類似的結構會導致編譯錯誤。 錯誤訊息表示匿名聯合和結構欄位未在結構聲明中聲明。若要在 C 中啟用此功能,必須使用 -fms-extension...
    程式設計 發佈於2024-11-08
  • 如何使用 OpenSSL 和 C++ 產生 SHA256 雜湊值?
    如何使用 OpenSSL 和 C++ 產生 SHA256 雜湊值?
    使用 OpenSSL 和 C 產生 SHA256 雜湊 雜湊是一種加密技術,用於產生資料的唯一指紋或摘要。對於 SHA256(安全雜湊演算法 2,256 位元),此摘要是 256 位元十六進位字串。 SHA256 通常用於檢查資料完整性、驗證數位簽章和安全儲存密碼。 在本文中,我們將介紹如何使用 O...
    程式設計 發佈於2024-11-08
  • 探索軟體工程師的就業市場
    探索軟體工程師的就業市場
    Introduction In this article, we dive into the process of extracting and analyzing job data from LinkedIn, leveraging a combination of Python...
    程式設計 發佈於2024-11-08
  • 如何優化FastAPI中大數據的JSON回應效能?
    如何優化FastAPI中大數據的JSON回應效能?
    利用大數據提高 FastAPI 中 JSON 回應的效能FastAPI 用戶在透過端點傳回大量 JSON 資料時遇到嚴重延遲。全面的解決方案涉及解決多個因素,包括資料檢索、序列化和客戶端顯示。 資料提取和讀取如範例程式碼中突出顯示的,資料最初使用Pandas 的read_parquet() 函數從P...
    程式設計 發佈於2024-11-08
  • 在 React 中的選項卡之間發送資料。
    在 React 中的選項卡之間發送資料。
    本文將介紹如何在 React 全域元件之間發送數據,甚至在不同的瀏覽器標籤中也是如此。 故事 想像您有一個項目列表,例如用戶。 每個使用者都可以在模態視窗中開啟進行修改。 您沒有任何後端訂閱,這表示如果使用者發生變化,使用者清單不會自動與後端同步。 因此,一旦使用者的個人資料...
    程式設計 發佈於2024-11-08
  • 如何從 WPF 中的非調度程序執行緒修改 ObservableCollection?
    如何從 WPF 中的非調度程序執行緒修改 ObservableCollection?
    「這種類型的CollectionView 不支援從與調度程式執行緒不同的執行緒更改其SourceCollection」問題描述A DataGrid 綁定非同步填充的ObservableCollection 會拋出錯誤,指出不允許從非Dispatcher 執行緒對SourceCollection 進行...
    程式設計 發佈於2024-11-08
  • SQL Server 中的日期時間和時間戳記有什麼不同?
    SQL Server 中的日期時間和時間戳記有什麼不同?
    了解SQL Server 中日期時間和時間戳記之間的差異雖然SQL Server 中的日期時間和時間戳記資料型別都處理日期和時間,但它們表現出根本的區別。 Datetime 是專為儲存日期和時間資訊而設計的資料類型。它支援多種格式和日期/時間計算。另一方面,Timestamp 並不是用來儲存日期和時...
    程式設計 發佈於2024-11-08
  • 如何使用現代前端開發技術建立令人驚嘆的網站
    如何使用現代前端開發技術建立令人驚嘆的網站
    在当今的数字时代,网页设计在给访问者留下持久印象方面发挥着至关重要的作用。随着数以百万计的网站争夺注意力,创建一个令人惊叹的、脱颖而出的网站比以往任何时候都更加重要。现代前端开发技术彻底改变了网站的构建方式,使设计美观、实用且响应灵敏的网站变得更加容易,从而提供最佳的用户体验。本文将深入探讨可帮助您...
    程式設計 發佈於2024-11-08
  • 讓我們建立一個簡單的 React hook 來偵測瀏覽器及其功能
    讓我們建立一個簡單的 React hook 來偵測瀏覽器及其功能
    使用者代理嗅探是最受歡迎的瀏覽器偵測方法。不幸的是,由於多種原因,前端開發不太容易使用它。瀏覽器供應商不斷嘗試讓嗅探變得不可能。因此,每個瀏覽器都有自己的使用者代理字串格式,解析起來非常複雜。 有一個更簡單的方法可以使用瀏覽器 CSS API 實現相同的目的,我將向您展示。那麼讓我們建立瀏覽器功能...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3