網頁程式設計

節錄常用HTML標記與常用CSS屬性 (停止更新)

標頭區(HTML)

head標籤包住內容, 用於設定文件

常用功能

範例

HTML

head
設定網頁的字元編碼, UTF-8 支援中文, 避免產生亂碼
meta charset="UTF-8"

RWD:讓手機裝置能以正常比例顯示網站
meta name="viewport" content="width=device-width, initial-scale=1.0"

網站標題(顯示在瀏覽器標籤上)
title網站標題/title

外部CSS
link rel="stylesheet" href="style.css"

內部 CSS
style
body {
  color: #020202;
  line-height: 1.6;
}
/style
/head

網頁區塊結構(HTML)

標籤 語意 用途 預設 display
header 頁面或文章開頭 LOGO、標題、主選單 block(會換行)
nav 導航 主選單、導覽列 block
main 主內容(唯一) 頁面核心內容(整個網頁只能有一個) block
footer 頁尾 版權、聯絡方式、連結群組 block
article 可獨立內容(通常包含自己的header, footer) 文章、貼文、資訊卡 block
section 主題區塊 章節、主題內容 block
aside 側欄 補充資訊、廣告、工具欄 block
address 聯絡資訊 作者資訊、Email、地址 block
time 時間語意標籤 日期、時間、修改時間、發文時間...等 inline(不換行)

範例

HTML

body
  header.../header 頁首
  nav.../nav 導覽列
  aside.../aside 側欄
  main 主內容
    section.../section
    section.../section
  /main
  article.../article
  footer.../footer 頁尾
/body

以上使用header, nav, main, footer, article, section, aside為例(沒有打出CSS的部分), 結構大致如下


內容區(HTML)

body

為網頁的主要內容區

範例

HTML

head.../head
body
  h1主標題/h1
  p段落內容/p
/body

h1~h6

標題文字

p

段落文字, 用於呈現一般文本內容

範例

HTML

p這是一段文字/p

br

用於強制換行

範例

HTML

p第一行br第二行/p

hr

用於分隔內容或章節的水平線

常搭配CSS屬性

範例

HTML

h2標題/h2hr
p段落內容/p

!-- ... --

用於註解, 不會顯示於瀏覽器上; 或拿來暫時關閉HTML程式碼片段(CSS要使用/* 註解文字 */)

範例

HTML

p
  ...這段文字會顯示... (註解用文字不顯示於瀏覽器)
/p

div

區塊容器,用於布局或包住其他內容。

範例

HTML

div包住的內容套用css
div class="header"
  p內容/p
/div

CSS

內距外距設為10px
.header {
  margin: 10px;
  padding: 10px;
}

span

行內文字容器, 通常用於局部套用樣式。

範例

HTML

span包住的內容二字體變白色
p內容一
  span style="color: white"內容二/span
/p

字體設定(HTML)

em

用於使文字呈現強調語氣, 預設以斜體顯示

範例

HTML

p
  ...段落...
  em重點文字/em
  ...段落...
/p

i

表示斜體, 用於表示專有名詞、術語...等

範例

HTML

pi一段斜體文字/i/p

center

用於使文字、圖片、表格...等置中(過時屬性, 已被CSS取代)

HTML

pcenter置中這段文字/center/p

strong

用於使文字呈現強調語氣, 預設以粗體顯示

範例

HTML

p
  ...段落...
  strong一段加粗的重點文字/strong
  ...段落...
/p

b

純粗體, 用於標題、裝飾、術語...等

範例

HTML

h2b標題加粗/b/h2

s del strike

皆用於呈現刪除線,<s> 表示內容不再正確/適用/有效, <del> 在語意上表示已刪除, <strike> 為視覺上的純刪除線(過時屬性, 已被CSS取代)

範例

HTML

p原價s1000元/s優惠價800元/p
pdel被刪除內容/del新內容/p

small

用於使字體縮小, 常見於註解、版權說明...等

範例

HTML

p...內容...small(註解)/small...內容../p

u

增加文字底線,常用於標示重要文字

範例

HTML

pu底線標註文字/u/p

mark

用於標記/高亮文字, 預設為黃底黑字

範例

HTML

pmark底線標註文字/mark/p

sup sub

用於使文字變為上標/下標

範例

HTML

p銨根: NHsub4/subsup+/sup/p

圖片、多媒體、超連結...

img

用於插入圖片, 預設為inline(不換行)

HTML屬性

範例

HTML

img src="picture.jpg" alt="小圖示" width="200" title="一段提示文字" /
img src="picture.png" alt="一張圖片" /

下圖為呈現在網頁上的樣子

audio

用於播放音訊檔, 可搭配控制列、循環播放或延遲加載

HTML屬性

範例

HTML

audio controls
  source src="audio.mp3" type="audio/mpeg" /
  您的瀏覽器不支援音訊播放。
/audio

下列為播放效果示範

video

用於播放影片檔, 可控制播放、暫停、音量, 可搭配字幕

HTML屬性

範例

HTML

video controls width="100%" poster="video.mp4"
  source src="video.mp4" type="video/mp4" /
  您的瀏覽器不支援影片播放。
/video

下列為影片播放效果示範

iframe

用於嵌入另一個 HTML 文件或網頁

HTML屬性

範例

HTML

iframe title="rickroll" src="https://www.youtube.com/embed/dQw4w9WgXcQ" width="100%" height="400px" allowfullscreen /

下列為嵌入網頁效果示範

清單(HTML)

ul ol li 網頁清單

ul 為無序清單(unordered list), 以符號建立沒有順序的清單, 預設圖案為實心圓. 常用於功能列表、導覽列...等
ol 為有序清單(ordered list), 以數字或字母建立具有順序的清單, 預設為數字. 常用於步驟、流程、排名...等
li 為清單項目(list item), 無序跟有序清單裡的每個項目都要用li表示. 項目裡可放入文字、圖片或p、div、span...等標籤

範例

HTML

ul
  li項目/li
  li項目/li
  li項目/li
/ul

ol
  li項目一/li
  li項目二/li
  li項目三/li
/ol

網頁表格(HTML)

table

為整個表格的容器, 用於包住整張表格

tr / th / td

tr為表格列(table row)
td為一般儲存格(table data), 用在大部分資料欄位
th為標題儲存格(table head), 預設為置中粗體 , 常用於欄位標題或列標題

caption

為表格標題, 位於表格上方, 說明整張表格用途

thead / tbody / tfoot

把表格分成三大區塊(可選用)
thead 用於表格標題列
tbody 用於主資料
tfoot 用於總結、附註...等

colgroup / col

用於設定整欄欄位的屬性(style, ...)

範例

HTML

style
  table {
    width: 70%;
    border-collapse: collapse;
    margin-top: 10px;
  }

  th,
  td {
    border: 1px solid #ccc;
    padding: 8px 8px;
    text-align: center;
  }

  th {
    background: #e8f3ff;
    font-weight: bold;
    text-align: center;
  }
  div {
    border: 1px solid #ccc;
  }
/style
table
  表格標題
  caption小考成績表/caption

  使第一欄寬度變成100px, 第二欄變成150px
  colgroup
    col style="width: 100px"
    col style="width: 150px"
  /colgroup

  表格標題
  thead
    tr
      th科目/th
      th分數/th
    /tr
  /thead

  科目跟分數資料
  tbody
    tr
      td國文/td
      td88/td
    /tr
    tr
      td英文/td
      td92/td
    /tr
  /tbody

    總結分數平均
  tfoot
    tr
      td平均/td
      td90/td
    /tr
  /tfoot
/table

下圖為呈現在網頁上的樣子

補充

下圖為同時使用colgroup與colspan在網頁上的樣子

HTML

table
  colgroup
    col style="background: lightblue; width: 100px" /
    col style="background: lightgreen; width: 100px" /
    col style="background: lightpink; width: 100px" /
  /colgroup

  tr
    thA/ththB/ththC/th
  /tr

  tr
    跨兩欄(A+B), 會套用第一與第二欄的樣式/寬度
    td colspan="2"跨兩欄/td
    td普通欄/td
  /tr

  tr
    跨三欄(A+B+C), 會套用全部三欄樣式
    td colspan="3"跨三欄/td
  /tr
/table

文本屬性(CSS)

color

用於設定文字顏色

常見值

範例

css

文字顯示為亮藍色
p {
  color: #1a73e8;
}

font-size

用於設定字體大小

常見值

範例

css

固定大小
h1 {
  font-size: 24px;
}
比父元素大 1.2 倍
p {
  font-size: 1.2em;
}

font-family

用於設定字體字型

格式
font-family: "主字體", "候補字體", sans-serif;

範例

css

瀏覽器會依序嘗試使用前面的字體,若無法載入就使用後面的
body {
  font-family: "Noto Sans TC", "Segoe UI", sans-serif;
}

font-weight

用於設定字體粗細

常見值

範例

css

h1 {
  font-weight: bold;
}
h2 {
  font-weight: 600;
}

text-align

用於設定文字水平對齊方式

常見值

範例

css

h1 {
  text-align: center;
}
p {
  text-align: justify;
}

line-height

用於設定行距

常見值

範例

css

行距較寬, 易讀
p {
  line-height: 1.8;
}

text-decoration

用於設定文字裝飾線

常見值

範例

css

移除超連結底線
a {
  text-decoration: none;
}
顯示刪除線
.del {
  text-decoration: line-through;
}

顏色與背景屬性(CSS)

background-color

用於設定元素的背景顏色

常見值

範例

css

section {
  background-color: #f0f0f0;
}

background-image

用於設定元素的背景圖片

格式
background-image: url('圖片路徑');

範例

css

元素背景顯示指定圖片
div {
  background-image: url('image.jpg');
}

background-size

用於控制背景圖片的大小

常見值

範例

css

背景圖片完全覆蓋元素
div.cover {
  background-image: url('bg.jpg');
  background-size: cover;
}
背景圖片完整顯示, 可能有空白
div.contain {
  background-image: url('bg.jpg');
  background-size: contain;
}
自訂寬高
div.custom {
  background-image: url('bg.jpg');
  background-size: 150px 100px;
}

opacity

用於設定元素透明度, 值從0(完全透明)到1(完全不透明)

範例

css

div {
  opacity: 0.5;
}

尺寸屬性(CSS)

width

用於設定元素寬度(如px, %, em, rem, vw)

範例

css

元素寬度固定 300px
div {
  width: 300px;
}

height

用於設定元素高度(如px, %, em, rem, vh)

範例

css

元素高度為視窗高度的 80%
div {
  height: 80vh;
}

max-width/min-width

用於限制元素最大/最小寬度(如px, %, em, rem, vw)

範例

css

元素寬度不會小於200px, 大於500px
div {
  max-width: 500px;
  min-width: 200px;
}

max-height/min-height

用於限制元素最大/最小高度(如px, %, em, rem, vh)

範例

css

元素高度不會小於100px, 大於400px
div {
  max-height: 400px;
  min-height: 100px;
}

佈局屬性(CSS)

display

用於變更元素呈現方式

常見類型

範例

css

div { display: block; } 預設div為block
span { display: inline; } 預設span為inline
img { display: inline-block; } 常見圖像樣式
.hidden { display: none; } 隱藏

.container {
  display: flex;
  justify-content: center; 水平置中
  align-items: center; 垂直置中
}

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

position

用於控制元素在網頁中的定位方式

常用值

範例

css

預設定位
div {
  position: static;
}

向右下各移10px, 但原本位置仍保留
.box {
  position: relative;
  top: 10px;
  left: 10px;
}

導覽列固定在頂端, 滾動頁面仍保持在畫面上
.navbar {
  position: fixed;
  top: 0;
  width: 100%;
}

一開始隨頁面滾動(relative), 滾到距離頂端0px時會固定(fixed)
header {
  position: sticky;
  top: 0;
  background: white;
}

top/botttom/left/right

在元素設定了position之後, 用於指定該元素相對於定位基準的距離, 常用於元素置中、固定按鈕、黏性導覽列

範例

css

.container {
  position: relative;
  top: 20px; 往下移 20px
  left: 40px; 往右移 40px
  width: 100px;
  height: 100px;
}

.box根據最近的.container來定位, 距離上方10px, 右邊20px
.box {
  position: absolute;
  top: 10px;
  right: 20px;
  width: 50px;
  height: 50px;
}

z-index

用來控制元素前後層級, 須搭配position才會生效, 數字越大越靠上層. 常用於彈出視窗、固定導覽列或側欄在內容上方

比較規則(由低到高)

  1. 背景與邊框
  2. 負的z-index
  3. 無z-index 的區塊
  4. z-index: auto或0
  5. 正的z-index
  6. 新的stacking context(有自己的內部層級)

範例

css

固定側欄於左上角, 位於上層
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 180px;
  height: 100vh;
  padding: 20px;
  box-sizing: border-box;
  z-index: 10;
}
主內容區, 在側欄下層
main {
  margin-left: 180px;
  padding: 20px;
  background-color: #ecf0f1;
  z-index: 1;
}

overflow

用於決定當內容超出容器範圍時如何顯示. 使用overflow-x僅控制水平滾動; 使用overflow-y僅控制垂直滾動

常用值

邊距與邊框屬性(CSS)

margin

用於調整元素與外部其他元素的距離, 兩個垂直方向的margin會取最大值

css

四邊相同
margin: 20px;
上下10px、左右30px
margin: 10px 30px;
順序為上右下左
margin: 10px 15px 5px 20px;
常用於置中
margin-left: auto;

padding

用於調整內容與邊框之間的距離, 可單獨設定每一邊

css

padding-top: 10px;
padding-bottom: 5px;
四邊相同
padding: 10px;
上下10px、左右20px
padding: 10px 20px;
順序為上右下左
padding: 10px 15px 5px 20px;

border

用於產生邊框, 可單獨設定每一邊

常用值

範例

css

四邊同寬, 上邊框單獨設定成5px灰色虛線
section {
  border-width: 3px;
  border-top: 5px dashed #868686;
}

border-radius

用於產生邊框圓角, 可單獨設定每一角

範例

css

使元素的四個角呈5px圓角
section {
  border: 2px;
  border-radius: 5px;
}

box-shadow

用於產生元素的陰影效果

常見值

格式
box-shadow: (inset) offset-x offset-y (blur-radius) (spread-radius) (color);

範例

css

產生向右與向下各偏移5px, 模糊半徑為10px的黑色陰影
section {
  width: 100px;
  height: 100px;
  background: #4285f4;
  box-shadow: 5px 5px 10px black;
}