在这个全面和循序渐进的网页开发教程中,您将学习如何将一个专业的网页布局设计的Photoshop模型转换为一个符合标准的XHTML/CSS模板。这是后续教程您要求《六改版》的读者。要学习如何创建Photoshop网页布局模型,请前往名为如何在Photoshop中创建一个说明性的网页设计.
现场演示
点击下面的图片查看现场演示我们将要建造的东西。
下载源文件,并使用它们作为你的网站模板
我们将本教程的源文件发布在GNU通用公共许可证我们只要求您保留源代码中的版权信息(在设计中不可见)。如果你对阅读教程没兴趣,可以用于您的网站或网页模板.所以这篇文章是一个教程而且免费的东西。
- illustrative_web_design_template.zip(ZIP档案,0.98 MB)
让我们开始表演吧,好吗?确保你手边有一壶咖啡或你最喜欢的含咖啡因的饮料,因为你要长途旅行!
设置我们的工作区域和文件
1< / span >在桌面上创建一个名为网页设计布局.
2< / span >在网页设计布局文件夹中,创建另一个名为图片.3.< / span >使用您最喜欢的代码编辑器创建一个新的空白HTML文件,并将其保存在您的网页设计布局文件夹中,文件名为index . html.4< / span >创建一个空白的CSS文件称为styles.css然后保存到网页设计布局文件夹中。
现在您应该有了模板的理想工作设置。
设置HTML文件
5< / span >打开你的index . html档案和你的styles.css在代码编辑器中文件。6< / span >在HTML文件的顶部,找到<标题>
标签。
在<标题>
标签,添加你的网站标题。输入的信息<标题>
标记将确定在浏览器窗口中显示什么。7< / span >你的下面<标题>
标记,您需要使用下面的代码链接到您的样式表。
.
现在我们可以开始为我们的布局模拟一些HTML代码。有很多方法可以将Photoshop文件(PSD)转换为工作模板。有些人先切片所有的图像,然后开始编码模板,有些人更喜欢编码,然后切片。
我发现最好从标题开始,沿着设计的方向进行编码和切片。
模拟标题
8< / span >我们将从一个ID为的简单容器div开始#容器
.使用下面的HTML标记。
< div id = "容器" > < / div >
9< / span >在#容器
Div,我们再加一个Div#头
.
.
准备头片
10< / span >现在我们有了一个基本的基础,我们可以切片我们的背景图像和我们的头部图像。打开PSD文件叫做illustrative_web_design_psd.psd在Adobe Photoshop中免费提供下载第一部分如何在Photoshop中创建一个说明性的网页设计。
从那个教程下载源文件,然后回到这里。11< / span >一旦PSD文件在Photoshop中打开,通过选择窗口菜单,确保图层面板打开,并确保图层被选中(或者,F7切换图层面板)。12< / span >关闭所有图层的可见性,如下图所示。
13< / span >选择矩形选框工具(M),在头部区域周围画一个选区,如下图所示;别忘了写2 px背景(如图所示)。14< / span >选择完成后,转到Image > Crop。重要的:不要保存你的PSD文件!
15< / span >通过选择file > Save for web & Devices (Alt + Shift + Ctrl + S)将裁剪好的文件保存为web格式header.gif在你的图片文件夹里。16< / span >关闭PSD文件,当提示保存时,选择“没有”。17< / span >现在,打开header.gif在Photoshop。18< / span >使用缩放工具(Z),放大到插图中山结束的右侧。你会注意到山有一个暗阴影的区域,里面的阴影是添加的。
19< / span >我们需要小心地擦除阴影部分,使其与山的颜色相匹配。使用矩形选框工具(M)在header.gif上做一个选区,如下图所示。20.< / span >一旦你做出了选择,我们将对选择进行转换。
选择Edit > Free Transform (Ctrl + T)对选区进行自由变换。选择右中间的变换控件并向右边缘拖动。您应该得到如下图所示的内容。
21< / span >重新保存你的文件(header.gif),点击file > Save for Web & Devices (Alt + Shift + Ctrl + S),在Photoshop中打开header.gif。22< / span >使用矩形选框工具(M)从头部区域的顶部到底部进行选择,宽度与山的平坦部分相同。
以下图为例。23< / span >选择完成后,使用image > crop再次裁剪图像。24< / span >保存裁剪图像为bg.gif使用文件>保存为Web和设备(Alt + Shift + Ctrl + S)。
重置所有元素的边距和填充
25< / span >回到代码编辑器,打开它styles.css.26< / span >在我们开始添加我们的标题样式之前,我们需要添加一个小的CSS重置来重置所有页面元素的边距和填充。有许多方法可以做到这一点,但为了简洁起见,我们选择使用以下方法。
但是,如果您想了解更多关于重置样式的更好方法,请阅读题为“CSS技巧#1:用CSS Reset重置你的样式”。CSS重置看起来像这样:
* {margin: 0;填充:0;}
主体背景的样式
一旦在styles.css文件的顶部添加了CSS重置,我们就可以开始为HTML文档的主体设置样式了。27< / span >的bg.gif文件将被合并为CSS背景,它将沿着x轴水平重复。然后,我们通过添加与我们的设计背景相匹配的背景色来完成主体样式。
我们也可以通过样式化段落(< p >
)标记。检查下面的代码块。
正文{背景:# edededurl(图片/bg.gif)repeat-x;}p{颜色:#999;填充:0;Margin: 10px 0;Arial, Helvetica, sans-serif;}
将页面内容居中
28< / span >设计模型的宽度为950 px.
样式的样式可以设置页面模板的宽度并在浏览器中居中#容器
Div使用margin:auto技术并为其分配一个950 px宽度属性。
#{容器保证金:汽车;宽度:950 px;}
添加说明标题背景图像
29< / span >在创建样式之前#头
Div中,我们必须首先确定标题图像的高度。如果你使用的是Windows Vista,你可以简单地点击图像文件,它会在状态栏中显示尺寸。
请随意使用自己的方法来找出图像的高度。从下图可以看出,高度为302 px.30.< / span >我们可以开始设计我们的#头
Div的固定宽度950 px和一个固定的高度302 px.
我们还将图像向左浮动。我们加入header.gif图像作为背景。我们将background-repeat属性设置为"没有重演来阻止我们的头部图像水平重复,这是大多数web浏览器的默认行为。
参见下面的代码块。
#头{高度:302 px;宽度:950 px;浮:左;背景:url(/图片header.gif)没有重演;}
31< / span >测试index . html通过在web浏览器中打开它,您应该会看到如下图所示的内容。
标识(网站标题)切片
我们不能真正插入我们的标志/网站标题到我们的模板作为纯文本,因为它包含太多的图层样式在Photoshop中。
我们别无选择,只能将其作为图像包含。32< / span >首先,打开你的PSD档案(illustrative_web_design_psd.psd再一次)。33< / span >使用矩形选框工具(M),在你的logo/网站标题周围做一个选区。
利用下图作为如何进行选择的指导方针。34< / span >一旦你做出了选择,在图层面板中,关闭所有图层的可见性,除了与logo/网站标题相关的图层。背景应该是透明的。
35< / span >选择图像>裁剪裁剪画布到只有徽标/网站标题。36< / span >将裁剪后的图像保存为PNG文件。使用文件>保存为Web和设备(Alt + Shift + Ctrl + S),并保存其名称logo.png进入你的图片文件夹。
将logo添加到HTML文档中
37< / span >转到HTML文档,添加一个名为#标志
作为我们的孩子#头
div。38< / span >在#标志
Div,添加一个<标题>
元素。39< / span >在<标题>
元素,添加一个超链接(<一>
)加上你的网站名称。
我们使用an的原因<标题>
标签而不是插入图像是因为我们要使用CSS背景图像文本替换技术。你可以在stopdesign网站上的一篇文章中阅读到这种技术使用背景图像代替文字.以下是上述步骤的代码块:
<标题>< a href = " # " >您的网站名称
设计logo/网站标题
40< / span >我们可以开始样式化的标志/网站标题通过添加顶部空白#标志
Div,它会把图像推到我们想要的位置。
#{标志margin-top: 60 px;}
41< / span >然后显示<标题>
元素作为块元素,并将其浮动到左边。我们的标志图像宽度为269 px高度为45 px所以我们对<标题>
元素的属性。我们还需要推动我们的<标题>
元素的文本移出页面。
我们可以利用文本
属性的值-9999 px.
#logo h1{显示:块;浮:左;宽度:269 px;高度:45 px;indent:-9999 px;}
42< / span >对象中的链接需要设置样式<标题>
元素,以显示块元素,否则用户可能无法单击徽标转到主页。我们可以让链接的宽度和高度等于包含它的父链接,所以我们简单地给出它们100%宽度和高度属性值。
为了使用户在单击徽标时不会遇到灰色边框,我们将元素的outline属性设置为没有一个.最后,我们添加logo.png作为背景图像,再次确保我们赋予背景CSS属性值为没有重演这样我们的logo就不会水平平铺。
#logo h1 a{显示:块;宽度:100%;高度:100%;大纲:没有一个;背景:url(/图片logo.png)没有重演0 0;}
43< / span >在web浏览器中测试您的工作。
现在的网页布局应该如下图所示(哦,顺便说一下,如果这部分对你来说是新的,恭喜你,你刚刚学会了如何完成一个CSS背景图像替换技术)。
确定模板主导航的高度
44< / span >在开始导航之前,我们必须先找出它的高度是多少。重新打开PSD文件,并使用缩放工具(Z)放大导航区域,以便您可以清楚地看到导航的开始和开始位置。
45< / span >确保窗口>信息被选中(F8切换面板打开或关闭),信息面板是打开的。46< / span >使用矩形选框工具(M)进行选区。使用下图作为如何进行此选择的指导。
47< / span >查看信息面板以确定选择的高度(H:)值。这是我们航行的高度(这是我决定的高度)38 px).
将导航栏放入HTML文档中
48< / span >回到HTML文件,现在我们将在HTML文档的结构中添加导航。
类中使用两个简单的无序列表#头
div,我们把这些放到一个叫做#导航
.检查下面的代码块。
< div id = "导航">
- 家< / > < /李> <李> < a href = " # " >服务< / > < /李> <李> < a href = " # " >组合< / > < /李> <李> < a href = " # " >客户< / > < /李> <李> < a href = " # " >推荐< / > < /李> <李> < a href = " # " >联系我们< / > < /李> < / ul > < ul类= "电话号码>
- 免费报价- 0800 123 456
样式化导航
49< / span >我们首先对#导航
我们添加一个固定的高度38 px这是我们在Photoshop中确定的高度。我们给#导航
Div的宽度是固定的950 px,与我们的#容器
div。
最后,我们放置一个top margin属性,将我们的导航向下推离我们的logo,然后将它浮动到左边。
#导航{高度:38 px;宽度:950 px;margin-top:152 px;浮动:左;}
样式化第一个导航列表项
50< / span >我们设置导航列表项的样式(.nav-links李
)通过将它们浮动到左边,将我们的链接设置为内联。我们在列表项的顶部和右侧添加填充。
顶部的填充将链接向下推,在导航栏上垂直居中,而右侧的填充将每个链接用25个像素差距。
.nav-links李{显示:内联;填充:9 px25个像素0 0;浮:左;}
51< / span >我们的实际链接(the<一>
列表项中的元素)也需要样式化。我们给它们一些视觉风格,如字体系列、颜色和大小。
我们还删除了超链接的默认下划线,并将文本大写(使用首字母
属性)。我们还可以通过将其设置为来减少字母间距1 px.此外,当用户将鼠标移到链接上时,我们将链接的颜色更改为黄色(使用:徘徊
psuedo-selector)。
检查下面的代码,以确保您了解上述描述如何转换为CSS。
.nav-links li a{文本转换:大写;颜色:# fff;文字修饰:没有;字母间距:1 px;字体:粗体14px Arial, Helvetica, sans-serif;} .nav-links li a:徘徊{color: #ff0;}
样式化电话号码导航列表项
52< / span >的.phone-number
列表的样式与.nav-links
列表,但我们只需要样式列表项(<李>
).要注意的最重要的样式是float属性——我们将它浮动起来右边所以电话号码文本在我们的网页布局的导航栏的右边。
代码的其余部分是不言自明的。
电话号码li {浮:对;list-style-type:没有;首字母:大写;颜色:# fff;字母间距:1 px;padding-top: 12 px;字体:普通14px Arial, Helvetica, sans-serif;}
53< / span >在web浏览器中测试您的工作。您的模板现在看起来应该如下图所示。
切片内容区域框
有两种方法可以对内容区域进行编码。我们可以将方框编码为正方形并使用这个特性
CSS3属性使它们四舍五入,缺点是并非所有浏览器都支持这种方法。第二个选项是将内容框切片,并将它们设置为框上的CSS背景图像。
如果这是我的个人网站,我会用这个特性
,但在本教程中,我认为我们将对内容框进行切片。这是很好的Photoshop实践,在CSS3规范达到W3C最终推荐状态之前,使用CSS3属性有点冒险,除非我们为渐进式增强(这超出了我们在这里想要做的范围)编写代码。54< / span >再次打开PSD文件。
在图层面板中,隐藏所有图层的可见性,除了欢迎……组,其中包含主内容框的图层。55< / span >使用矩形选框工具(M)在内容框的上半部分圆角的地方做一个选区。按照下图的指导来进行选择。
请注意,我之所以选择这么大的选择,是因为内容框上的实际标题区域实际上应该足够大,可以容纳我们的文本。56< / span >将图像保存为PNG文件,点击文件>保存为Web和设备(Alt + Shift + Ctrl + S),并将其另存为content_box_top.png在你的图片文件夹里。对内容框的底部重复这个过程,但是当保存为web时,使用文件名content_box_bottom.png.
查看下图,了解如何为底部部分创建选框。
编码左边的内容框(主要内容区域)
57< / span >左边内容框(主要内容将在其中显示)的标记比看起来要简单。首先,我们需要创建一个名为left-content
.
#内部left-content
Div,我们需要创建三个具有不同类的Div:.content-top
,.content-middle
,.content-bottom
.的.content-top
Div将包含我们的顶部内容框图像.content-middle
Div将包含我们的主要内容,和我们的.content-bottom div
将包含底部内容框图像。检查下面的代码块。
< div id = "left-content">content-middle">Lorem ipsum dolor sit amet, consectetur adipiscing elit[…]
< !——底部内容框的图像放到这里。——>
样式化左边的内容div
58< / span >我们从我们的# left-content
Div:我们将其浮动到左侧,添加一个固定宽度,与我们的内容框图像大小相同(566 px),然后加上a20 px顶部边距,这将推动内容框从导航。
# left-content{float:左;宽度:566 px;margin-top: 20 px;}
样式化内容顶部类
59< / span >为.content-top
Div类,我们需要设置content_box_top.png文件作为背景,将div浮动到左侧,并添加与我们的图像相同的固定高度和宽度。
记住,填充也弥补了宽度的全部数量,所以无论你添加什么填充,你都必须从宽度或高度中扣除它。然后我们需要确保我们的< h2 >
标签(作为内容框标题的功能)很好地位于内容框顶部的中间。为此,我们添加了一个小的上下边距4 px在.content-top
样式规则,然后添加更大的左右边距,以推动文本。
检查下面的代码块以确保上面的描述是有意义的。
.content-top{浮动:左;高度:32像素;宽度:536 px;背景:url(/图片content_box_top.png)不再重演;填充:4px 15px;}
样式化中间内容区域
60< / span >的.content-middle
Div会有一些不同的风格.content-top
,我们可以在网页布局模型中使用边境
CSS属性。检查下面的代码块,看看它是如何工作的。
.content-middle{浮动:左;宽度:534 px;填充:5px 15px 0 15px;右边框:1px实体#d3d3d3;Border-left: 1px solid #d3d3d3;背景:# fff;}
样式化底部内容div
61< / span >的.content-bottom
类的样式将与我们的.content-top
类:我们加content_box_bottom.png将图像作为CSS背景,将其浮动到左侧,然后在框的底部添加边距,以便在我们可能添加的任何其他额外内容框之间留下一个很好的空白。
.content-bottom{浮动:左;高度:17 px;宽度:566 px;margin-bottom:15个像素;背景:url(/图片content_box_bottom.png)不再重演;}
62< / span >你现在可以添加一些虚拟的内容到内容的中间类,我已经添加了几个段落类似于我们的PSD文件。我们给< h2 >
元素一些视觉样式(大写,调整字母间距等)。
在我们的PSD文件中,我们有一个绿色和斜体的文本选择,这可以通过将文本包装在< span >
和一群.highlight
.控件的样式使内容框内的文本对齐< p >
元素,给它们一个text-align
CSS属性值证明.检查下面的代码块,看看上面的描述是否有意义。
h2{首字母:利用;颜色:# 666;字母间距:1 px;padding-top: 7 px;字体:粗体16px Arial, Helvetica, sans-serif;} .content-middlep{text-align:证明;}。突出{color: #7b9122;字体样式:斜体;}
63< / span >如果您在浏览器中测试您的模板,您现在应该得到如下图所示的内容。64< / span >控件创建更多内容框.content-top
,.content-middle
,.content-bottom
组内# left-content
.
切片边栏框
65< / span >侧边栏框将以与我们对主要内容框完全相同的方式进行切片,唯一的区别是切片的宽度将更小。
首先切换回我们的PSD文件。66< / span >在图层面板中隐藏所有背景图层的可见性,这样背景就透明了。67< / span >使用矩形选框工具(M)在边栏框的上半部分周围做一个选区;确保你尽可能接近边缘,直到最后一个像素。
用下图作为指导。68< / span >使用Image > Crop将PSD文件裁剪到选定的位置。69< / span >保存裁剪图像为sidebar_top.png在你的图片文件夹里。
70< / span >关闭PSD文件并选择“没有当系统提示您保存更改时(非常重要)。71< / span >重新打开PSD文件,重复上面相同的步骤,这次只是底部的部分。同样,创建选区时尽可能靠近边缘。
72< / span >使用image > Crop裁剪图像。73< / span >保存裁剪图像为sidebar_bottom.png在你的图片文件夹里。
标记侧边栏
74< / span >我们的侧边栏/右侧内容区域的标记将非常类似于我们的主/左侧内容,我们将从一个ID为的div开始#正确内容
.
在这个div中,我们有三个类:.sidebar-top
,.sidebar-middle
,.sidebar-bottom
.的.sidebar-top
类将包含侧栏框标题。我们将把标题打包< h2 >
标记与左侧内容区域中的完全相同。
的.sidebar-middle
类将包含侧栏内容。检查下面的代码块,该代码块具有侧栏/右侧内容区域的标记。
< div id = "确保内容正确">
样式化侧边栏
75< / span >现在我们可以使用下面的样式样式我们的侧边栏。所有代码都类似于左侧内容样式,除了两件事。首先,固定元素的高度和宽度。
另一个区别是#正确内容
浮动到右边而不是左边。我们也使用sidebar_top.png而且sidebar_bottom.png我们在上一节中切片作为CSS背景图片的.sidebar-top
而且.sidebar-bottom
div。花点时间研究下面的代码块。
#确保内容正确{浮:对;宽度:322 px;margin-top: 20 px;} .sidebar-top{浮动:左;高度:32像素;宽度:292 px;背景:url(/图片sidebar_top.png)不再重演;填充:4px 15px;} .sidebar-middle{浮动:左;宽度:290 px;填充:5px 15px 0 15px;右边框:1px solid #d3d3d3;Border-left: 1px solid #d3d3d3;背景:# fff;} .sidebar-middle p {text-align: justify;} .sidebar-bottom{浮动:左; height: 16px; width: 322px; margin-bottom: 15px; background: url(images/sidebar_bottom.png)不再重演;}
76< / span >在你的方框中添加一些虚拟内容,然后在你的网页浏览器中尝试一下。
对页脚区域进行切片
77< / span >把我们的脚割开很快也不会疼。
先看我们的PSD文件。78< / span >使用缩放工具(Z)放大你的页脚区域。79< / span >使用矩形选框工具(M)创建一个1 px广泛的选择跨越你的脚的高度。
以下图为例。80< / span >使用Image > Crop将画布裁剪到选定的位置。81< / span >将文件保存在图像文件夹中,作为GIF格式footer.gif.
编码页脚的HTML标记
82< / span >页脚的div将位于#容器
div。这背后的原因是,我们希望页脚跨越整个web浏览器的宽度:如果你在#容器
Div,它的最大宽度为950px。我们首先使用ID为的div#页脚。
在#容器
Div,创建另一个Div# footer-content
.
内部# footer-content
,在里面添加页脚内容< p >
标签。研究下面的标记。
< div id = "页脚">