DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx

上传人:b****7 文档编号:11190130 上传时间:2023-02-25 格式:DOCX 页数:24 大小:1.80MB
下载 相关 举报
DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx_第1页
第1页 / 共24页
DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx_第2页
第2页 / 共24页
DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx_第3页
第3页 / 共24页
DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx_第4页
第4页 / 共24页
DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx

《DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx》由会员分享,可在线阅读,更多相关《DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx(24页珍藏版)》请在冰豆网上搜索。

DIV CSS教程第四天 纵向导航菜单及二级弹出菜单.docx

DIVCSS教程第四天纵向导航菜单及二级弹出菜单

第四天纵向导航菜单及二级弹出菜单

文章出处:

标准之路(

编辑:

杨雨晨思

今天我们开始学习

《十天学会web标准(div+css)》的纵向导航菜单及二级弹出菜单,包含以下内容和知识点:

▪纵向列表标签的默认样式css派生选择器css选择器的分组纵向二级列表相对定位和绝对定位

一、纵向列表

纵向列表或称为纵向导航,在网站的产品列表中应用比较广泛,如淘宝网左侧的淘宝服务,今天我们就学习一下纵向导航的制作

先新建一个页面,然后插入一个ID为menu的div,然后在设计视图中选中文字,点击工具栏的ul图标,即会自动插入ul和li,然后修改文字内容为你需要的内容。

id="menu">

  • 首页
  • 网页版式布局
  • div+css教程
  • div+css实例
  • 常用代码
  • 站长杂谈
  • 技术文档
  • 资源下载
  • 图片素材

从预览的效果上看,四周都有很大的空隙,而且每一行前边还有个点,这是因为标签的默认样式造成的,下面我们需要创建样式表把标签的默认样式给清除掉

生成的css代码如下:

#menuul{list-style:

none;margin:

0px;padding:

0px;}

下面我们定义一下全局的字体,字号,行距等,点击css

样式面板上的新建按钮,在弹出的窗口中选择器类型选择标签,名称选择body,然后在css编辑器中设置如下图所示属性

body全局样式定义后,下面我们给

#menu定义一个灰色的1px边框及宽度,然后把li定义下背景色和下边框及内边距等

接下来定义li

的背景色为浅灰色及下边框和内边距

这些属性设置完后,一个简单的纵向列表菜单初具模型了。

因为导航菜单,需要链接到其它页面,下边把这些导航加上链接,然后在定义

a的状态和鼠标划过状态。

要添加链接,先选择要添加链接的文字,然后在属性页面链接上输入要链接的页面址,我这里输入个#,是个虚拟链接,不指向任何页面。

创建a的样式后,下面我们增加个交互效果,当鼠标划过链接文字时,让文字颜色变成红色,这时就需要用到a:

hover这个伪类了

这里的a:

hover属于伪类,在下一章节时会详细讲解,或者参看http:

//www.aa

用户很容易阅读。

但此时这些默认样式对我们没用,所以需要清除掉,为了方便,建议用标签重定义方式,这样可以很简单地把全局的样式给统一起来。

另外页面中的图片添加链接后会默认添加个边框,ul默认情况下会在列表前添加圆点,这些都是需要去掉的。

body,ul,li,h1,h2,h3,h4,h5,h6,p,form,dl,dt,dd{margin:

0px;padding:

0px;font-size:

12px;font-weight:

normal;}ul{list-style:

none;}img{border-style:

none;}这里选择器类型选择复合内容,我用的是dw最新cs5版本,比之前章节用的cs3版本中更合理了,把ID和伪类分开了。

然后在选择器名称中输入我们常用的带默认样式的标签,中间以英文逗号分隔

下面对img标签进行重定义,清除图片有链接时默认的边框

下边设置全局ul标签默认的圆点为无

这样就很简单把常用标签的默认样式给清除掉了,如果需要边距的话再重新定义,也避免了各个浏览器对标签默认样式解析差异造成页面显示不一样的问题。

有关标签的默认样式更详细的讲解,请参看

三、css派生选择器

CSS初学者不知道使用子选择器是影响他们效率的原因之一。

派生选择器可以帮助你节约大量的class定义。

我上边的例子中应用了些派生选择器如下的css代码#menuul{list-style:

none;margin:

0px;padding:

0px;}

#menuulli{background:

#eee;padding:

0px8px;height:

26px;line-height:

26px;border-bottom:

1pxsolid#CCC;}

#menuul和#menuulli即为派生选择器,如果我们把前边的#menu去掉,那么将是对ul标签重定义,重定义的属性将应用到全局,而前边加上#menu后,将是定义ID为menu元素内ul的样式,设置它的样式只对#menu下的ul生效,不对它之后的ul生效,这个有点像编程中的局部变量,而直接定义ul则相当于全局变量。

#menuulli是定义ID为menu元素内ul下的li,派生选择器可以使我们不用再给每个li定义一个样式名来定义样式,只需使用派生选择器,从它的父元素处选择即可,这样能大大提高效率。

四、css选择器的分组

你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。

用逗号将需要分组的选择器分开。

在下面的例子中,我们对所有的标题元素进行了分组。

所有的标题元素都是绿色的,p段落、div分区、span都是20像素字体。

h1,h2,h3,h4,h5,h6{

color:

green;

}

p,div,span{

font-size:

20px;

}

五、纵向二级列表

二级菜单即指当鼠标放到一级菜单上后,会弹出相应的二级菜单,移去鼠标后自动消失,我们接着上边的例子进行修改,代码如下:

接下来修改css样式表,先修改#menuulli,给其增加一个position:

relative;属性

然后定义ID

为menu下ul下里内的ul样式如下:

定义display:

none后,默认状态下将隐藏

定义#menuulliul的position:

absolute;left:

100px;top:

0px;,那么它将以相对于它父元素li的上为0,左为100的位置显示。

最后我们设置当鼠标划过后显示下级菜单的样式

#menuulli:

hoverul这个样式比较难理解,它的意思是定义ID为menu下ul下li,当鼠标划过时ul的样式,这里设置为display:

block,指的是鼠标划过时显示这块内容,这也实现我们今天想要的效果。

其中的:

hover和前边说的链接一样,同属于伪类,但有一点注意,目前IE6只支持a的伪类,其它标签的伪类不支持,所以要想在IE6下也显示正

上节课讲解块级元素和内联元素时提到display,今天用到了display:

block;和display:

none;值为none时表示将这个元素隐藏,为block时表示将它的隐藏状态改为显示状态详细介绍请参考css手册

六、相对定位和绝对定位▪

▪定位标签:

position包含属性:

relative(相对)absolute(绝对)1.position:

relative;如果对一个元素进行相对定位,首先它将出现在它所在的位置上。

然后通过设置垂直或水平位置,让这个元素"相对于"它的原始起点进行移动。

(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。

因此,移动元素会导致它覆盖其他框)

2.position:

absolute;表示绝对定位,位置将依据浏览器左上角开始计算。

绝对定位使元素脱离文档流,因此不占据空间。

普通文档流中元素的布局就像绝对定位的元素不存在时一样。

(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制它层级次序。

z-index的值越高,它显示的越在上层。

3.父容器使用相对定位,子元素使用绝对定位后,这样子元素的位置不再相对于浏览器左上角,而是相对于父窗口左上角

4.相对定位和绝对定位需要配合top、right、bottom、left使用来定位具体位置,这四个属性只有在该元素使用定位后才生效,其它情况下无效。

另外这四个属性同时只能使用相邻的两个,不能即使用上又使用下,或即使用左,又使用右

更详细关于相对定位和绝对定位的介绍请参考

本节讲解的知识点较多也较重要,希望大家认真学习,认真动手做一遍,加深印象。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1