你好,欢迎访问远方教程PC版!
广告位招租

Div+CSS速成第四天:纵向导航菜单及二级弹出菜单(第7页)

[日期:2015-03-17]   来源:远方教程  作者:远方教程   阅读:15443次[字体: ] 访问[旧版]
 捐赠远方教程 

 

定义#menu ul li ul的position: absolute; left: 100px; top: 0px;,那么它将以相对于它父元素li的上为0,左为100的位置显示。最后我们设置当鼠标划过后显示下级菜单的样式

DIV CSS教程——第4天_纵向导航菜单及二级弹出菜单
DIV CSS教程——第4天_纵向导航菜单及二级弹出菜单

#menu ul li:hover ul这个样式比较难理解,它的意思是定义ID为menu下ul下li,当鼠标划过时ul的样式,这里设置为display:block,指的是鼠标划过时显示这块内容,这也实现我们今天想要的效果。其中的:hover和前边说的链接一样,同属于伪类,但有一点注意,目前IE6只支持a的伪类,其它标签的伪类不支持,所以要想在IE6下也显示正确,需要借助js来实现,我们定义一个类.current (自己命名,需和JS中相同)的属性为display:block;然后当鼠标划过后,用JS给当前li添加上这个样式上,根据css的优先级:指定的高于继承的原则,就实现了IE6下的正确显示。所以需要加上JS和样式#menu ul li.current ul { display:block;}。
#menu ul li.current ul { display:block;}

DIV CSS教程——第4天_纵向导航菜单及二级弹出菜单

提示:可以先修改部分代码后再运行
最终显示效果如下:

DIV CSS教程——第4天_纵向导航菜单及二级弹出菜单DIV CSS教程——第4天_纵向导航菜单及二级弹出菜单DIV CSS教程——第4天_纵向导航菜单及二级弹出菜单

上节课讲解块级元素和内联元素时提到display,今天用到了display:block;和display:none;值为none时表示将这个元素隐藏,为block时表示将它的隐藏状态改为显示状态详细介绍请参考css手册

六、相对定位和绝对定位

  1. 定位标签:position
  2. 包含属性:relative(相对) absolute(绝对)

1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上。然后通过设置垂直或水平位置,让这个元素"相对于"它的原始起点进行移动。(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框)
2.position:absolute; 表示绝对定位,位置将依据浏览器左上角开始计算。 绝对定位使元素脱离文档流,因此不占据空间。普通文档流中元素的布局就像绝对定位的元素不存在时一样。(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制它层级次序。z-index的值越高,它显示的越在上层。)
3.父容器使用相对定位,子元素使用绝对定位后,这样子元素的位置不再相对于浏览器左上角,而是相对于父窗口左上角
4.相对定位和绝对定位需要配合top、right、bottom、left使用来定位具体位置,这四个属性只有在该元素使用定位后才生效,其它情况下无效。另外这四个属性同时只能使用相邻的两个,不能即使用上又使用下,或即使用左,又使用右
更详细关于相对定位和绝对定位的介绍请参考http://www.aa25.cn/div_css/899.shtml
本节讲解的知识点较多也较重要,希望大家认真学习,认真动手做一遍,加深印象。

图片展示
 
相关评论
站长推荐