| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Dreamweaver教程 > Dreamweaver入门教程 > 文章正文 用户登录
网页菜单之---树形
用XSLT生成网页菜
DHTML实例解析:用
网页菜单详解(3):
网页菜单详解(2):
网页菜单详解(1):
网页菜单之---"抄

网页菜单详解(4):定位问题           

网页菜单详解(4):定位问题

作者:钟钟 来源:天极设计在线 更新:2005-3-30 13:30:06 错误报告 我要投稿
    通过前三篇文章的讲解,现在我们已经可以实现一个基本的菜单了。这一章,我们来讨论一下定位的问题。

  在前几章讲的例子中,定位都是相对于整个网页的左上角。在有一些时候,我们可能需要它相对于网页中某个元素定位,这样做在某些时候是非常有必要的,比如不会出现那种因窗口大小的改变而致使菜单与网页中的一些元素的相对位置发生变化。在第一章的最初,笔者所给的例子中就是这样做的。

  在那里我们很方便把就把这个菜单插入到了网页中,而菜单不会相对菜单按钮的位置发生变化。下面我们就看看如何来实现。

  在第一章,我们讲过position,当它取值absolute的时候,即绝对定位。既然是定位,就要有参照物。一般来讲,这个定位的参照物是body(即整个网页)的左上角,但如果其父级元素中有设置了position:absolute的元素,那么它的参照物就是该元素。知道了这样一个特性,我们就可以很容易的来实现了。

  另外,有一点在这里必须要着重说明一下,前面同时也讲过,当position的值为relative时,就是相对定位,为什么不用它来实现呢?我们必须要正确理解这里所谓的相对定位:它是指相对于原来在HTML中的位置所发生的偏移,而它仍占据原来在HTML中所占据的位置。而我们现在的菜单需要“悬浮”在网页元素之上,而这只有当position设为absolute时才可以做到。

  通过上面的讲述,我们应该可以大致的了解其实现的原理了。下面就看看刚才在上面看到的那个菜单的代码(注意里面的注释会帮你加深理解)。

-------------------------------------------------------------------------------<style type=text/css> td,div { font: normal 12px 宋体; } a { color: #F8F8F8; text-decoration: none; } a:hover { color: #F8F8F8; text-decoration: underline; } </style> <div style="background-color:#3366CC;width:68px;text-align:center; padding:3px;border-bottom:1px solid #FFFFFF;z-index:1;" onmouseover="myMenu.style.display='block'" onmouseout="myMenu.style.display='none'"> <!--上面的DIV就是我们看到的按钮部分,它并未涉及任何定位的部分, 不要与下面两个混淆。--> <div style="position:absolute;width:0px;height:0px;overflow:visible;"> <!--注意上面的DIV,设置了position:absolute,但是并没有设置left/top, 所以这时它仍与一个普通的HTML元素一样,出现在它应该出现的位置。--> <div id=myMenu style="position:absolute;left:-10px;top:18px; display:none;width:90px;background-color:#3366CC; padding:5px;text-align:left;"> <!--它的定位是相对于前一个DIV而不是Body, 因为前一个DIV设置了position:absolute--> <a href=#none>Link 1</a><br> <a href=#none>Link 2</a><br> <a href=#none>Link 3</a><br> <a>...</a><br> <a href=#none>Link N</a><br> </div> </div> <a href=#none>菜单实例</a> </div>-------------------------------------------

  请仔细理解上面的代码,相信大家对用CSS进行绝对定位会有一个更深层次的认识!

  这里说一句题外话:这种定位可以用Dreamweaver来实现(这对于对JS不是很熟的朋友来讲的确很方便),而事实上这样做生成的代码的原理与上面讲的相同的。把上面讲的原理弄清楚了,使用起来会更灵活。
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。