Grid網格布局完整功能介紹和示例演示

CSS Grid布局是一種強大的二維布局系統,可以將頁面劃分為行和列,精確控制元素的位置和大小。以下是其完整功能介紹和示例演示:

基本概念
  • 網格容器(Grid Container):應用display: grid的元素。
  • 網格項(Grid Item):容器的直接子元素。
  • 網格線(Grid Line):劃分行和列的分界線。
  • 網格軌道(Grid Track):兩條相鄰網格線之間的空間。
  • 網格單元格(Grid Cell):行和列交叉形成的最小單位。
  • 網格區域(Grid Area):由多個單元格組成的矩形區域。
容器屬性
  1. 定義網格結構
    • grid-template-columnsgrid-template-rows:指定列和行的大小。
      .container {display: grid;grid-template-columns: 100px 200px 100px; /* 三列,寬度分別為100px、200px、100px */grid-template-rows: 100px 200px; /* 兩行,高度分別為100px、200px */
      }
      
    • repeat()函數:簡化重復的軌道定義。
      grid-template-columns: repeat(3, 1fr); /* 三列等寬,占據剩余空間 */
      
    • fr單位:表示可用空間的比例。
    • minmax()函數:定義軌道的最小和最大尺寸。
      grid-template-columns: 1fr minmax(200px, 1fr) 1fr; /* 中間列最小200px,最大占據剩余空間 */
      
    • auto關鍵字:根據內容自動調整大小。
  2. 網格間距
    • gap(或row-gapcolumn-gap):設置行和列之間的間距。
      .container {gap: 20px; /* 行間距和列間距均為20px */
      }
      
  3. 定位網格項
    • grid-area:命名區域,簡化定位。
      .container {grid-template-areas:"header header header""sidebar content content""footer footer footer";
      }
      .header { grid-area: header; }
      .sidebar { grid-area: sidebar; }
      .content { grid-area: content; }
      .footer { grid-area: footer; }
      
    • grid-column-startgrid-column-endgrid-row-startgrid-row-end:精確控制項的位置和跨度。
      .item {grid-column-start: 1; /* 從第1列開始 */grid-column-end: 3; /* 到第3列結束 */grid-row-start: 2; /* 從第2行開始 */grid-row-end: 3; /* 到第3行結束 */
      }
      /* 簡寫形式 */
      .item {grid-column: 1 / 3; /* 從第1列到第3列 */grid-row: 2 / 3; /* 從第2行到第3行 */
      }
      
  4. 命名網格線
    • 使用方括號[]為網格線命名,方便定位。
      .container {grid-template-columns: [left] 100px [center] 200px [right];grid-template-rows: [top] 100px [middle] 200px [bottom];
      }
      .item {grid-column: left / center; /* 從left線到center線 */grid-row: top / middle; /* 從top線到middle線 */
      }
      
項目屬性
  • justify-selfalign-self:控制單個項在單元格內的對齊方式。
    .item {justify-self: center; /* 水平居中對齊 */align-self: end; /* 垂直底部對齊 */
    }
    
示例演示
  1. 簡單網格布局

    <div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div>
    </div>
    
    .container {display: grid;grid-template-columns: repeat(3, 1fr);grid-template-rows: 100px 100px;gap: 10px;
    }
    .item {background-color: lightgray;padding: 10px;text-align: center;
    }
    

    效果:六項均勻分布在3列2行的網格中。

  2. 響應式布局

    .container {display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 20px;
    }
    

    效果:根據容器寬度自動調整列數,每列最小200px,最大占據剩余空間。

  3. 復雜布局

    <div class="container"><div class="header">頭部</div><div class="sidebar">側邊欄</div><div class="content">內容</div><div class="footer">底部</div>
    </div>
    
    .container {display: grid;grid-template-areas:"header header header""sidebar content content""footer footer footer";grid-template-columns: 200px 1fr 200px;grid-template-rows: auto 1fr auto;gap: 10px;
    }
    .header { grid-area: header; }
    .sidebar { grid-area: sidebar; }
    .content { grid-area: content; }
    .footer { grid-area: footer; }
    

    效果:實現經典的三欄布局,頭部和底部通欄,側邊欄和內容區域自適應高度。

通過以上介紹和示例,可以看到CSS Grid布局的強大功能和靈活性,能夠輕松實現各種復雜的頁面布局。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88475.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88475.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88475.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習C++、QT---21(QT中QFile庫的QFile讀取文件、寫入文件的講解)

每日一言把大目標拆成小步&#xff0c;每天前進一點點&#xff0c;終會抵達終點。QFile讀取文件我們記事本要進行讀取文件、寫入文件、等等的操作&#xff0c;那么這個時候我們的QT有一個QT類叫做QFile這個類的話是專門對于文件操作的&#xff0c;所以我們來學習我們在QT的幫助…

AD736ARZ-R7精密真有效值轉換器 高精度測量的首選方案

AD736ARZ-R7精密轉換器產品概述AD736ARZ-R7是ADI&#xff08;Analog Devices Inc.&#xff09;推出的一款低功耗、高精度的真有效值&#xff08;RMS&#xff09;轉直流&#xff08;DC&#xff09;轉換器&#xff0c;采用SOIC-8封裝&#xff0c;適用于需要精確測量交流或復雜波形…

【web應用】若依框架前端報表制作與導出全攻略(ECharts + html2canvas + jsPDF)

文章目錄前言一、ECharts準備工作1. 檢查ECharts安裝2. 導入ECharts3. 創建餅圖組件4. 模板部分二、報表導出功能實現1. 安裝依賴2. 導入依賴3. 完整導出函數實現4. 樣式優化三、完整組件實現四、常見問題與解決方案1. 圖表截圖不完整或模糊2. 圖表背景透明3. 導出PDF中文亂碼4…

vue3+express聯調接口時報“\“username\“ is required“問題

我用node .js的express框架寫的登錄接口&#xff0c;發現postman可以調通&#xff0c;但是vue3前端報錯vue3我發現是我后端node.js的app.js入口文件中配置的解析前端參數的解析中間件和前端請求頭中的Content-Type配置不一致的原因 解決方案 因為我后端配置解析表單數據的中間件…

《月亮與六便士》:天才的背叛與凡人救贖的殘酷辯證法

當滿地六便士成了庸人的火葬場??毛姆筆下的斯特里克蘭德&#xff0c;是一把捅穿中產幻夢的利刃。這個拋妻棄子、背叛友人的證券經紀人&#xff0c;在倫敦客廳的茶香與銀勺碰撞聲中&#xff0c;突然聽見了遠方的驚雷——“我必須畫畫”。如書中所言&#xff1a;??“在滿地都…

vue2往vue3升級需要注意的點(個人建議非必要別直接升級)

將 Vue 2 項目升級到 Vue 3 的過程中&#xff0c;需要重點關注以下幾個難點和關鍵點&#xff1a; 建議小項目直接用vue3重寫更快&#xff0c;bug更少 文章目錄1. **Composition API 的學習與應用**2. **全局 API 的變更**3. **模板語法的兼容性變化**4. **組件選項和生命周期的…

聚焦數據資源建設與應用,浙江省質科院赴景聯文科技調研交流

7月10日上午&#xff0c;浙江省質科院標準化中心副主任蔣建平、應珊婷等一行領導帶隊蒞臨景聯文科技調研指導工作。雙方圍繞工業數據展開深度交流。座談會上&#xff0c;景聯文科技詳細匯報了數據資源建設與應用方面的成果與規劃&#xff0c;介紹了公共數據授權運營與對外合作的…

【Linux】系統引導修復

目錄 開機引導過程 一.通電 二.BIOS環境檢測 三.磁盤引導階段 四.文件引導階段 自動引導配置文件丟失修復 內核參數文件丟失修復 內核鏡像文件丟失修復 內核初始化文件丟失修復 boot目錄誤刪丟失修復 開機引導過程 磁盤引導階段 /boot/grub2/grub.cfg #讀取自動引…

2023年全國青少年信息素養大賽C++編程初中組決賽真題+答案解析

2023年全國青少年信息素養大賽C++編程初中組決賽真題+答案解析 編程題 第一題 判斷是否存在重復的子序列 題目描述 從m 個字符中選取字符,生成n 個符號的序列,使得其中沒有2 個相鄰的子序列相同? 如從1,2,3,生成長度為5 的序列,序列“12321”是合格的,而“12323”和“12123”…

MySQL5.78.0鎖表確認及解除鎖表完全指南

目錄 一、MySQL鎖機制基礎 1.1 鎖的分類與作用 1.2 關鍵鎖類型詳解 二、鎖表的常見原因與風險 2.1 引發鎖表的典型場景 2.2 鎖表的業務影響 三、鎖表狀態確認方法 3.1 基礎工具&#xff1a;SHOW PROCESSLIST 3.2 MySQL 8.0鎖信息查詢&#xff08;推薦&#xff09; 3.2…

springboot生成pdf方案之dot/html/圖片轉pdf三種方式

文章目錄pdf生成方案dot轉pdfhtml轉pdfopenhtmltopdfaspose-pdf實踐playwright實踐圖片轉pdfApache PDFBox實踐框架場景匹配后記前言&#xff1a;隨著客戶對報告審美的提升&#xff0c;需求也越來越五彩斑斕~ 原有的dot模板已經滿足不了他們了&#xff01;這篇文章主打列出各種…

前端開發—全棧開發

全棧開發者在面試前端或全棧崗位時&#xff0c;自我介紹需要巧妙融合“技術廣度”與“崗位針對性”&#xff0c;避免成為泛泛而談的“樣樣通樣樣松”。以下是結合面試官關注點和全棧特性的專業介紹策略&#xff1a;&#x1f9e0; 一、自我介紹的核心理念 突出全棧優勢&#xff…

Redis生產環境過期策略配置指南:務實落地,避免踩坑

在生產環境中合理配置Redis過期策略是保障系統穩定性和內存效率的關鍵。以下配置建議基于實戰經驗&#xff0c;避免理論堆砌&#xff0c;直擊核心要點&#xff1a;一、核心策略配置&#xff1a;惰性刪除 定期刪除&#xff08;默認已啟用&#xff09;無需額外配置&#xff1a;R…

Ubuntu 20.04 安裝 Node.js 20.x、npm、cnpm 和 pnpm 完整指南

&#x1f310; Ubuntu 20.04 安裝 Node.js 20.x、npm、cnpm 和 pnpm 完整指南 &#x1f680; 在本文中&#xff0c;我們將介紹如何在 Ubuntu 20.04 上安裝 Node.js 20.x&#xff0c;以及如何安裝 npm、cnpm 和 pnpm 來提高開發效率 ?。1?? 安裝 Node.js 20.x 為了確保使用最…

【時時三省】(C語言基礎)通過指針引用數組元素

山不在高&#xff0c;有仙則名。水不在深&#xff0c;有龍則靈。 ----CSDN 時時三省引用一個數組元素&#xff0c;可以用下面兩種方法&#xff1a;( 1 )下標法&#xff0c;如a[i]形式&#xff1b;( 2 )指針法&#xff0c;如* ( a i )或* ( p i )。其中a是數組名&#xff0c;p…

Guava LoadingCache

LoadingCache 是 Google Guava 庫提供的一個高級緩存實現&#xff0c;它通過自動加載機制簡化了緩存使用模式。核心特性自動加載機制當緩存未命中時&#xff0c;自動調用指定的 CacheLoader 加載數據線程安全&#xff1a;并發請求下&#xff0c;相同key只會加載一次靈活的過期策…

基于LSTM-GRU模型的黃金價格動態監測:關稅政策與美指的量化關聯研究

摘要&#xff1a;本文通過BERT-Large模型對關稅政策進行語義解析&#xff0c;結合LSTM-GRU混合模型、DCC-GARCH動態相關性模型及蒙特卡洛情景分析&#xff0c;量化解析7月11日黃金價格異動背后的三大驅動因子——政策沖擊、美元指數壓制與美聯儲政策不確定性&#xff0c;提供AI…

V少JS基礎班之第七彈

文章目錄一、 前言二、本節涉及知識點三、重點內容1、prototype2、constructor3、中場回顧&總結4、__ proto__5、第二次中場回顧&總結6、原型鏈6、第三次中場回顧&總結7、原型鏈中的奇點一、 前言 第七彈內容是原型鏈。網絡上原型鏈的資料很多。但是我看了很多篇&…

Nuxt3自動打包及自動修改端口號腳本

Nuxt3自動打包及自動修改端口號腳本技術文章大綱 背景與需求 Nuxt3作為現代Vue框架&#xff0c;開發中常需處理打包部署和端口配置問題。自動化腳本可提升效率&#xff0c;減少手動操作錯誤。 實現自動打包 利用Nuxt3內置命令結合Node.js腳本實現自動化構建。通過npm run build…

紅海云國資案例之多層級工貿集團的一體化HR平臺建設實戰

在中國經濟邁向高質量發展的進程中&#xff0c;國有企業作為重要的經濟支柱和行業引領者&#xff0c;正面臨著數字化轉型的深刻變革。F集團作為G市首家實現工貿一體化運營的大型企業&#xff0c;位列中國輕工業百強&#xff0c;其在人力資源數字化轉型中的探索和實踐&#xff0…