如何寫CSS?帶您了解CSS的基本寫法與設定

Author: Amanda
如何寫CSS

CSS是什麼?跟SEO有相關嗎?和HTML、JavaScript的關聯?不只是前後端需要了解CSS,除了工程師,就連SEO從業人員也一定要稍微了解CSS。所以本篇文章主要想來分享一下CSS的一些簡易基礎知識,歡迎繼續閱讀跟我一起了解CSS是什麼,以及CSS有哪些樣式可以設定吧!

〈延伸閱讀:好的SEO網站架構是什麼?這樣做SEO成功率才會高!

 

CSS是什麼?做網站為什麼一定會碰到CSS?

CSS全名為「Cascading Style Sheets」,中文稱為「層疊樣式表」或「串接樣式表」。是網頁設計中很重要的核心技術之一,另外兩者是HTML、JavaScript。HTML是網站的「骨架」,用來設定標題、段落、圖片位置等;而CSS則是網站的「皮膚」,用來設定版面間距、文字顏色大小等各種樣式;JavaScript就是「肌肉」,是讓畫面可以改變、移動、互動的存在,而不是死死的一張網頁。

所以其實三者缺一不可,只有瀏覽器預設的HTML樣式,網站將會極為簡陋且不適合閱讀,講直白一點,就是不會符合現代人的美感。若是缺乏 CSS樣式的設計,所有網站看起來將會大同小異,無法建立品牌形象。

〈延伸閱讀:什麼是XML? 跟HTML有什麼不一樣?

〈延伸閱讀:什麼是 Javascript? 網站設計常用哪些 JavaScript 功能?

 

開始寫CSS前要準備什麼?

想要開始寫CSS,不需要準備太複雜的設備,只要有電腦與正確的軟體工具即可。但同時也要了解CSS的運作邏輯:「後寫的會蓋掉先寫的,越貼近元素本身的設定優先權越高。」

瀏覽器讀取程式碼是從第一行往下讀到最後一行,如果針對同一個標題,前面寫紅色、後面寫藍色,最後顯示的一定是藍色。另外,同一個元素上,寫在標籤裡面的 style=""(行內樣式),會蓋掉寫在 <style> 裡或外部 CSS 檔案的設定,樣式寫在哪、先後順序如何,會直接決定網頁最後的長相。

 

編輯器(Code Editor)

只要能編輯文字的編輯器都可以用,像是電腦內建的記事本也可以,但為了效率與除錯的方便性,建議使用專業的程式碼編輯器,像是Visual Studio Code (VS Code),VS Code會有語法顏色標示,打錯字還會變色提醒,也會自動帶出屬性建議,能夠大幅減少寫錯程式碼的機率,是專業工程師的必備工具。

 

瀏覽器(Browser)

推薦使用Google Chrome,Chrome內建了非常強大的「開發者工具(DevTools)」,按一下F12就能打開。這個工具可以直接看到網頁上的每一個元素是用什麼CSS寫的,甚至可以直接在上面試改樣式、調整大小,是解決版面跑版問題的神器。

 

一段CSS長什麼樣子?CSS基礎語法入門

一段標準的CSS規則(Rule Set)結構如下:

選擇器 {
    屬性: 值;
    屬性: 值;
}

  • 選擇器:要改的那個東西(例如:標題 h2、p)。

  • 屬性:要改什麼特徵(例如:顏色 color、字體大小font-size)。

  • 值:改成什麼樣子(例如: red、16px)。

 

記得使用{}包住,並且在每一行寫完都要加上分號「 ; 」,這是最容易忘記的地方,少了一個分號,後面的樣式可能就會全部失效。

 

最常見的三種選擇器:標籤、class、id

想要精準控制網頁元素,得先學會這三種抓取元素的方式:

  1. 標籤選擇器:直接抓 HTML 標籤。例如寫 p { color: black; },網頁裡所有的段落文字都會變黑色。這範圍太大,通常只用來設定全站最基礎的樣式。

  2. class 選擇器(類別):是CSS最常用的選擇器,在 HTML 裡幫元素取個分類名 class="title",CSS 裡就寫 .title,一個 class 可以重複用在很多不同元素上,方便管理,程式碼也比較乾淨。

  3. id 選擇器:在 HTML 裡寫 id="header",CSS 裡寫 #header,id 就像身分證字號,一個頁面裡只能出現一次,不能重複,id選擇器限制多,通常只會用在獨一無二的區塊,像是最上方的選單列。

 

寫好的CSS放哪裡?一開始就要決定好!

寫好的CSS 有三個位置可以放,放哪裡很關鍵,不但會影響後續好不好修改,也會直接影響網站開啟的速度,以下是CSS的主要有三種放置方式,搭配範例說明讓你可以更清楚。

 

CSS寫法1:外部樣式表(External Stylesheet)

這是最標準也最推薦的做法,將所有樣式規則寫在一個副檔名為 .css 的檔案裡(例如 style.css),再透過 HTML 的 <link> 標籤帶入這個檔案。

這樣做的好處是瀏覽器會把這個檔案「存起來」(快取),當使用者點閱網站的其他頁面時,不需要重新下載樣式檔,網站速度會變快,網站載入速度快、效能比較高分,Google 給的SEO分數自然就會比較高。

 

CSS寫法示範: 在 HTML 的 <head> 裡面加上這一行

<link rel="stylesheet" href="style.css">

在 style.css 檔案裡寫:

H2 {
    color: blue;
    font-size: 24px;
}

 

CSS寫法2:內嵌樣式(Internal Stylesheet)

內嵌樣式寫法是將CSS寫在 HTML 檔案的 <head> 區塊內,使用<style> 標籤把樣式碼起來,這種寫法通常用在「只有這一個頁面需要樣式」,不需要跟其他頁面共用的情況,這種寫法具備彈性與靈活,根據不同頁面進行不同的微調。

 

CSS寫法示範: 直接寫在 HTML 檔案裡

<head>
    <style>
        body {
            background-color: #f0f0f0;
        }
        .main-content {
            width: 80%;
        }
    </style>
</head>

 

CSS寫法3:行內樣式(Inline Styles)

直接寫在 HTML 的標籤上面,透過 style 屬性來控制。這種寫法的方式比較繁瑣且複雜,需要針對每一段進行設定,也因為樣式跟結構混在一起,日後如果想要修改會非常麻煩,也會讓 HTML 檔案看起來沒有那麼乾淨。對 SEO 來說,過多的程式碼會讓爬蟲讀起來比較費力,除非是 JavaScript 動態控制或萬不得已的情況,建議可以盡量避免,個人推薦可以使用第二種內嵌方式,統一寫在一起,也比較方便修改。

 

CSS寫法示範:直接寫在標籤

<p style="color: red; font-weight: bold;">
    這是一段紅色文字的CSS示範
</p>

 

如何寫CSS?先了解CSS的網頁樣式

開始寫CSS程式碼之前,建議先熟悉「網頁樣式架構」的基本元素,其中包含了控制版面結構的「盒模型」,以及決定視覺呈現的「文字與顏色設定」…,下面會介紹常見的樣式元素。

 

什麼是盒模型?

什麼是盒模型?就是讓區塊不要擠在一起的模組(模型),網頁上的每一個圖片,每一段文字,在瀏覽器的邏輯裡都是長方形的盒子(模型),要排版就要先搞懂這個「盒子」的構造,就是「盒模型(Box Model)」,一個標準的CSS從內到外分為四層。

 

第一層Content(內容)

內容是CSS最重要的部分,用來顯示文字、圖片。

 

第二層:Padding(內距)

可以設定內容跟邊框之間的留白,希望按鈕大一點,文字不要貼邊框可以調整這裡。

 

第三層Border(邊框)

邊框可以設定粗細與顏色,是盒子的邊緣線條。

 

第四層Margin (外距)

定義盒子跟其他元素之間的距離。想讓兩個區塊分開,不要黏在一起,就是使用這個屬性。

 
Margin與Padding的使用時機

很多時候版面看起來很擠,或是位置不對勁,通常是這兩個屬性混淆了。這裡有一個簡單的判斷原則:「自己內部的空間用 padding,跟別人的距離用 margin」。設定得宜,版面才會清爽,使用者的閱讀體驗才會舒服。

 

文字與顏色:讓網頁看起來舒服又美觀的關鍵

網站如果字太小、顏色太淡,使用者看得不舒服,看不了太久就會離開,網站的高跳出率對SEO是很大的傷害,如果有好的CSS設定美觀、整體的文字與顏色,網站質感與使用者體驗就會不一樣,對網站的整體印象絕對是加分的。

 
  • font-size(字體大小):font-size就是在設定字體的大小,不同標題的文字要有固定的大小字體之分,大小字要設定良好的字距,閱讀起來會比較舒適且明確。

  • line-height(行高):設定行與行之間的距離。這是讓長篇文章變好讀的關鍵,通常設定在字體大小的 1.5 倍左右最剛好,避免字與字上下黏在一起。

  • letter-spacing(字元間距):設定字與字左右的距離。在標題或大字設計時,稍微把字拉開一點,視覺質感會立刻提升。

 

常用單位速解有哪些?px、rem與%的差異

寫CSS的時候,數值單位跟屬性名稱一樣關鍵。先弄清楚px、%還有rem的差別,才能精準還原設計稿,不會寫出跑版的網頁。

 

px(像素)

px是絕對單位,最直觀也最死板。 寫下16px就是16像素,不會因為螢幕解析度不同而改變。 這特性適合設定邊框粗細,或是固定的裝飾圖案。 但在手機瀏覽時px常常會顯得太小,也無法跟隨瀏覽器設定自動縮放,閱讀體驗比較差。

 

rem(相對單位):相對於根元素

rem是目前的主流,數值跟著網頁根元素跑。 根元素html設定多少,rem就以那個數字為基準倍數。這種做法讓網頁能配合使用者的瀏覽器設定自動調整大小,符合無障礙網頁規範,SEO分數也比較高。 文字大小跟間距很適合用rem。

 

%(百分比):相對於父元素

%是相對單位,比例依照上一層容器的大小來決定。 要做RWD響應式網頁一定會用到。 設定寬度50%,區塊就會佔容器的一半,不管螢幕變寬變窄都一樣。 流動版面Fluid Layout主要就是靠百分比在控制。 

 

CSS 常用樣式功能總表

上述介紹了幾種常見的CSS撰寫會用到的資訊,那以下是整理出來的關鍵屬性,方便你快速查詢、對照使用的比較表:

 

CSS樣式大全表格

CSS屬性/概念 中文名稱 功能描述
padding 內距 內容與邊框之間的空間
margin 外距 區塊與區塊之間的距離
border 邊框 盒子的外框線條
display 顯示模式 決定元素是區塊、行內或彈性盒
font-size 字體大小 決定文字顯示的大小
font-weight 字體粗細 設定文字粗體
width / height 寬度/高度 決定盒子的大小
text-align 文字對齊 靠左、置中或靠右
line-height 行高 文字行與行之間的垂直距離
color 文字顏色 設定文字的顏色
background 背景 設定背景色或圖片
width / height 寬度 / 高度 設定元素的尺寸
max-width 最大寬度 限制元素最寬不能超過多少
float 浮動 讓元素靠左或靠右,文字會繞著它
clear 清除浮動 解除 float 造成的影響
border-radius 圓角 讓方塊變成圓角或圓形
box-shadow 陰影 替元素加上陰影

(手機版表格可左右滑動)

 

 

RWD響應式設計入門

網站的行動裝置流量比桌機高很多,RWD(Responsive Web Design,響應式網頁設計)可以子適應載體大小,RWD早就是網站設計的標準配置,Google早就宣布沒有RWD的網站,將會嚴重影響SEO排名。

〈延伸閱讀:RWD響應式設計的製作特點

〈延伸閱讀:RWD網頁設計是什麼意思?

 

RWD為什麼可以自動調整網站大小?

RWD 網站設計可以做到「一個網站,適應所有裝置」,就是因為透過使用CSS 技術,CSS 讓網頁能偵測使用者的螢幕寬度,自動調整圖片大小、文字級距與版面配置。舉例來說:RWD三個欄位的網站內容在桌機看是左右三格,但換到手機看網站時,RWD就會自動排列成「單欄式由上而下的佈局」,RWD會自動重新排列網頁資料。

 

RWD實作: 媒體查詢(Media Queries)

語法如下:

@media (max-width: 768px) {
    .column {
        width: 100%;
    }
}

 

程式碼說明:

「當螢幕寬度小於或等於 768px(平板、大銀幕手機),將 .column 類別寬度設定為 100%」就可以將不同尺寸的裝置調整到「最佳化大小顯示」。

 

養成寫CSS的好習慣,從一開始就幫自己省麻煩

CSS程式碼寫得有點亂,當下可能會覺得沒差,但如果過了兩個月要修改時就會非常痛苦。建議你養成兩個簡單的寫CSS好習慣,如此一來可以大幅降低維護成本,也能避免網站因為程式碼太髒亂而變慢。

 

CSS好習慣1:命名要可以看名字就要知道它是做什麼的

命名最忌諱用 .box1、.div2 這種毫無意義的代號,或是直接用顏色來命名(如 .red-button)。

可以思考看看為什麼不建議用顏色?如果哪天設計改版要變成「藍色」,結果程式碼還叫 .red-button,這樣將會造成維護上的大混亂,後續在使用時,也會有疑慮。

因此最好的方式是根據「功能」來命名。例如使用.btn-submit(送出按鈕)。不管外觀顏色怎麼變,它的功能永遠不會變。這不僅方便團隊接手,也讓搜尋引擎爬蟲在理解網頁結構時,可以透過有意義的class名稱稍作輔助判斷。

 

CSS好習慣2:善用註解分區,把幾千行的程式碼變成「有目錄的書」

隨著網站功能增加,CSS 檔案很容易就會突破上千行。如果沒有整理,要找一個按鈕樣式可能得花上好幾分鐘滑鼠滾輪。

建議多善用 CSS 的註解功能: /* 這裡是頁首 */。

把 Header、Footer、關於我們、產品列表等不同區塊的程式碼分開標示,就像幫書本加上目錄一樣,要找哪一區直接跳過去,在找尋時更快速方便,省下找尋的時間,結構清晰的程式碼,未來比較容易維護,也可以避免寫出重複語法,讓檔案可以輕量化,讓網站載入速度(PageSpeed)更快,拿到更高的分數。

 

CSS跟SEO的關係!看得懂的版面,才有機會排得前面

別以為操作SEO只是塞塞關鍵字就可以排上搜尋引擎的前幾名,網站的「體質、架構」好不好更是重要,而其中CSS就佔了很大的因素。搜尋引擎的目標是提供使用者「最佳的搜尋體驗」,而CSS正是打造優質體驗的關鍵。

 

排版清楚、內容易讀,搜尋引擎也比較喜歡

CSS 排版混亂,導致文字重疊、按鈕太小無法點擊、廣告遮擋主要內容,都會被google演算法判定為「使用者體驗不佳」進而影響排名。 透過 CSS 可以建立明確的標題 H1、H2、H3...,易於辨識的標題能幫助搜尋引擎快速理解網頁內容的重點。

 

RWD、行動版體驗與基本速度觀念

搜尋引擎最重視的就是「手機版」的表現,網站沒有針對手機的CSS 進行響應式優化(RWD),像是「版面跑版」、「字體過小」、「點擊位移」,對網站都會有結構上的扣分, CSS 寫法也會影響 Google 「網站核心指標(Core Web Vitals)」: 

  • LCP(最大內容繪製):載入順序錯誤,造成網站第一個最大檔案拖慢顯示速度, LCP 分數就會很低。

  • CLS(累計版面位移):若圖片或區塊未設定好寬高,載入時畫面會跳動,這會嚴重扣分。

〈延伸閱讀:RWD網頁設計並沒有都一樣!

〈延伸閱讀:PageSpeed Insights (PSI) 是什麼? 對SEO有影響?

 

用CSS補強,不要用CSS把重要內容「藏」起來

在 SEO 操作中,絕對要避開一種被視為作弊的「黑帽手法」:利用 CSS 將關鍵字文字設定為 display: none(隱藏)或將文字顏色設定為與背景相同。這種試圖欺騙爬蟲的行為,一旦被演算法偵測到,網站將面臨嚴重的懲罰甚至被從搜尋結果中除名。

正確的SEO策略,是利用CSS讓重要資訊在視覺上更吸引人,引導使用者閱讀與互動,進而提升停留時間與轉換率,這才是運用CSS技術提升排名的正途。而達文西數位科技只做正確的SEO策略、經營,我們絕不操作黑帽SEO來獲取短暫的流量與排名。

〈延伸閱讀:黑帽SEO不可行,被Google抓到很嚴重啊

 

讓專業能力,成為你經營SEO的強力助攻!

一個優秀的網站必須兼具「好看」與「好用」,CSS決定了網站的視覺高度,SEO決定了網站的市場能見度。如果說CSS是網站完美的「皮膚」,那麼專業的SEO策略與經營就是讓這層皮膚在市場聚光燈下被看見的關鍵。

如果你有網站設計的需求,歡迎與達文西數位科技聯繫,我們有豐富的網站設計經驗、極具美感的風格設計、專業的SEO策略規劃,可以幫助你從網站規劃設計到上線經營,讓你排上在競爭激烈的市場,保有一席之地。

〈延伸閱讀:SEO是什麼?SEO怎麼做?教您如何過濾SEO公司,保證有用

〈延伸閱讀:網站設計最重要的10件事,網頁設計公司不會告訴你實話

 

(本文為達文西數位科技所有,嚴禁轉載圖文)

擔任SEO助理,負責關鍵字研究、資料彙整、網站內容優化、策略發想及其他相關工作。SEO領域需要持續精進與學習,期許為客戶創造價值。

SEO套版網站,優惠 $ NT 62,000 (1年代管+SSL)

請與我們聯繫
線上客服 TOP