1. 程式人生 > >從PSD到HTML,網頁的實現

從PSD到HTML,網頁的實現

我使用的網站PSD檔案是已經設計好的一個SAAS網站首頁,網站的實際效果圖如下:

16sucai_201405041256

實際步驟如下:

1、準備工作

我選擇了使用Dreamweaver CS6 作為開發工具,先建立了工作站點,並建立了images資料夾、index.html和style.css,分別用於存放圖片,網頁的HTML程式碼和CSS程式碼。

2、分析網頁佈局

通過網站效果圖,我們大概可以為分為:頁頭、導航、橫幅、內容、頁尾五部分,我將前四部分都集中在一個div中管理,頁尾獨立管理。同時我們也可以發現,整個頁面背景是跟視窗一樣大小的,但所有內容部分居中長度為1010px。基本程式碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SAAS</title>
<link href="index.css" rel="stylesheet" type="text/css" />
</head>
<body> 
<div class="container">
  <div id="header"> header
  </div>
  <div id="navmenu"> navmenu
  </div>
  <div id="banner">  banner
  </div>
  <div id="content">  content
  </div>
</div> 
<div id="footer">  footer
</div>
</body>
</html>

相應的CSS程式碼,後續介紹。

3、從頁頭開始實現,直到完成頁尾。

實現頁頭時,主要遇到問題有:

問題1:由於原始設計中logo的字型是本機沒有的,也沒有提示具體的字型名字,我直接將其裁成圖片的形式展示。同理右側的“服務熱線”也裁剪成圖片。

問題2:logo等圖片需要垂直居中顯示,根據圖片的大小計算出需要padding-top,來控制圖片出現在header的中間。

  <div id="header">
  <img class="logo" src="images/logo.png" alt="logo" />
  <img class="phone" src="images/phoneNumber.png" alt="phone number" /> 
  <img class="logo phonenumer" src="images/phone.png" alt="phone logo" />
</div>

CSS程式碼

.logo {
	padding-top: 35px; 
}

4、導航欄部分

導航欄部分沒有特別的問題,主要是使用ul和li標籤,使用到了float:left;,使所有的導航選單項向左浮動,同時要實現選單項中的文字垂直居中,使用了

#navmenu ul li a{
   height: 38px; 
   line-height: 38px;
   overflow: hidden;
}

5、banner部分

這部分圖片的處理花了點時間,因為原PSD中在儲存圖片的時候總是會出現白色斑點,做了一些處理才完成,由此可見一個好的PSD檔案還是很重要的。主要分離出背景地板顏色的圖片和上層SAAS介紹+蝴蝶圖片。

這部分需要設定banner div的最小寬度是min-width:1010px,防止在使用者電腦螢幕太小時,導致部分內容不能展示。

建立登入欄時,首先是需要灰色透明的背景,為了方便使用了透明圖片作為背景。

至於其中的文字和文字框則主要通過position和float定位進行設定位置,相對而言比較簡單。

6、內容部分

主要分為兩部分,左側是新聞,右側是SAAS介紹,右側應該做成選項卡的方式。同時它們又可以都分為上下兩部分,上面是標題,下面是內容。左側float:left;width:330px;,同理右側和左側保持20px距離。

實現標題要新增一條底線,可以使用hr也可以通過border-bottom的方式來表達。

內容部分通過列表來實現,控制好列表項之間的距離,我是通過設定line-height來填充。還有對於溢位的文字,需要通過text-overflow:ellipsis;來處理。

右側的內容部分,是使用table實現的,理論上也可以通過ul列表來實現,後面可以嘗試一下。

7、頁尾部分

沒有什麼特別的地方,無非是控制文字的位置。

8、之後通過w3c validator進行了驗證,<img>缺少了alt屬性,其他沒有什麼問題。

這基本上就是我的第一次從PSD到HTML工作的全部,沒有按照步驟來介紹,因為程式碼都已經完成,需要花時間去重新整理太費時間,只把遇到的一些問題介紹一下,備忘。

---------------------------

本人技術部落格: