帐号: 密码:
// 设为首页 // 收藏本站 // 请您留言 // 网址导航
远方教程-满足你的求知欲!
站内搜索:
HTML ASP PHP CSS DIV Dreamweaver Photoshop Word Excel PPT SEO技巧
您当前位置:网站首页 >> HTML入门 >> Div+CSS从入门到精通 >> 阅读文章

Div+CSS速成第十天:div+css网页标准布局实例二

来源:远方教程 作者:远方教程 发布时间:2015-04-18 查看次数:10246 访问[新版]

  (接上一篇,本节教程文字较多,比较枯燥,如果前边知识学习牢固,可以直接下载源代码查看,哪个地方不明白,再回过头来看哪一部分)
  五、布局页面——头部和导航 
  有了上边的基础,下面的任务就是要利用html和css制作完成一个完整的网页了。先从头部开始,第三小节时我们已经把整体框架给搭建好了,就像盖房子一样,整体结构已经出来了,下面就需要填砖分割空间了。先分析下头部:分为两部分,一个是logo靠左侧显示,一个是搜索靠右侧显示,那么布局时插入两个div,一个向左浮动,一个向右浮动的方式来完成。另外还有很多种实现方法,比如logo用h1标签,搜索用span,或者把logo做为背景图片也是可以的,不管采用哪种方法,要根据页面的需求选用一种最合理的方法。如果要在logo加上链接的话,那么就不能用背景图片的方法了。
<div id="header">
<div id="logo">此处显示 id "logo" 的内容</div>
<div id="search">此处显示 id "search" 的内容</div>
</div>
先在header里插入以上两块元素。然后分别插入相应的内容,在logo里插入我们事先切割好的logo图片,在search里插入一个表单,一个文本框和一个按钮,插入后如下:
<div id="header">
<div id="logo"><img src="images/logo.gif" width="181" height="45" /></div>
<div id="search">
<form id="form1" name="form1" method="post" action="">
搜索产品
<input type="text" name="textfield" id="textfield" />
<input type="submit" name="button" id="button" value="查询" />
</form>
</div>
</div>
接下来定义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) 0 0 no-repeat; border:1px solid #cbcbcb;}
.btn_srh { width:58px; height:23px; background:url(../images/btn_srh.gif) 0 0 no-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的设备上查看时,用户不知道这个按钮是干什么的了。所以建议采用这种形式;
有必要解释下最后一行,它的特殊之处在样式名和大括号之间加了一个*号,这里兼容所用的,属于css hack部分内容,是定义这些元素都垂直居中对齐。css hack本身就是无意思的东西,所以不做过多解释,知道当需要垂直居中对齐时就采用这种写法就行了,但是一定不要滥用,这个属性也是有缺陷的,当有英文和中文同时出现时,英文会靠上显示的。
这些设置完后,把最初搭建框架时设置的header的背景色和底部外边距给去掉吧。
#header { height:71px;}
至此,头部的样式就完成了,下边该制作导航了。分析一下,导航分为一级导航和二级导航,所以我需要在nav下再插入nav_main和nav_son两个块元素。
<div id="nav">
<div id="nav_l"></div>
<div id="nav_r"></div>
<div class="nav_main">
<ul>
<li><a href="#"><span>首页</span></a></li>
<li><a href="#" id="nav_current"><span>企业新闻</span></a></li>
<li><a href="#"><span>企业简介</span></a></li>
<li><a href="#"><span>产品展厅</span></a></li>
<li><a href="#"><span>企业历史</span></a></li>
<li><a href="#"><span>招商加盟</span></a></li>
<li><a href="#"><span>网上下单</span></a></li>
<li><a href="#"><span>联系我们</span></a></li>
</ul>
</div>
<div class="nav_son">
<ul>
<li><a href="#">企业动态</a></li>
<li><a href="#">领导活动</a></li>
<li><a href="#">产品资讯</a></li>
<li><a href="#">通知公告</a></li>
</ul>
</div>
</div>
先设置nav的高度及背景图片样式。
#nav { height:66px; background:url(../images/nav_bg.gif) 0 0 repeat-x; margin-bottom:8px;}
完了之后该一级菜单和二级菜单的样式了
.nav_main { height:36px; overflow:hidden;}
.nav_main ul li { float:left; font-size:14px; font-weight:bold; margin:5px 5px 0 5px;}
.nav_main ul li a { float:left; display:block; height:26px; line-height:26px; color:#fff; padding-left:20px;}
.nav_main ul li a span { display:block; padding-right:20px;}
.nav_main ul li a:hover { background:url(../images/nav_bg.gif) 0 -163px no-repeat;}
.nav_main ul li a:hover span { background:url(../images/nav_bg.gif) right -163px no-repeat;}
.nav_main ul li a#nav_current { height:31px; line-height:31px; background:url(../images/nav_bg.gif) 0 -132px no-repeat; color:#646464;}
.nav_main ul li a#nav_current span { height:31px; background:url(../images/nav_bg.gif) right -132px no-repeat;}
.nav_son { height:30px;}
.nav_son ul li { float:left; margin-top:4px;}
.nav_son ul li a { display:block; width:78px; height:22px; line-height:22px; text-align:center; color:#6e6e6e;}
.nav_son ul li a:hover { background:url(../images/nav_bg.gif) 0 -198px no-repeat;}
这些样式的作用就不多讲了,以前的课程当中已详细讲解过了,只不过本例使用了双导航菜单而已。现在在浏览器下预览一下吧,看看效果怎么样,是不是和效果图差不多了,但还有最后一步就是两端的圆角没实现,实现圆角的方法也不复杂,只需再增加两行代码和两个样式即可。在nav下nav_main之前增加如下两行代码:
<div id="nav_l"></div>
<div id="nav_r"></div>

打印 打印 | 关闭 关闭 评论
相关文章
图片新闻
站内搜索  
搜索
猜您喜欢  
最新更新  
阅读排行  
关于我们 | 联系方式 | 大事记 | 免责声明 | | 给我留言
部分广告源自金山联盟2345联盟 QQ咨询 站长之家QQ群:232617873
Copyright 2024 远方教程 © All Rights Reserved.

回顶部