本教程主要參考 Creating a CSS Layout from scratch ,由Jorux翻譯,以意譯為主,其間加入了不少Jorux的個(gè)人觀點(diǎn),省略了一些多余的說明,請(qǐng)讀者明鑒。
規(guī)劃網(wǎng)站
首先需要規(guī)劃網(wǎng)站,本教程將以下圖為例構(gòu)建網(wǎng)站。
其基本布局見下圖:
主要由五個(gè)部分構(gòu)成:
- Main Navigation 導(dǎo)航條,具有按鈕特效。
Width: 760px Height: 50px - Header 網(wǎng)站頭部圖標(biāo),包含網(wǎng)站的logo和站名。
Width: 760px Height: 150px - Content 網(wǎng)站的主要內(nèi)容。
Width: 480px Height: Changes depending on content - Sidebar 邊框,一些附加信息。
Width: 280px Height: Changes depending on - Footer 網(wǎng)站底欄,包含版權(quán)信息等。
Width: 760px Height: 66px
1.創(chuàng)建html模板及文件目錄等
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <title>CompanyName - PageName</title> <meta http-equiv="Content-Language" content="en-us" /> <meta http-equiv="imagetoolbar" content="no" /> <meta name="MSSmartTagsPreventParsing" content="true" /> <meta name="description" content="Description" /> <meta name="keywords" content="Keywords" /> <meta name="author" content="Enlighten Designs" /> <style type="text/css" media="all">@import "css/master.css";</style> </head> <body> </body> </html> |
將其保存為index.html,并創(chuàng)建文件夾css,images,網(wǎng)站結(jié)構(gòu)如下:
2.創(chuàng)建網(wǎng)站的大框:
建立一個(gè)寬760px的盒子,它將包含網(wǎng)站的所有元素。
在html文件的<body>和</body>之間寫入
<div id="page-container"> Hello world. </div> |
創(chuàng)建css文件,命名為master.css,保存在/css/文件夾下。寫入:
#page-container { width: 760px; background: red; } |
控制html的id為page-container的盒子的寬為760px,背景為紅色,表現(xiàn)如下。
現(xiàn)在為了讓盒子居中,寫入margin: auto;,使css文件為:
#page-container { width: 760px; margin: auto; background: red; } |
現(xiàn)在你可以看到盒子和瀏覽器的頂端有8px寬的空隙。這是由于瀏覽器的默認(rèn)的填充和邊界造成的。消除這個(gè)空隙,就需要在css文件中寫入:
html, body { margin: 0; padding: 0; } |
將網(wǎng)站分為五個(gè)div
1.將“第一步”提到的五個(gè)部分都放入盒子中,在html文件中寫入:
<div id="page-container"> <div id="main-nav">Main Nav</div> <div id="header">Header</div> <div id="sidebar-a">Sidebar A</div> <div id="content">Content</div> <div id="footer">Footer</div> </div> |
表現(xiàn)如下:
2.為了將五個(gè)部分區(qū)分開來,我們將這五個(gè)部分用不同的背景顏色標(biāo)示出來,在css文件寫入:
#main-nav { background: red; height: 50px; } #header { background: blue; height: 150px; } #sidebar-a { background: darkgreen; } #content { background: green; } #footer { background: orange; height: 66px; } |
表現(xiàn)如下:
網(wǎng)頁布局與div浮動(dòng)等
1.浮動(dòng):首先讓邊框浮動(dòng)到主要內(nèi)容的右邊。用css控制浮動(dòng)。
#sidebar-a { float: right; width: 280px; background: darkgreen; } |
表現(xiàn)如下:
2.往主要內(nèi)容的盒子中寫入一些文字。在html文件中寫入:
<div id="content"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam gravida enim ut risus. Praesent sapien purus, ultrices a, varius ac, suscipit ut, enim. Maecenas in lectus. Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio. Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget, purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst. </div> |
表現(xiàn)如下:
但是你可以看到主要內(nèi)容的盒子占據(jù)了整個(gè)page-container的寬度,我們需要將#content的右邊界設(shè)為280px。以使其不和邊框發(fā)生沖突。
css代碼如下:
#content { margin-right: 280px; background: green; } |
同時(shí)往邊框里寫入一些文字。在html文件中寫入:
<div id="sidebar-a"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam gravida enim ut risus. Praesent sapien purus, ultrices a, varius ac, suscipit ut, enim. Maecenas in lectus. Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio. Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget, purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst. </div> |
表現(xiàn)如下:
這也不是我們想要的,網(wǎng)站的底框跑到邊框的下邊去了。這是由于我們將邊框向右浮動(dòng),由于是浮動(dòng),所以可以理解為它位于整個(gè)盒子之上的另一層。因此,底框和內(nèi)容盒子對(duì)齊了。
因此我們往css中寫入:
#footer { clear: both; background: orange; height: 66px; } |
表現(xiàn)如下:
網(wǎng)頁主要框架之外的附加結(jié)構(gòu)的布局與表現(xiàn)
除網(wǎng)頁主要框架之外的附加結(jié)構(gòu)的表現(xiàn)(Layout),包括以下內(nèi)容:
1. 主導(dǎo)航條;
2. 標(biāo)題(heading),包括網(wǎng)站名和內(nèi)容標(biāo)題;
3. 內(nèi)容;
4. 頁腳信息,包括版權(quán),認(rèn)證,副導(dǎo)航條(可選)。
加入這些結(jié)構(gòu)時(shí),為了不破壞原有框架,我們需要在css文件"body"標(biāo)簽(TAG)下加入:
.hidden { display: none; } |
".hidden"即我們加入的類(class),這個(gè)類可以使頁面上任意屬于hidden類的元素(element)不顯示。這些會(huì)在稍后使用,現(xiàn)在請(qǐng)暫時(shí)忘記它。
現(xiàn)在我們加入標(biāo)題(heading):
先回到HTML的代碼,<h1>到<h6>是我們常用的html標(biāo)題代碼。比如我們一般用<h1>網(wǎng)站名 </h1>,<h2>網(wǎng)站副標(biāo)題</h2>,<h3>內(nèi)容主標(biāo)題</h3>等。我們往 html文件的Header層(Div)加入:
<div id="header"> <h1>Enlighten Designs</h1> </div> |
刷新一下頁面,你就可以看到巨大的標(biāo)題,和標(biāo)題周圍的空白,這是因?yàn)?lt;h1>>標(biāo)簽的默認(rèn)大小和邊距(margin)造成的,先要消除這些空白,需要加入:
h1 { margin: 0; padding: 0; } |
接下來是導(dǎo)航條:
控制導(dǎo)航條表現(xiàn)的css代碼相對(duì)比較復(fù)雜,我們將在第九步或是第十步中詳細(xì)介紹,F(xiàn)在html文件加入導(dǎo)航代碼:
<div id="main-nav"> <ul> <li id="about"><a href="http://css.jorux.com/wp-admin/post.php#" >About</a></li> <li id="services"><a href="http://css.jorux.com/wp-admin/post.php#" >Services</a></li> <li id="portfolio"><a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a></li> <li id="contact"><a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a></li> </ul> </div> |
(注:原教程使用了dl和dt,jorux在這使用了更常用的ul和li標(biāo)簽)
目前導(dǎo)航條的表現(xiàn)比較糟糕,但是要在以后的教程中介紹其特殊表現(xiàn),故需要暫時(shí)隱藏導(dǎo)航條,于是加入:
<div id="main-nav"> <dl class="hidden"> <dt id="about"><a href="http://css.jorux.com/wp-admin/post.php#" >About</a></dt> <dt id="services"><a href="http://css.jorux.com/wp-admin/post.php#" >Services</a></dt> <dt id="portfolio"><a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a></dt> <dt id="contact"><a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a></dt> </dl> </div> |
我們跳一步,先到頁腳:
頁腳包括兩部分:左邊的版權(quán),認(rèn)證和右邊的副導(dǎo)航條。
我們先要讓副導(dǎo)航條向右浮動(dòng),就像之前處理Sidebar和Content關(guān)系的一樣,需要加入一個(gè)新的層(div):
<div id="footer"> <div id="altnav"> <a href="http://css.jorux.com/wp-admin/post.php#" >About</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Services</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Terms of Trade</a> </div> </div> |
理論上,我們可以控制源文件上的任意元素的浮動(dòng),但由于IE瀏覽器的BUG,被浮動(dòng)層需要首先出現(xiàn)在源文件上,也就是說我們把副標(biāo)題放在版權(quán)和認(rèn)證的前面:
<div id="footer"> <div id="altnav"> <a href="http://css.jorux.com/wp-admin/post.php#" >About</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Services</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a> - <a href="http://css.jorux.com/wp-admin/post.php#" >Terms of Trade</a> </div> Copyright © Enlighten Designs Powered by <a href="http://www.enlightenhosting.com/" >Enlighten Hosting</a> and <a href="http://www.vadmin.co.nz/" >Vadmin 3.0 CMS</a></div> |
刷新你的頁面,你將看到如下所示:
最后我們回到內(nèi)容部分:
用<h2<>表現(xiàn)內(nèi)容標(biāo)題–"About","Contact us";用<p>表現(xiàn)段落;用</br>斷行。
<div id="content"> <h2>About</h2> <p><strong>Enlighten Designs</strong> is an Internet solutions provider that specialises in front and back end development. To view some of the web sites we have created view our portfolio.</p> <p>We are currently undergoing a 'face lift', so if you have any questions or would like more information about the services we provide please feel free to contact us.</p> <h2>Contact Us</h2> <p>Phone: (07) 853 6060<br /> Fax: (07) 853 6060<br /> Email: <a href="mailto:info@enlighten.co.nz" >info@enlighten.co.nz</a><br /> P.O Box: 14159, Hamilton, New Zealand</p> <p><a href="http://css.jorux.com/wp-admin/post.php#" >More contact information…</a></p> </div> |
刷新頁面可以看到在Content層中又出現(xiàn)一些空白,這是由于<h2><p>標(biāo)簽的默認(rèn)邊距(margin)造成的,我們必須消除這些惱人的空白,當(dāng)又不想把網(wǎng)頁中所有的<h2><p>標(biāo)簽地邊距都設(shè)為0,這就需要使用css的子選擇器("child css selector"),在html的文件結(jié)構(gòu)中,我們想控制的<h2><p>標(biāo)簽(child)是屬于#content層 (parent)的,因此在css文件中寫入:
#content h2 { margin: 0; padding: 0; } #content p { margin: 0; padding: 0; } |
這樣我們就告訴瀏覽器,僅僅是隸屬于content層的<h2><p>標(biāo)簽的margin和padding的值為0!
頁面內(nèi)的基本文本的樣式(css)設(shè)置
你是不是厭倦了那些大紅大綠的背景,現(xiàn)在是去掉它們的時(shí)候了,只保留導(dǎo)航條的紅色背景。真是難為您居然能堅(jiān)持學(xué)習(xí)本教程到此,很好,再過幾步,你就能很好了解css控制整個(gè)網(wǎng)頁版面(Layout)的能力。
先設(shè)置全局的文本樣式:
body { font-family: Arial, Helvetica, Verdana, Sans-serif; font-size: 12px; color: #666666; background: #ffffff; } |
一般我們把body標(biāo)簽放在css文件的頂端,當(dāng)然你要是執(zhí)意要把它放在尾部,瀏覽器不會(huì)和你計(jì)較。font-family內(nèi)的順序決定字體顯示優(yōu)先級(jí),比方如果所在計(jì)算機(jī)沒有Arial字體,瀏覽器就會(huì)指向Helvetica字體,依次類推;color指字體顏色;background指背景顏色。
如果你都是按本教程的操作,應(yīng)該能看到下圖:
你可以看到內(nèi)容(content)的各塊(block)之間的間隙太小了,而基于最初的設(shè)計(jì),內(nèi)容標(biāo)題(即<h2>)和正文之間的間隙大概是15px,每個(gè)段落的間距也大概是15px,所以在css中寫入:
#content h2 { margin: 0; padding: 0; padding-bottom: 15px; } #content p { margin: 0; padding: 0; padding-bottom: 15px; } |
然后需要讓content層的四周都空出25px的間隙,這本來是件很簡單的事,理論上我們只需在#content的css文件中加入 padding: 25px;就行了,但是IE給我們上了"一課",它的固有BUG根本不能按我們的想象表現(xiàn)。解決這個(gè)問題有兩種辦法。第一種辦法是區(qū)別瀏覽器寫入兩種代碼 (HACK IE),但因?yàn)殚g隙(padding,在Dreamweaver中又叫填充)使用很頻繁,所以我們用另一種辦法。
我們往需要填充的層中加入padding層,它的功能僅限于顯示間隙:
<div id="sidebar-a"> <div class="padding"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam gravida enim ut risus. Praesent sapien purus, ultrices a, varius ac, suscipit ut, enim. Maecenas in lectus. Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio. Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget, purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst. </div> </div> |
同樣的,再往html文件的content層中加入padding層。
由于padding層的功能僅是制造空隙,所以不要設(shè)置它的寬度,只需在css中添加:
#sidebar-a { float: right; width: 280px; } #sidebar-a .padding { padding: 25px; } #content { margin-right: 280px; } #content .padding { padding: 25px; } |
就像我們之前用的方法一樣,我們只選擇了類(class)為padding,且父類(parent)為#content或#sidebar-a的元素(element)。
接下來設(shè)置行距,content和sidebar-a的行距需要加寬,但在css中是沒有行距(leading)這種屬性(attribute)的,但是有行高(line-height)屬性,因此往css中寫入:
#sidebar-a { float: right; width: 280px; line-height: 18px; } #content { margin-right: 280px; line-height: 18px; } |
現(xiàn)在可以看到標(biāo)題"about"和"contact us"顯得相當(dāng)突兀,這是因?yàn)槲覀兪褂玫淖煮w并不是一種網(wǎng)頁字體,我們需要將其替換為以下圖片,并將其存放于/images/headings/文件夾中:
替換方法為,在html文件的<h2>標(biāo)簽中寫入:
<h2><img src="images/headings/about.gif" width="54" height="14" alt="About" /></h2> <h2> <img src="images/headings/contact.gif" width="98" height="14" alt="Contact Us" /> </h2> |
于是得到下圖:(點(diǎn)擊看大圖)
網(wǎng)站頭部圖標(biāo)與logo部分的設(shè)計(jì)
為實(shí)現(xiàn)設(shè)計(jì)時(shí)的網(wǎng)頁頭部效果,我們需要以下兩幅圖:(點(diǎn)擊另存,并相應(yīng)修改文件名)
/images/headers/about.jpg (點(diǎn)擊看大圖)
/images/general/logo_enlighten.gif:
首先我們給#header層添加背景圖案:
#header { height: 150px; background: #db6d16 url(../images/headers/about.jpg); } |
我們使用的背景屬性為一些簡寫的屬性名,用其能規(guī)定背景的顏色,圖案,圖案的位置,是否重復(fù)以及如何重復(fù)。之所以把背景色設(shè)為桔黃色,是因?yàn)楫?dāng)用戶使瀏覽器屏蔽圖片時(shí),網(wǎng)站的頭部不會(huì)變的一片空白。應(yīng)該注意到圖片的路徑是相對(duì)于css的存放位置而言的,而不是html文件,因此有"../"。
接著替換掉<h1></h1>標(biāo)簽里的"Enlighten Designs":
<div id="header"> <h1><img src="images/general/logo_enlighten.gif" width="236" height="36" alt="Enlighten Designs" border="0" /></h1> </div> |
logo_enlighten圖片浮在頭部的左上方,我們需要設(shè)置<h1>的屬性值為:
#header h1 { margin: 0; padding: 0; float: right; margin-top: 57px; padding-right: 31px; } |
這樣我們使存在于<h1>層的圖片向右浮動(dòng),并且上邊距(margin-top)為57px,右間隙(padding-right)為31px,如下圖所示:(點(diǎn)擊看大圖)
注意:細(xì)心的你可能會(huì)發(fā)現(xiàn)我們使用了padding-right而不是margin-right,這是因?yàn)镮E的怪毛病不少,它會(huì)在不定的地方無法正確顯示margin-right/left屬性,所以使用了padding(間隙,Dreamweaver中又被稱為填充)屬性。
作者提示:希望大家在以后的css編寫過程中,盡量使用padding屬性,以免造成瀏覽器調(diào)試麻煩。
頁腳信息的表現(xiàn)設(shè)置
首先需要控制頁腳的文本顯示:
#footer { clear: both; height: 66px; font-family: Tahoma, Arial, Helvetica, Sans-serif; font-size: 10px; color: #c9c9c9; } |
接著我們需要設(shè)置存在鏈接的文本的顯示,在這我們沒有改變文本的顏色(仍然為#c9c9c9),而只是讓下劃線消失:
#footer a { color: #c9c9c9; text-decoration: none; } |
但是我們想讓那些存在鏈接的文本,在鼠標(biāo)懸停在其上方時(shí)變色為#db6d16:
#footer a:hover { color: #db6d16; } |
然后我們想給頁腳加上灰色的上邊框,在footer層的四周設(shè)置一些間隙,并加大文本的行距:
#footer { clear: both; height: 66px; font-family: Tahoma, Arial, Helvetica, Sans-serif; font-size: 10px; color: #c9c9c9; border-top: 1px solid #efefef; padding: 13px 25px; line-height: 18px; } |
最后我們需要做的就是讓副導(dǎo)航層(#altnav)向右浮動(dòng),需要指出的是,浮動(dòng)層是必須設(shè)置寬度(width)才能正常浮動(dòng)的,所以我們把#altnav的寬度設(shè)置為350px,略寬于文本的長度(為了讓副標(biāo)題的文字顯示完全),然后讓文本向右對(duì)齊:
#footer #altnav { width: 350px; float: right; text-align: right; } |
如果你按照以上方法,將得到如下圖所示的頁腳樣式:(點(diǎn)擊看大圖)
導(dǎo)航條的制作
Jorux注:導(dǎo)航條之所以放在第九步講,是因?yàn)閷?dǎo)航條制作是本教程中最難的部分,自然也是技術(shù)含量最高的地方.導(dǎo)航條的制作可易可難,但這里介紹的相對(duì)較難,您能堅(jiān)持到這一步已經(jīng)很不易,如果你只是有個(gè)導(dǎo)航條就滿足的話,請(qǐng)參看第八步的副導(dǎo)航條的制作。
先去掉導(dǎo)航條的紅色背景,還有就是移除html文件中main-nav層的"class="hidden"",使導(dǎo)航條的內(nèi)容顯示出來。我們實(shí)現(xiàn)導(dǎo)航條圖片的變換的方法是純css代碼的,不包含任何js或是flash,因此我們所用的圖片是4幅分別由三個(gè)小圖組合而成的圖片,如下所示,并將這4幅圖保存于/images/nav/文件夾中:(另存圖片后 改成相應(yīng)的文件名)
我們實(shí)現(xiàn)導(dǎo)航條的動(dòng)態(tài)效果如下圖所示:(GIF動(dòng)畫)
在網(wǎng)頁顯示的只是圖中紅框標(biāo)出的部分,如果把每幅圖分為上,中,下三部分的話,未發(fā)生動(dòng)作時(shí)顯示上部,當(dāng)光標(biāo)懸停時(shí),顯示的是中部,被選擇時(shí)則顯示下部。
接下來進(jìn)入css代碼部分,先往css文件中寫入:
/* Main Navigation */ #main-nav { height: 50px; } #main-nav ul { margin: 0; padding: 0; } |
注意:/* Main Navigation */為增加css文件可讀性的說明,不會(huì)影響表現(xiàn)。
#main-nav的height屬性定義了main-nav層的高度;"#main-nav ul" 則定義main-nav層中列表的屬性,在這里先定義其margin和padding為0。
根據(jù)先前的設(shè)計(jì),導(dǎo)航條應(yīng)該和左邊有一定的距離,這就需要設(shè)置main-nav層的左邊距(padding-left)為11px,但由于IE5和Mac瀏覽器的BUG,需要加入以下代碼:
/* IE5 Mac Hack \*/ #main-nav { padding-left: 11px; } /*/ #main-nav { padding-left: 11px; overflow: hidden; } /* End Hack */ |
現(xiàn)在你可以看到導(dǎo)航列表距左邊有11px的距離,但是列表項(xiàng)目是豎排的,將<li>,即列表項(xiàng)目向左對(duì)齊就能使其從左到右橫向排列:
#main-nav li { float: left; } |
為了使列表項(xiàng)目的尺寸和容納它的層保持一致,并利用浮動(dòng)屬性使列表項(xiàng)目的文本隱藏,寫入:
#main-nav li a { display: block; height: 0px !important; height /**/:50px; /* IE 5/Win hack */ padding: 50px 0 0 0; overflow: hidden; background-repeat: no-repeat; } |
接著,要實(shí)現(xiàn)當(dāng)光標(biāo)懸停于列表項(xiàng)目上時(shí),顯示背景圖片的中部,因此需要將背景圖片向上移動(dòng)50px,寫入:
#main-nav li a:hover { background-position: 0 -50px; } |
給各個(gè)列表項(xiàng)目設(shè)置寬度和背景圖片的路徑:
#main-nav li#about, #main-nav li#about a { width: 71px; background-image: url(../images/nav/about.gif); } #main-nav li#services, #main-nav li#services a { width: 84px; background-image: url(../images/nav/services.gif); } #main-nav li#portfolio, #main-nav li#portfolio a { width: 95px; background-image: url(../images/nav/portfolio.gif); } #main-nav li#contact, #main-nav li#contact a { width: 106px; background-image: url(../images/nav/contact.gif); } |
最后我們要做的就是,當(dāng)列表項(xiàng)目被選時(shí),顯示背景圖片的下部。為此我們需要增加一些css代碼對(duì)原有的css表現(xiàn)作一些修改:
body.about li#about, body.about li#about a, body.services li#services, body.services li#services a, body.portfolio li#portfolio, body.portfolio li#portfolio a, body.contact li#contact, body.contact li#contact a { background-position: 0 -100px; } |
以上看似龐大的css選擇器可以識(shí)別body標(biāo)簽的類(class),如html中為:
<body class="about"> |
以上css選擇器就讓li#about,li#about a,的背景向上移動(dòng)100px,使其顯示背景圖片的下部。
如果我們希望網(wǎng)站頭部背景圖片也根據(jù)body標(biāo)簽的類進(jìn)行變換,就需修改css的#header為:
body.about #header { height: 150px; background: #db6d16 url(../images/headers/about.jpg); } |
至此就完成了"About"網(wǎng)頁的制作,依此類推,修改html中body的類為services/portfolio/contact制作相應(yīng)html文件并分別保存。
在css文件中添加各個(gè)網(wǎng)頁相應(yīng)的頭部背景圖片路徑(如services網(wǎng)頁的頭部背景圖片為services.jpg,在css中添加如下代碼):
body.services #header { height: 150px; background: #db6d16 url(../images/headers/services.jpg); } |
然后用超級(jí)鏈接將這些網(wǎng)頁連接起來,就組成了一個(gè)網(wǎng)站了。
解決IE瀏覽器的顯示BUG
要繼續(xù)此教程需要IE的以前的版本進(jìn)行測試,絕大部分用戶使用的是IE6.0,因此您幾乎不需要看下去了。IE中主要出問題的是IE5和IE5.5,如其不能識(shí)別css中margin值為auto,要實(shí)現(xiàn)層的中間對(duì)齊,需加入:
body { font-family: Arial, Helvetica, Verdana, Sans-serif; font-size: 12px; color: #666666; text-align: center; } |
但是這樣設(shè)置之后,網(wǎng)站的content層的文本也變成中間對(duì)齊了,我們需要讓其向左對(duì)齊,加入:
#page-container { width: 760px; margin: auto; text-align: left;} |
關(guān)于頁腳的BUG,將版權(quán)內(nèi)容加入新的#copyright層中,在html中加入:
<div id="copyright"> Copyright © Enlighten Designs<br /> Powered by <a xhref="#"">Enlighten Hosting</a> and <a xhref="#">Vadmin 3.0</a> </div> |
在css文件中加入,并將#footer的padding-top: 13px;移除:
#footer #altnav { clear: both; width: 350px; float: right; text-align: right; padding-top: 13px; } #footer #copyright { padding-top: 13px; } |
最后要解決的BUG是當(dāng)光標(biāo)在導(dǎo)航條的被選列表項(xiàng)目鏈接上懸停時(shí)(如在about的網(wǎng)頁,body的類為about,但我們將光標(biāo)移到導(dǎo)航條的about圖片上時(shí)),背景圖片消失了,這就需要加入:
body.about li#about, body.about li#about a, body.about li#about a:hover, body.services li#services, body.services li#services a, body.services li#services a:hover, body.portfolio li#portfolio, body.portfolio li#portfolio a, body.portfolio li#portfolio a:hover, body.contact li#contact, body.contact li#contact a, body.contact li#contact a:hover { background-position: 0 -100px; } |