前面的文章講到了編輯博客模板所需的 HTML 基礎知識 和對博客進行 模板布局的基本方法,文中給出的示例都是簡陋的,只能勉強將頁面框架構建起來,很難達到美觀的要求。那么怎樣才能將博客模板修飾漂亮一些呢?方法有很多,但我推薦您使用 CSS 樣式表進行控制。
CSS 樣式表是一種非常簡單易用的控制網頁外觀的語言,盡管它被稱作語言,但比那些編程語言簡單易用得多,因為它和 HTML 一樣是描述性的,而且采用直觀易懂的英文,比如 background-color: red; font-weight: bold; 等等。而且這些樣式代碼既可以方便地嵌入網頁內部,又可以獨立于網頁存儲在一個單獨的樣式表文件中。在后面的情況下,只要網頁的布局結構沒有發生變化,甚至可以為同一個博客模板設計多個樣式表文件,為博客實現 瞬間換膚效果。
講了這么多概括性的東西您也許還是不能立刻理解樣式表的用法,我們不妨先來看一個例子:
查看實際顯示效果
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<title>這是一個簡單的博客模板頁面</title></head>
<body>
<div id="banner" style="width:600px;height:200px;background-color:red;">
<h1>大家好,我也開始寫博客啦</h1>
</div>
<div id="left" style="width:400px;background-color:green;float:left">
<h2>博客文章標題</h2>
<h3>文章小標題</h3>
<p> 今天終于開始寫博客了,好高興啊!!我的大作即將誕生,敬請關注~。</p>
<blockquote>有一句話說得好:失敗只有一種,那就是半途而廢--</blockquote>
<p> 后面還沒有想好,還是下次再寫吧!感謝鳳凰衛視,感謝 CCTV,感謝蓋茨大叔的暈倒死操作系統。</p>
</div>
<div id="right" style="width:200px;background-color:blue;float:left">
<h3>我的好友列表</h3>
<ul>
<li>傻大木</li>
<li>喬布什</li>
<li>芙蓉姐夫</li>
</ul>
</div>
</body>
</html>
看上去很眼熟吧,是的,這就是上一篇介紹模板布局時所用的例子,丑陋得讓人無法忍受,不僅配色非常糟糕,文字版式也過于貼近邊界,部分文字邊緣還有毛刺,整體視覺效果很差。怎樣改變這種情況呢?只要設計一個 CSS 樣式表附加在這個網頁上就會有所改觀,下面就是一段樣式代碼,您可以先憑自己的分析判斷這段代碼能夠實現什么顯示效果。
首先將原來網頁中的 style 代碼去掉,因為我們將用另一種方式控制網頁的外觀:
<div id="banner"
style="width:600px;height:200px;background-color:red;">
<div id="left"style="width:400px;background-color:green;float:left">
<div id="right"style="width:200px;background-color:blue;float:left">其次在網頁代碼的 <head>...</head> 之間添加下面的代碼:
查看實際顯示效果
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<title>這是一個簡單的博客模板頁面</title>
<style>
body { // 這對大括號里描述網頁的背景
margin-top:0px;
background:#f3f6ed url(http://www.nklog.org/templates/connections/img/rap.jpg) left repeat-y;
}
h1 { // 這對大括號里描述 <h1></h1> 標簽中的部分
font-family: simhei;
font-size: 26px;
font-weight: bold;
text-align: right;
color: white;
margin-top: 0px;
padding-top: 50px;
padding-right: 30px
}
h2 { // 這對大括號里描述 <h2></h2> 標簽中的部分
font-family: tahoma;
font-size: 26px;
padding-left: 10px;
}
h3 { // 這對大括號里描述 <h3></h3> 標簽中的部分
font-family: tahoma;
font-size: 14px;
padding-left: 20px;
}
blockquote { // 這對大括號里描述文章中的塊狀引用
background: url(http://www.nklog.org/templates/connections/img/blockquote.gif) no-repeat left top;
padding: 20px;
font-size: 12px;
}
p { // 這對大括號里描述文章中的段落版式
line-height: 150%;
font-size: 14px;
}
#banner { // 這對大括號里描述模板頂部的 Banner
background: #fff url(http://www.nklog.org/templates/connections/img/top.jpg) no-repeat bottom;
margin-top: 0px;
margin-left: 0.2em;
height: 183px;
width: 760px;
border: #fc9 0px solid;
}
#left { // 這對大括號里描述左側顯示文章的面板
background:url(http://www.nklog.org/templates/connections/img/content_bg.gif) repeat;
width: 510px;
float: left;
color: #333;
margin-left: 12px;
margin-right: 12px;
padding: 10px;
overflow: hidden;
}
#right { // 這對大括號里描述右側的面板
font-size: 12px;
color: #333;
width: 186px;
float: left;
}
#right h3 { // 這對大括號里描述右側面板中的 <h3></h3> 標簽中的內容
background: url(http://www.nklog.org/templates/connections/img/sidenav_top.jpg) no-repeat center;
font-size: 12px;
font-weight: bold;
color: #676E04;
margin: 0px;
text-align: center;
border: #ccc 0px solid;
height: 22px;
}
#right ul { // 這對大括號里描述右側面板中的無序列表
list-style-type: none;
padding: 5px;
margin: 0;
font-size: 0.9em;
padding-bottom: 20px;
background: #F3F6ED url(http://www.nklog.org/templates/connections/img/sidenav_bottom.jpg) no-repeat bottom;
border: #E1D6c6 1px solid;
border-top: #f3f6ed 1px solid;
}
#right ul li { // 這對大括號里描述右側面板中的無序列表子項目
color: #909D73;
font-size: 12px;
}
</style>
</head>
上面這段代碼看起來有些長,但您未必需要看懂每一行內容,重要的是找到語法規律。點擊查看實際顯示效果時發現雖然網頁正文<body>...</body>之間的內容沒有任何改動,但整個頁面的外觀都發生了很大變化,而這些完全是上面列出的樣式代碼的功勞。
那么怎樣才能讀懂它們呢?上面代碼中的說明也許能夠幫助您:首先對于 <p> <body> <h1> <blockquote> 這樣的標簽,我們只要用 標簽名 { ... } 這樣的代碼段就可以描述其中的樣式,比如 p {color: red;} 就表示位于 <p></p> 之間的文字顏色都是紅色的;而對于 <div id="left"></div> 這樣的標簽,我們則可以用 #left {...} 去描述,比如 #left {font-size: 14px;} 就表示左側面板中默認的文字大小是 14 像素的。您也許會奇怪我在上面把一個大括號中的內容分寫在好幾行中,怎么現在都寫在一行里面了?其實這并不影響實際效果,因為樣式表語言是不在乎有沒有換行的,只要把要描述的屬性寫在一對大括號里就可以。其它的內容大部分可以"望文生義":color 表示文字顏色,background-color 表示背景顏色,font-size 表示字號大小等等。當然了,這只是入門級的代碼,要設計出專業的博客模板還需長期實戰訓練才行。
短短一篇網志實在很難把 CSS 樣式表的基礎知識都串起來,也不能指望它為您帶來多少價值。個人認為只要讀過本文后您能夠從總體上了解樣式表的功能,并對學習它產生興趣和信心就 OK 了。