通過以下示例拆解網頁整體布局結構:
一、基礎結構(HTML骨架)
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><meta name="description" content="Globe Trekk - HTML Traveling Template">
</head>
<body><!-- 頁面內容 -->
</body>
</html>
代碼解釋:?
-
DOCTYPE聲明:定義HTML版本(如
<!DOCTYPE html>
)。 -
HTML根標簽:
<html lang="zh-CN">
(語言聲明為中文)。 -
頭部(Head):
-
<meta charset="UTF-8">
(支持全球幾乎所有的語言字符)。 -
<meta http-equiv="X-UA-Compatible" content="IE=edge">
(指定網頁在 IE 瀏覽器中的渲染模式)。 -
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">(
控制網頁在移動設備上的顯示方式,實現響應式設計。 -
<meta name="description" content="Globe Trekk - HTML Traveling Template">(
為網頁添加描述信息)
-
-
主體(Body):網頁核心內容區域,如頁眉、導航、內容區、頁腳
二、布局設計
1.?布局模式選擇
-
Flexbox:適合一維布局(橫向或縱向排列)。
-
CSS Grid:適合二維復雜布局(行和列)。
-
表單布局:輸入項為橫向排列(PC端)或縱向排列(移動端)
2.?響應式設計
-
移動端適配:
-
漢堡式菜單 和 搜索表單 會垂直堆疊。
-
輸入框和按鈕寬度調整為 100%,適應小屏幕。
-
3.?典型布局結構
-
頁眉(Header)
-
頂部導航欄:
-
"MENU"(菜單按鈕,用于全局導航)。
-
"BOOK NOW"(行動號召按鈕,高亮顯示,可跳轉至指定頁面)
-
-
Logo:包含文字 "GLOBE" 和 "TREKK",采用 Logo + 品牌名稱的組合,字體較大以強調品牌
-
-
主體內容(Main Content):核心標語 + 搜索/篩選表單 + 行為按鈕。
三、核心組件
-
導航欄(Navbar):水平或垂直菜單,支持響應式折疊(移動端漢堡菜單)。
-
內容容器:卡片(Card)、列表(List)、網格(Grid)展示內容。
-
交互元素:按鈕、表單、模態框(Modal)等。
-
頁腳內容:多列鏈接、社交媒體圖標、版權聲明。
四、布局結構
整個頁面由?contain容器?包裹著,使用 Kooboo 平臺?中的 CSS Grid代碼生成工具,可視化搭建頁面結構,提高開發效率!
1. grid-template-columns
用于定義網格列的尺寸。在左側 “grid - template - columns” 區域,可以添加多列,每列的值可設置:
- fr 單位:代表彈性單位,按比例分配空間。比如設置
1fr 1fr 1fr
,表示三列將平均分配容器寬度。 - px 單位:設置固定像素寬度,如
100px
?,列寬就是 100 像素。 - 其他長度單位:像 em、rem 等也可使用 ,比如
2em
?。
2. grid-template-rows
用于定義網格行的尺寸,操作和grid-template-columns
類似。在 “grid - template - rows” 區域設置:
- 例如
0.2fr 1fr 1fr
?,第一行占容器高度的較小比例(0.2 份),后兩行按 1:1 比例分配剩余空間。
設置好相關屬性值后,點擊左側對應屬性旁的 “add” 添加設置,或點擊右側代碼區域上方的 “Save” 保存設置,就能應用網格長度設置到對應的.container
類元素上 。
3. row - gap 和 column - gap
- 功能:分別用于設置網格行與行之間、列與列之間的間距。當前值都為
0px
?,意味著網格項之間沒有間隙。可修改數值和單位(如 px、em 等)來調整間距大小。
4. Implicit Grid(隱式網格)相關
- grid - auto - columns:定義隱式網格列的尺寸。隱式網格列是當在網格容器中放置的內容超出顯式定義的網格列時,自動創建的列。點擊 “add” 可添加多個設置值。
- grid - auto - rows:定義隱式網格行的尺寸 。原理同
grid-auto-columns
,用于設置超出顯式定義網格行時自動創建行的大小。 - grid - auto - flow:控制隱式網格軌道的生成方向。當前值為
row
?,表示按行方向自動生成隱式軌道。其他可選值有column
(按列方向生成)和dense
(用于更緊湊的網格布局,與前兩者結合使用 )。
5. Grid Placement(網格放置)相關
- justify - items:設置網格項在網格軌道水平方向(主軸)上的對齊方式。
initial
是默認值,其他常見值如start
(左對齊)、end
(右對齊)、center
(居中對齊)等 。
- align - items:設置網格項在網格軌道垂直方向(交叉軸)上的對齊方式。
initial
為默認,還有start
(頂對齊)、end
(底對齊)、center
(居中對齊)等取值?
- justify - content:控制整個網格內容在網格容器水平方向上的對齊方式。
initial
為默認,還可設為start
(左對齊)、end
(右對齊)、center
(居中對齊)、space - between
(兩端對齊,中間間隔均勻)等 。
- align - content:控制整個網格內容在網格容器垂直方向上的對齊方式。
initial
是默認,也有start
(頂對齊)、end
(底對齊)、center
(居中對齊)、space - between
(上下兩端對齊,中間間隔均勻 )等選項。
6. Area Box(區域框)相關
- width?和?height:用于設置網格區域(由
grid - template - areas
定義的區域 )的寬度和高度。當前值為auto
?,表示寬度和高度根據內容自動調整,也可設置固定值(如100px
?)或百分比值(如50%
?)等。
五、總結
? ? 通過對 HTML 基礎骨架的搭建,以及深入剖析 CSS Grid 各項屬性(如定義行列尺寸、設置間距、隱式網格、網格放置、區域框等相關屬性),我們能夠利用 Kooboo 平臺的 CSS Grid 代碼生成工具,高效且精準地構建網頁整體布局結構。這種可視化且功能豐富的布局方式,為打造美觀、響應式的網頁提供了有力支持,助力開發者更便捷地實現網頁設計需求。