Vibe Coder

CSS 基礎:顏色、大小、間距搞定八成需求

CSS 用選擇器找到元素,再用屬性設定外觀。掌握盒模型(內容、內距、邊框、外距)和 Flexbox 排版這兩個核心概念,就能看懂並微調 AI 生成的樣式,不必每次都重新描述需求給 AI 猜。
CSS 基礎:顏色、大小、間距搞定八成需求

CSS 基礎:顏色、大小、間距搞定八成需求

AI 給的 CSS 不一定完全符合你要的設計,選擇器用錯、間距不對,不懂 CSS 就只能每次重新描述給 AI 猜。

這篇帶你掌握選擇器、常用屬性、盒模型和 Flexbox 這幾個核心概念,換顏色、調間距這種小修改,你自己幾秒鐘就能完成,不需要開一個新的 AI 對話。

你將學到什麼

CSS 是怎麼運作的

選擇器加屬性的基本格式,一次看懂規則寫法。

選擇器與常用屬性

找到你要改的元素,記住最常用的顏色、間距、尺寸屬性。

盒模型:間距為什麼難搞

內容、內距、邊框、外距四層,理解了就不再亂猜。

Flexbox 排版

水平置中、兩端對齊,幾行 CSS 搞定排版。

CSS 是怎麼運作的

CSS 規則的基本格式很單純:選擇器加上一對大括號,裡面放「屬性冒號值」的成對敘述。

/* 選取所有 h1 標籤,設定顏色和大小 */
h1 {
  color: #333333;
  font-size: 32px;
  font-weight: 800;
}

/* 選取 class 為 card 的元素 */
.card {
  background: #ffffff;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

選擇器:找到你要改的元素

選擇器選取什麼範例
標籤名所有同類標籤p { color: #333; } 選所有段落
點加 class 名有這個 class 的元素.btn { padding: 8px; }
井字加 id 名有這個 id 的元素(唯一)#header { height: 60px; }
父子(空格)父元素內所有子孫.card p { margin: 0; }
元素加冒號 hover滑鼠移上去的狀態.btn:hover { background: red; }
元素加冒號 first-child父元素的第一個子元素li:first-child { font-weight: bold; }

最常用的 CSS 屬性

類別屬性常見值
文字color、font-size、font-weight、line-height、text-align#333、16px、700、1.6、center
背景background、background-color#fff、transparent、漸層色
間距margin(外)、padding(內)8px、16px 24px、0 auto
尺寸width、height、max-width、min-height100%、300px、auto
邊框border、border-radius1px solid #ddd、8px
顯示displayblock、flex、grid、none、inline

盒模型:為什麼間距這麼難搞

每個 HTML 元素都是一個盒子,由四層組成,由內到外分別是內容、內距、邊框、外距。

層次說明CSS 屬性
content實際的內容(文字、圖片)width、height
padding內容和邊框之間的空白padding
border邊框線border
margin元素和其他元素之間的空白margin
margin 外距border 邊框padding 內距content 內容
每個元素都是一個盒子,四層由外到內一層包一層。
box-sizing: border-box預設 CSS 的 width 只算內容,加了內距和邊框後元素會變更寬。設定 box-sizing: border-box 讓寬度包含內距和邊框,更直覺。AI 生的 CSS 通常會在最頂端加這個設定。

Flexbox:排版不再靠感覺

/* 水平排列,垂直置中 */
.navbar {
  display: flex;
  align-items: center; /* 垂直軸置中 */
  justify-content: space-between; /* 兩端對齊 */
  gap: 16px; /* 子元素之間的間距 */
}

/* 卡片垂直排列,滿版寬度 */
.card-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

Tailwind CSS:原子化的 CSS 類別

Tailwind 把常用的 CSS 屬性縮短成類別,AI 生的前端很多用 Tailwind,看懂 class 名稱就能知道樣式。

Tailwind 類別等同的 CSS
text-xlfont-size: 1.25rem
font-boldfont-weight: 700
text-red-500color: #ef4444
p-4padding: 1rem(16px)
mt-2margin-top: 0.5rem(8px)
flex items-center gap-4display:flex、align-items:center、gap:1rem
rounded-lgborder-radius: 0.5rem(8px)
hiddendisplay: none
w-fullwidth: 100%
看不懂 Tailwind 怎麼辦直接問 AI:「這個 class 裡的每個部分分別是什麼 CSS 屬性?」把整串類別名稱貼給它,AI 能逐一解釋,幾次之後你就會記住常用的。

練習:讀懂一個提示框的樣式

.alert-box {
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 8px;
  padding: 12px 16px;
  color: #856404;
  display: flex;
  align-items: center;
  gap: 8px;
}
試著自己說一次淡黃色背景、橘黃色邊框、圓角八像素的提示框,內距上下十二像素左右十六像素,文字是深棕黃色,內容用 Flexbox 水平排列並垂直置中,元素之間有八像素間距。看起來就是常見的「警告」提示框。

下次打開任何網站,試著用開發者工具的 Elements 面板找到主標題,在右側 Styles 面板直接修改顏色和字體大小,確認效果後再把這些值告訴 AI,讓它寫進正式的程式碼裡。

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

margin 和 padding 有什麼不同?
padding 是內距,元素內容和邊框之間的空白,背景色會延伸到 padding;margin 是外距,元素和其他元素之間的空白,永遠是透明的,不受背景色影響。
box-sizing: border-box 是做什麼用的?
預設的 CSS 寬度只計算內容區,加上內距和邊框後元素會變得更寬。設定 border-box 讓寬度直接包含內距和邊框,尺寸更直覺,AI 生成的 CSS 通常會在最頂端加上這個設定。
Tailwind CSS 跟一般 CSS 是不同的東西嗎?
不是,Tailwind 只是把常用的 CSS 屬性縮短成類別名稱,例如 p-4 就是 padding 一 rem。看懂 Tailwind 類別的前提還是要先懂 CSS 屬性本身。
為什麼同一個元素套用多個 CSS 規則,結果卻不是我要的?
這牽涉到優先級規則。id 選擇器的優先級高於 class 選擇器,class 選擇器又高於標籤選擇器,多條規則同時作用時由優先級決定哪個生效,這也是 CSS 名稱裡「層疊」的由來。