iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
佛心分享-IT 人自學之術

HTML&CSS網頁設計學習心得系列 第 30

Day30:何謂兩欄式版面&製作兩欄式網頁流程

  • 分享至 

  • xImage
  •  

(因時間關係,最後一天改為介紹另一種網頁。)

兩欄式版面
是指將網頁內容分成兩個主要的垂直欄位,通常用來展示主內容區和側邊欄。例如,左側可能是網站的導航或文章內容,而右側則可能是一些附加的資訊,如廣告、推薦文章或連結。

兩欄式版面的應用情境:
博客網站:左側展示文章內容,右側展示相關的推薦文章或廣告。
新聞網站:主內容展示新聞報導,側邊欄展示熱門新聞或即時更新。
製作兩欄式版面的步驟與流程:

  1. 設計版面結構
    首先,決定頁面的基本結構。兩欄式布局常見的結構如下:

左欄:主要內容區(如文章、文字段落)
右欄:側邊欄(如廣告、推薦內容)
2. 使用 HTML 定義結構
用 div 元素來定義頁面的結構,將兩個欄位分別放在兩個容器中。

範例 HTML:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>兩欄式版面</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header>
        <h1>我的兩欄式網頁</h1>
    </header>

    <div class="container">
        <!-- 左側內容區 -->
        <main class="main-content">
            <h2>文章內容</h2>
            <p>這是主內容區。你可以在這裡放置文章、圖片或其他主要資訊。</p>
        </main>

        <!-- 右側側邊欄 -->
        <aside class="sidebar">
            <h2>側邊欄</h2>
            <p>這是側邊欄。可以在這裡放置廣告、推薦連結或其他次要資訊。</p>
        </aside>
    </div>

    <footer>
        <p>&copy; 2024 我的網站. 保留所有權利。</p>
    </footer>
</body>
</html>

  1. 使用 CSS 進行版面佈局
    使用 CSS 來排版,使兩欄並排顯示,可以使用 flexbox 或 grid 來實現響應式設計。

範例 CSS:

body {
    font-family: 'Arial', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
}

header {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 20px;
}

.container {
    display: flex; 
    max-width: 1200px;
    margin: 20px auto;
    gap: 20px;
}

.main-content {
    flex: 2; 
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.sidebar {
    flex: 1; 
    background-color: #ececec;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
    .container {
        flex-direction: column; 
    }
}

footer {
    text-align: center;
    padding: 20px;
    background-color: #333;
    color: white;
}

流程解釋:
定義結構:我們在 HTML 中使用 div 來定義兩個欄位,main 代表主內容,aside 代表側邊欄。這兩個欄位都包裹在 .container 容器中。

CSS 佈局:我們使用 flexbox 來佈局兩個欄位,並使用 flex: 2 和 flex: 1 指定左側內容區佔較多空間,右側側邊欄佔較小空間。

響應式設計:當螢幕寬度小於 768px 時,flex-direction 會轉變為 column,讓兩個欄位變成垂直排列,方便在手機或平板等小螢幕設備上瀏覽。

其他方法:
除了 flexbox,也可以使用 CSS Grid 來實現兩欄式佈局。grid 提供了更靈活的佈局控制,特別適合需要更多複雜配置的版面設計。

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


上一篇
Day29:描述head的內容&製作header頁首區塊
系列文
HTML&CSS網頁設計學習心得30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言