在学习完《From PSD to HTML: Building a Set of Website Designs Step by Step》之后,使我对网页的设计和实现有了更深入的认识,我逐渐少了那些恐惧感,为此,我尝试着实现了自己的第一个从PSD到HTML的实践。

我使用的站点PSD文件是已经设计好的一个SAAS站点首页,站点的实际效果图例如以下:

实际完毕的站点例如以下:http://lab.shalilang.com/saas/index.html

实际过程例如以下:

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工作的所有,没有依照步骤来介绍,由于代码都已经完毕,须要花时间去又一次整理太费时间,仅仅把遇到的一些问题介绍一下,备忘。

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

本人技术博客:

www.shalilang.com

从PSD到HTML,网页的实现的更多相关文章

  1. perfectpixel 加载PSD图到网页中和已经写好的网页进行对比

    perfectpixel  这是火狐的插件: 用途:加载设计图,和 已经编写好的网页进行对比,看是否完美还原. 谷歌也有类似的插件,但是无法下载.

  2. 前端开发使用Photoshop切图详细步骤

    切图的主要目的是从设计师提供的psd中获取网页制作所要的资源 一.界面设置 1. 新建文件,调整界面大小,背景设置为透明 2. 自动选择,把组切换为图层 3. 添加窗口内容,一共四项:图层.历史纪录. ...

  3. 25套用于 Web UI 设计的免费 PSD 网页元素模板

    Web 元素是任何网站相关项目都需要的,质量和良好设计的元素对于设计师来说就像宝贝一样.如果您正在为您的网站,博客,Web 应用程序或移动应用程序寻找完美设计的网页元素,那么下面这个列表会是你需要的. ...

  4. 韩国网页设计资料《网页设计大师2》JPG+PSD+TXT等 73.89G 百度云下载

    < 网页设计大师2 >超越第一代版本,提供更新更精美的网页素材模板.全部由国际顶级设计师精选打造,完全展示走在潮流 之前的设计风格.是网页设计师/UI交互界面设计师必备工具. < 网 ...

  5. 25套用于Web UI设计的免费PSD网页元素模板

    Web 元素是任何网站相关项目都需要的,质量和良好设计的元素对于设计师来说就像宝贝一样.如果您正在为您的网站,博客,Web 应用程序或移动应用程序寻找完美设计的网页元素,那么下面这个列表会是你需要的. ...

  6. 使用PSD设计网页页面

    一.一个独立的页面 1.分析这个页面,在脑海或草稿上要确立页面板块布局(如版块区域的,位置和大小)2.根据设计稿的的情况,分析背景图的分布.ICO图的分布等 3.切割相应的图片,导出.合并图片(一般用 ...

  7. 从网页psd到html的开发

    从网上下载了一张psd的网页设计稿,初学html+css,所以记录一下我的学习过程.原图是这个样子:             原图                                   ...

  8. 40套PSD欧美扁平化网页模板,可二次编辑开发,精品

    40套PSD欧美扁平化网页模板,可二次编辑开发,绝对精品,下载地址:百度网盘, https://pan.baidu.com/s/1uMF4MM_3UC2Q6mbyNomLfQ 模板内容预览:   小

  9. 【项目】小试牛刀-polo360静态网页项目(附psd文件资源)

    笔者尝试下开发简单的静态网页,下面分享过程及源码.这是polo360的下载链接:https://pan.baidu.com/s/1WqGxKMYY_DHfrSJ9lLL-WA 提取码:v2qi  (一 ...

随机推荐

  1. mongodb导入导出

    导出 mongoexport -d 数据库 -c 表名 -o 输出文件名 例:mongoexport -d Mongodb_DataManager -c Kujiale_Users -o Kujial ...

  2. Django实战(15):Django实现RESTful web service

    曾几何时,Ajax已经统治了Web开发中的客户端,而REST成为web世界中最流行的架构风格(architecture style).所以我们的选择变得很简单:前端ajax访问后端的RESTful w ...

  3. Django实战(6):对比RoR和Django的模板系统

    scaffold的生成物虽然用处不大,但是给我们带来一些最佳实践.其中就有模板的继承和分区. 如果你深入使用过rails的模板体系,那么恭喜你:你有超强的忍耐力!而且更重要的是,你只需要3分钟就可以理 ...

  4. MySQL集群原理详解

    1. 为什么需要分布式数据库2. MySQL Cluster原理3. MySQL Cluster的优缺点4. MySQL Cluster国内应用5. 参考资料 1. 为什么需要分布式数据库 随着计算机 ...

  5. button元素的id与onclick的函数名字相同 导致方法失效的问题

    需求需要在原先页面添加一个按钮,触发一个function,如此简单的操作,却无意间发现了一个问题.(还是对html了解的太少) 先看下在菜鸟教程的示例(错误代码) <!DOCTYPE html& ...

  6. iOS Sprite Kit教程之场景的设置

    iOS Sprite Kit教程之场景的设置 Sprite Kit中设置场景 在图2.8所示的效果中,可以看到新增的场景是没有任何内容的,本节将讲解对场景的三个设置,即颜色的设置.显示模式的设置以及测 ...

  7. python ftp操作脚本&常用函数

    需求:快速进行ftp上传 ,下载,查询文件 原来直接在shell下操作: 需要[连接,输用户名,输密码,单文件操作,存在超时限制] 太过于繁琐,容易操作失败 脚本改进: 一句命令,搞定多文件上传,下载 ...

  8. python opencv3 摄像头人脸检测

    git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 def detect(): # 创建人脸检测的对象 ...

  9. ARM 寄存器

    ARM总共有37个寄存器 ARM寄存器物理分类 通用寄存器:1:不分组寄存器(R0--R7) 2:分组寄存器(R8-R14) 3:程序计数器(R15)(注意:又名pc指针) 程序状态寄存器:1:CPS ...

  10. 【WIN10】Toast 通知

    DEMO下載:http://yunpan.cn/cFSLZQf5ePeTV  访问密码 1fce 1.顯示通知 使用xml確定通知內容. string xml = "<toast la ...