如何使用HTML和CSS制作下拉菜单

html-css011

如何使用HTML和CSS制作下拉菜单,第1张

制作下拉菜单有2种方法:

使用jquery方法实现;实现方法:首先需要引入jquery的版本,引用toggle()的方法,点击当前的一级导航。用this方法来进行当前包含的二级菜单隐藏与显示。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script type="text/javascript" src="js/jquery-1.7.2.min.js" ></script>

</head>

<style>

*{margin: 0 padding: 0}

ul,li{list-style: none}

a{text-decoration: none}

.menu{width: 1000px margin: 0 auto}

.menu li{float: leftwidth: 100pxline-height: 40px text-align: center}

.menu li a{display: block color:redfont-size: 18px}

.menu-two{display: nonewidth: 100px}

.menu li .menu-two a{font-size: 14pxcolor:#0000FF}

</style>

<body>

<ul class="menu">

<li><a href="#">一级菜单</a>

<ul class="menu-two">

<li><a href="#">二级菜单</a></li>

<li><a href="#">二级菜单</a></li>

<li><a href="#">二级菜单</a></li>

<li><a href="#">二级菜单</a></li>

</ul>

</li>

<li><a href="#">一级菜单</a>

<ul class="menu-two">

<li><a href="#">二级菜单</a></li>

<li><a href="#">二级菜单</a></li>

<li><a href="#">二级菜单</a></li>

<li><a href="#">二级菜单</a></li>

<li><a href="#">二级菜单</a></li>

</ul>

</li>

<li><a href="#">一级菜单</a>

<ul class="menu-two">

<li><a href="#">二级菜单</a></li>

</ul>

</li>

<li><a href="#">一级菜单</a>

<ul class="menu-two">

<li><a href="#">二级菜单</a></li>

</ul>

</li>

<li><a href="#">一级菜单</a>

<ul class="menu-two">

<li><a href="#">二级菜单</a></li>

</ul>

</li>

</ul>

</body>

<script type="text/javascript">

$(function(){

$(".menu > li a").toggle(

function(e){

$(this).siblings().show()//对当前的.menu>li a的兄弟节点menu-two进行显示

e.preventDefault()//阻止冒泡事件.

},function(e){

$(this).siblings().hide()对当前的.menu>li a的兄弟节点menu-two进行隐藏

e.preventDefault()

}

)

})

</script>

</html>

2.使用css的伪类样式hover实现,html结构上面的一样,只需要把二级菜单进行隐藏(display:none)然后在用hover方式,鼠标移上去让当前隐藏的(.menu-tow)进行(display:block)显示,纯css的方式:

<style>

*{margin: 0 padding: 0}

ul,li{list-style: none}

a{text-decoration: none}

.menu{width: 1000px margin: 0 auto}

.menu li{float: leftwidth: 100pxline-height: 40px text-align: center}

.menu li a{display: block color:redfont-size: 18px}

.menu-two{display: nonewidth: 100px}/***隐藏当前的二级菜单***/

.menu li .menu-two a{font-size: 14pxcolor:#000}

.menu li:hover .menu-two{display: block}/**鼠标的hover伪类事件对.menu-tow进行显示**/

</style>

3.2种方式都可以实现想要的下拉菜单效果,jquery的实现方式与纯css的实现方式均可以,如果需要有个缓动的动画效果,可以在当前的jquery方式下进行修改,纯css的实现需要用css3的属性来实现。都是很酷炫的(PS:css3的效果只支持ie9及以上)。

Html中引入css的主要方式有四种,分别是外部样式、内部样式、内联样式、导入式。

一、外部样式

(一) 使用外部样式的好处

1.减少代码量 ,网站中相同部分的样式只需要编写一次,我们只需要把css文件引入到不同的html页面中即可实现展示效果。

2.更改网站风格方便,我们可以通过修改一个css文件就可以实现整个网站的外观修改。

3.Html页面渲染时,css文件能够被同时加载。

4.结构与表现分离,便于后期维护。

(二) 适用于多个页面需要相同样式内容的时候使用

(三) 书写位置:新建单独的后缀名为.css文件,使用link标签引入到html页面中,将link标签放到Html页面的head标签中

例:

rel:规定当前文档与被连接文档之间的关系.

href:规定为连接文档的位置

type:规定被连接文档的MIME类型

二、内部样式

(一) 使用内部样式的好处

1.结构与表现分离,便于后期维护。

2.所有的CSS控制都是针对单独的面,没有多余的CSS代码。

3.同样页面中相同的样式可以重复使用。

(二) 使用内部样式的缺点

1.只能在一个页面中使用

2.网站更换风格麻烦

3.Css在html页面中,页面显得臃肿

(三) 适用于个别页面需要特殊样式时

(四) 书写位置:写在html页面的head标签之间,在head标签之间书写style标签

例:

三、行间样式

(一) 使用内部样式的好处

1. 单独修改单个标签的样式

(二) 使用内部样式的缺点

1. 结构与表现没有分类,不利于后期维护。

2. 只能修改单个标签的样式,代码重复利用率不高,代码冗长。

(三) 适用于个别标签需要特殊样式时

(四) 书写位置:在标签的开始标签内部书写style=””

例:

四. 导入式

(一) 使用导入的好处

1.减少代码量,网站中相同的部分的样式只需要书写一次,后续只需要把css文件引入到不同的Html页面中即可。

2.更改网站风格方便,我们可以通过修改一个css文件,就可以修个整个网站的外观。

3.结构与表现分离,便于后期维护。

(二) 使用导入的缺点

1.需要等Html页面全部加载完才能加载css文件。

(三) 适用于多个页面需要展示相同样式的时候

(四) 书写位置:写在Html页面的head标签中的style表现中,用@import导入css文件