跳至主要內容
讀 8 分鐘雜記

部落格經營|基礎網頁設計(2)-CSS篇之一

繼上一篇介紹完HTML的架構,這篇要介紹CSS的概念喔! 如果有還沒看過上一篇的可以回去看喔! 上一篇 認識CSS (Cascading style sheet , CSS),簡單來說是負責視覺性的編輯,也是設計風格發散的開始。根據顏色、排版、字型大小等等的方式來呈現視覺上的差異。 其中,編寫網頁的順序必須先寫html再編寫CSS。舉例來說,html就像蓋房子的鋼筋,先打好網頁的架構以及主要內容,需要視覺傳遞的文字、圖片等資訊。隨後,加…

#部落格經營#生科出路#跨領域轉職
部落格經營|基礎網頁設計(2)-CSS篇之一

導讀:這篇文章聚焦於「CSS 自學 筆記」,幫你快速掌握重點。

上一篇介紹完HTML的架構,這篇要介紹CSS的概念喔! 如果有還沒看過上一篇的可以回去看喔!

上一篇

想我有更新時跟你說一聲嗎?

每封信我會整理新文章、期刊重點跟生醫職涯趨勢,三分鐘看完就行。

想收哪些電子報?(可複選)

我會寄新文章、期刊重點跟生醫職涯趨勢,偶爾補活動跟工具更新。覺得不想看了,每封信最下面都能一鍵退訂,不囉嗦。

認識CSS

(Cascading style sheet , CSS),簡單來說是負責視覺性的編輯,也是設計風格發散的開始。根據顏色、排版、字型大小等等的方式來呈現視覺上的差異。

其中,編寫網頁的順序必須先寫html再編寫CSS。舉例來說,html就像蓋房子的鋼筋,先打好網頁的架構以及主要內容,需要視覺傳遞的文字、圖片等資訊。隨後,加上CSS就像在鋼筋中間填滿水泥、貼上磁磚,讓這些架構更加豐富,也更能夠讓訪客了解這間房子的樣貌。

套用CSS

套用CSS的方式有3種,分別為:

套用方式說明
⾏內套⽤ (inline css)在 HTML 標籤直接宣告樣式
嵌入套⽤ (embedded css)嵌入於 HTML ⽂件的 <style> 標籤內
外部連接 (External Link css)外部 CSS 檔案 (附檔名 .css)

通常會寫好主要風格樣式後存放在一個style.css檔,隨後每個分頁都能導入這個CSS以達到大部分相同風格的效果。隨後再使用嵌入套用的方式進行該分頁的微調。

Normalize.css

因為原先的html有預設一些樣式,例如ul會默認有圓形符號,h1、h2等會有固定行高等等。因此藉由normalize.css的導入可以排除這些預設的問題。建議在之後的每支程式都先導入,會減少很多麻煩。


開源Normalize.css文檔

選擇器(selector)

主要在使用CSS的時候,必須告訴電腦要改變style的部分在哪裡,可以根據屬性、名字等等(完整說明請見 MDN CSS 選擇器)。主要選擇器類型如下:

選擇器類型語法說明
屬性選擇器元素名稱 { }以 HTML 標籤名稱選取所有同類元素
Class 選擇器.class名稱 { }以 class 屬性選取,可重複使用於多處
ID 選擇器#ID名稱 { }以 ID 屬性選取,頁面唯一
後代選擇器父層 子層 { }以巢狀結構選取深層元素

屬性選擇器

html內的標籤即為相對應屬性,在CSS檔案中宣告要改變樣式的屬性。

Class選擇器

在html裡面,當有很多相同標籤出現,但只想要改變特定的時候,可以給予標籤class命名,並在CSS檔案中以"."+class名稱宣告要改變樣式的部分。

ID選擇器

與class選擇器相同,可以給予標籤ID命名,值得注意的是,同一個標籤可以命名多個class而ID就只能有一個,隨後在CSS檔案中以"#"+名稱宣告要改變樣式的部分。

(選取了class_selector的div內容文字顏色改為紅色,因此ID_selector沒有被更動;而ID選擇器則選到ID_selector的div內容文字大小改為32px)

後代選擇器

當想改變特定部分時,除了能使用class,ID選擇器以外,也能透過巢狀結構的特性,利用父層子層的關係來找到特定區域。

父層子層、繼承與取代

若以A標籤夾住B標籤,則A為父層,B為子層。相當於A裡面的B。通常CSS的特性會有繼承的效果。也就是說,透過改變父層的樣式,子層的狀態也會跟著改變。

此外,因為電腦閱讀方式是從上到下,在CSS檔案中若同樣設定A標籤的內容,則較下方提到的改變會取代掉先前的更動。

切記能夠盡量減少後代選擇的層數,在例子中,雖然能夠以div ul li #first的方式選到"a"。

但事實上,使用#first的方式就可以直接達到同樣效果。然而後者的電腦運算方式會快得多。若在SEO或優化網頁的過程中,這部分是主要影響速度的一部份。

Box Model

在網頁排版的時候,事實上是被裁切成許多不同的塊狀(盒狀 / Box Model)。試著把html寫好的內容想像成一個個盒子。把巢狀結構想像成俄羅斯娃娃一樣,大的盒子裡面可以裝許多小盒子。

但是在排版的時候,如果想要改變盒子的大小,以及彼此之間的間距應該怎麼辦呢?

在排版過程中,大多使用的是box model ,透過宣告盒子間的間距、盒子高度跟寬度等等來達到想要的效果。

padding : 下圖中黑線以內,綠色區域就是padding的區域,透過改變padding可以把這個區塊中的物件向中心推擠。(若物件靠左則會右推,靠上則往下)。

margin : 下圖中黑線以外,紅色區域為margin,透過改變margin來將物件遠離此區塊。(物件在左則會向左推開)。

寫法範例說明
寫法1padding/margin: 5px;上下左右都推開5px
寫法2padding/margin: 5px 3px;上下推開5px;左右推開3px
寫法3padding/margin: 5px 3px 1px;上推開5px,左右推開3px,下推開1px
寫法4padding/margin: 5px 3px 1px 3px;上5px,右3px,下1px,左3px

 #使用padding/margin: 0 auto的方式可以將區塊置中

border : 事實上border同樣也會占版面。可以透過px solid/dot color來選擇邊框的粗細 實虛線以及顏色

另外,border也時常被用來除錯以及將區塊可視化。

Box sizing: border box

在排版的過程中,假如為了要將大盒子內的物件分開而使用了padding,這會造成整體的大小超出原本預期排版的間隔配置。這時候可以使用box sizing: border box的方式,可以解決超出版面、區塊的問題。

後記

如果你喜歡這樣解說的方式的話,幫我按讚拍手分享! 如果你覺得有疑問或者有錯誤的話,歡迎在下面留言告訴我 !

大家都在問

文章分享了繼上一篇介紹完HTML的架構,這篇要介紹CSS的概念喔! 如果有還沒看過上一篇的可以回去看喔! 上一等實務經驗,對想要部落格經營的人很有參考價值。

可以透過實習、專案經驗、技能培訓等方式累積跨領域經驗,並善用生科背景的分析能力。

跨領域實習能幫助你探索不同職業選項,累積多元技能,並建立更廣泛的職場網絡。

想持續收到

訂起來,重點幫你整理好

每週收集職缺、技能與實作題,讓你不錯過跨域資訊與行動題。

新文章第一時間寄到信箱
期刊新聞跟產業趨勢每天幫你看
偶爾丟好用的工具過去
想跟同樣在跨領域路上的人聊天?加入我們 LINE 討論群。 → 加入「生醫跨領域討論群

覺得有用的話,分享給需要的人

再看點別的

同個主題的其他文章。