css盒子教程,HTML_CSS盒子模式详解三,自本人教程《CSS盒子模式详解 - phpStudy

CSS盒子模式详解三

自本人教程《CSS盒子模式详解》发表以来,一直获得各位网友的好评与支持,今天应各位网友的要求,也为了答谢各位网友的支持,本人将推出续篇教程,以加深各位网友对CSS盒子模式的理解。此教程面向读者还是DIV排版入门者,如果你是高手,那就不要浪费自己时间了。

本人这次将讲解一个纵向CSS导航栏实例的制作,在讲解过程中将会延用之前发表教程所讲到的“盒子”概念

用CSS做导航栏也是轻而易举的事情,在本人之前发表的教程中其实也有一个简单的横向导航栏制作,那时只给出了样式代码并没有作太多的解释,这次要做一个相对复杂点的导航栏,为了加深大家对CSS盒子模式的理解,特别选做一个有多层DIV嵌套实现的导航栏。

先看实现原理动画演示:

彻底弄懂CSS盒子模式(导航栏实例详解)

现在再看结果图:

这个导航栏中的链接用到了背景图片的切换效果,鼠标移到链接上导航栏背景图片和文字颜色都会跟着改变,整个导航用到下列4幅图片素材:

即链接不同状态的两张背景图片,每条导航左边的“勾月”图形,最外边大盒子1像素高的背景图片。

看了动画演示和结果图,也了解了用到那些素材,现在就请你带着一股好奇和我一起来完成这个导航栏吧,当做完这个导航栏之后你会发现原来DIV排版那么简单。愿你更有信心学好DIV排版!

先来分析一下这个导航栏要用到多少个盒子:最外边一个大盒子(nav),这个盒子与1像素高的背景图片等宽,里面又有五个小盒子(lanList)分别装着每一个导航栏,这个盒子与“勾月”图形等高,导航栏这个盒子里面又装着一个稍小的盒子(lanBoxIn),这个盒子又装着一个黄色的修饰盒子 (span)和一个有文字的链接盒子(a)。

网页结构代码:

1.现在正式开始做,做之前初始化一下各签标的边界和填充,这里用样式:

* {

margin: 0px;

padding: 0px;

}

2.组装最外边的大盒子nav,宽200px,高为自动auto或者干脆不要,背景图片为bj.jpg,背景纵向重复,用到样式:

.nav {

background: url(bj.jpg) repeat-y;

width: 200px;

overflow: hidden;

}

3.组装每条导航的盒子lanList,这个盒子与“勾月”图形等高,并把“勾月”图形以背景形式放在这个盒子的左边,并让这个盒子靠左边对齐(因为这个盒子的宽度比外边的大盒子小,如果相等则可以不用考虑对齐方式),这里用到样式float的属性,本人没有写入样式中则取其默认值,样式代码如下:

.lanList {

background: url(lan.gif) no-repeat left center ;

height: 50px;

width: 190px;

}

4.组装比每条导航栏稍小的内部盒子lanBoxIn,这个盒子让它右对齐,并与其父级盒子lanList内容边界上边形成15px边界,目的是让内容块看起来居中(当然你也可以用到下边界来实现,达到目的就可以),样式代码如下:

.lanBoxIn {

float: right;

height: 20px;

width: 170px;

margin: 15px 0px 0px 0px;

}

5.组装黄色修饰块盒子span,这个盒子与父级盒子lanBoxIn等高,并在lanBoxIn盒子内左对齐,样式代码如下:

.lanBoxIn span {

float: left;

height: 20px;

width: 10px;

background-color: #ff9900;

}

6.组装链接盒子a,这里用到样式: display: block;让链接以块状方式呈现,并为链接安排背景图片,为了安全起见设置背景不重复,垂直居中(如果浏览器出错解释错误,而你的背景又不是纯色的,那么盒子过大导致的背景重复将会影响网页美观),链接文字样式去除下划线,样式如下:

.lanBoxIn a {

background: url(lanbj2.gif) no-repeat left center;

text-decoration: none;

height: 20px;

width: 155px;

display: block;

float: right;

padding: 0px 0px 0px 5px;

font-weight: bold;

font-size: 9pt;

line-height: 20px;

color: #663300;

}

7.最后简单为鼠标移到链接上时,链接风格的改为指定一个样式:

.lanBoxIn a:hover {

background-image: url(lanbj3.gif);

color: #FFFFFF;

}

至此完成样式代码编写,下面给出内容部分的结构代码,当然我们并不是先把样式代码都写好了再写结构代码的,一般是由外到里,一边写样式一边组织内容结构的,本人只是为了讲解方便而先全部给出样式代码。

像这种列表式导航栏用无序列表(ul/li)来实现更科学,结构代码如下:

本文作者:相关阅读:

javascript对象与数组参考大全(8)

MySQL教程:用索引优化ORDER BY

DNN调度管理解析(一)-----简单介绍及其API

正则在FireFox和IE下使用test的不同

在J2EE平台上开发企业应用

在HTML中利用js调用php的内容

基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版

JavaScript 数组运用实现代码

[换皮肤程序]一个比较使用的脚本程序

一个完整的SQL SERVER数据库全文索引的示例

SQL 2008中控制要求重新创建表的更改

从MySQL复制功能中得到的一举三得实惠分析

在Access中创建表及如何指定字段类型

HTML连续英文字符串强制换行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值