首頁·CSS 屬性

CSS 屬性辭典 154 條

每個屬性做什麼、常用的值有哪些、會不會傳給子元素,一行說清。

版面11

決定元素當作哪種盒子處理、內容溢出時怎麼辦的一類屬性。

彈性與格線24

把元素排成行、擺進格子的一類屬性。今天的版面大半靠這兩套。

盒子與間距16

尺寸和間距。外距上下會合併,內距上會鋪背景色。

文字25

字型、行高、對齊這些決定讀起來什麼樣的屬性。大多會傳給子元素。

font-size文字大小。rem 跟著根元素走,em 跟著父元素走。font-family用哪套字型。按順序往後找,直到找到裝了的那一款。font-weight筆畫的粗細。400 是一般,700 是粗體。font-style要不要斜體。italic 用專門的斜體字,oblique 只是把字壓斜。font一行寫完字型的幾個屬性。沒寫到的會被悄悄重設。line-height行與行之間的高度。不帶單位的數值最好使。letter-spacing字與字之間的間距。標題收緊一點常更好看。word-spacing詞與詞之間的間距。text-align文字在行內往哪邊靠。text-decoration底線、刪除線這些,一行寫完。text-decoration-line只決定畫哪種線:底線、頂線還是刪除線。text-decoration-color只決定那條線的顏色。text-decoration-style那條線是實線、虛線還是波浪線。text-transform把字自動變成全大寫或全小寫,原文不動。text-indent段落第一行縮排多少。text-overflow放不下的文字怎麼收尾,ellipsis 會補上刪節號。text-shadow給文字加陰影。圖片上的字靠它拉開對比。white-space空格和換行是保留還是合併。word-break長單字要不要在中間硬斷開。overflow-wrap一個詞長到撐破容器時,允許在詞內換行。writing-mode文字橫著排還是直著排。vertical-align行內元素在這一行裡上下怎麼對齊。font-variant-numeric數字要不要等寬。表格裡的數字對齊靠它。hyphens換行時允不允許自動加連字號。text-wrap決定換行怎麼斷。balance 會把標題各行長度拉勻。

顏色與背景13

文字色、背景色、漸層和透明度。

邊框13

邊框、圓角和陰影。outline 不占位置。

效果7

模糊、裁切、遮罩這類畫完之後再加上去的效果。

變形與動效14

位移、旋轉和平滑過渡。不動版面,所以畫面不容易抖。

定位7

把元素從文件流裡拎出來放到指定位置。前後順序由 z-index 定。

表格4

管表格邊框和欄寬的一類屬性。

清單4

決定清單標記的樣子和位置。

互動9

決定怎麼回應滑鼠、手指和捲動。

列印與其他7

列印和自動編號這些剩下的用途。

怎麼看這一頁

  • 會繼承的屬性,在父元素上寫一次,所有子元素都跟著用。和文字有關的屬性大多如此。
  • 簡寫屬性會把你沒寫到的值悄悄退回預設值。只寫 background: red,先前設的背景圖也一併沒了。
  • 同一個元素上規則撞車時,選擇器越具體的贏。只有具體度一樣時,才輪到寫在後面的贏。
  • 做動效盡量用 transform 和 opacity,會順滑得多。改 width 或 top 得重新算一遍版面。

常見問題

Q. CSS 屬性一共有多少個?

光是寫進標準的就有五百多個,但真正常動手的只是其中一部分。這裡按用途收了做頁面時會反覆用到的 154 個。

Q. 「繼承」是什麼意思?

意思是寫在父元素上,子元素不用另寫也照著用。字型、文字色、行高這些和文字有關的屬性大多會繼承;間距和邊框則不會。

Q. 用簡寫屬性有什麼不一樣?

一行能設好幾個值,但沒寫到的那些會退回預設值。只寫 background: red,先前設的背景圖就跟著沒了,原因就在這裡。

Q. 同一個屬性寫了兩遍,哪個贏?

先比選擇器有多具體:id 強過 class,class 強過標籤。具體度一樣時,才輪到寫在後面的贏。!important 能掀翻這套規則,但最好別用。

Q. px 和 rem 該用哪個?

rem 是根字級的倍數,使用者在瀏覽器裡把字調大,它會跟著變大。文字和間距用 rem 更穩妥;像細邊框這種必須始終一樣的值,px 更合適。