接下来定义css吧,在ps里测量,头部的高度是71px,logo距顶部18px,搜索产品距顶部30px,下面在css里把这些参数都给定义上,看显示的效果和效果图中的效果是不是一样呢?
#logo{float:
left;margin-top:
18px;}
#search{float:
right;margin-top:
30px;}
这两项的位置已经差不多了。
预览你会发现,搜索框和按钮跟效果图中的不一样,这是因为我们还没对它设置样式,接下来把文本框增加一个class为inp_srh样式,按钮增加btn_srh的样式,然后定义这两个样式的属性。
#search{float:
right;height:
24px;margin-top:
30px;color:
#444;}
.inp_srh{width:
140px;height:
17px;padding-left:
20px;background:
url(../images/srh_bg.gif)00no-repeat;border:
1pxsolid#cbcbcb;}
.btn_srh{width:
58px;height:
23px;background:
url(../images/btn_srh.gif)00no-repeat;border:
none;cursor:
pointer;text-indent:
-999em;}
#search*{vertical-align:
middle;}
我们给search增加了高度和文字颜色,这点不用多解释,但高度为什么是24px,是为了照顾IE6,大家去掉测试下就知道了;
inp_srh的宽度和高度并不是实际效果图中的宽高,是因为默认情况下文本框带有内边距造成的。
另外就是padding的值也会算到总宽度上的;
btn_srh就是应用背景图像来实现的,说明一点这里的border的值为none指的是无边框,cursor定义鼠标样式为手形,之前许多朋友用hand,但这个通不过w3c认证。
text-indent:
-999em这个属性许多朋友可能不理解是干什么用的了,它的作用相当于word中的首行缩进,这里设置成-999,意思是向左侧缩进-999em,这样是不是就看不到文字啦,所以它的作用是将按钮上的文字隐藏,当然也可以在html代码中插入空格代替文字,但这样做有点不太好,在不支持css的设备上查看时,用户不知道这个按钮是干什么的了。
所以建议采用这种形式;
有必要解释下最后一行,它的特殊之处在样式名和大括号之间加了一个*号,这里兼容所用的,属于csshack部分内容,是定义这些元素都垂直居中对齐。
csshack本身就是无意思的东西,所以不做过多解释,知道当需要垂直居中对齐时就采用这种写法就行了,但是一定不要滥用,这个属性也是有缺陷的,当有英文和中文同时出现时,英文会靠上显示的。
有关csshack更多的内容,请参考
这些设置完后,把最初搭建框架时设置的header的背景色和底部外边距给去掉吧。
#header{height:
71px;}
至此,头部的样式就完成了,下边该制作导航了。
分析一下,导航分为一级导航和二级导航,所以我需要在nav下再插入nav_main和nav_son两个块元素。
先设置nav的高度及背景图片样式。
#nav{height:
66px;background:
url(../images/nav_bg.gif)00repeat-x;margin-bottom:
8px;}
完了之后该一级菜单和二级菜单的样式了
.nav_main{height:
36px;overflow:
hidden;}
.nav_mainulli{float:
left;font-size:
14px;font-weight:
bold;margin:
5px5px05px;}
.nav_mainullia{float:
left;display:
block;height:
26px;line-height:
26px;color:
#fff;padding-left:
20px;}
.nav_mainulliaspan{display:
block;padding-right:
20px;}
.nav_mainullia:
hover{background:
url(../images/nav_bg.gif)0-163pxno-repeat;}
.nav_mainullia:
hoverspan{background:
url(../images/nav_bg.gif)right-163pxno-repeat;}
.nav_mainullia#nav_current{height:
31px;line-height:
31px;background:
url(../images/nav_bg.gif)0-132pxno-repeat;color:
#646464;}
.nav_mainullia#nav_currentspan{height:
31px;background:
url(../images/nav_bg.gif)right-132pxno-repeat;}
.nav_son{height:
30px;}
.nav_sonulli{float:
left;margin-top:
4px;}
.nav_sonullia{display:
block;width:
78px;height:
22px;line-height:
22px;text-align:
center;color:
#6e6e6e;}
.nav_sonullia:
hover{background:
url(../images/nav_bg.gif)0-198pxno-repeat;}
这些样式的作用就不多讲了,以前的课程当中已详细讲解过了,只不过本例使用了双导航菜单而已。
现在在浏览器下预览一下吧,看看效果怎么样,是不是和效果图差不多了,但还有最后一步就是两端的圆角没实现,实现圆角的方法也不复杂,只需再增加两行代码和两个样式即可。
在nav下nav_main之前增加如下两行代码:
然后用样式表定义一个左侧的圆角,一个右侧的圆角。
css样式如下:
#nav_l{float:
left;height:
66px;width:
5px;overflow:
hidden;background:
url(../images/nav_bg.gif)0-66pxno-repeat;margin-right:
10px;}
#nav_r{float:
right;height:
66px;width:
5px;overflow:
hidden;background:
url(../images/nav_bg.gif)-5px-66pxno-repeat;}
预览一下吧,看看头部和导航是不是和效果图中的一样呢
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
搜索产品