标签套
标签,然后再给
标签设置样式。在被套的
标签设置平时状态为隐藏,再等鼠标移动到上一个
标签时,将被套的
标签显示(样式:overflow:hidden
)。
贴一段网上摘的纯CSS下拉菜单(二级)
利用float制作兼容ie6纯css下来菜单
*
{
margin:0
padding:0
}
ul
{
list-style:none
}
a:hover
{color:#555
}
.nav
{
float:left
overflow:hidden
text-align:center
font-size:14px
}
.nav
dd
{
float:left
width:300px
margin:-888px
-150px
0
0
}
.nav
dd
a
{
float:left
margin-top:888px
display:block
position:relative
background:#eee
width:150px
height:30px
line-height:30px
border-bottom:1px
solid
#fff
}
.nav
a:hover
{
margin-right:1px
background:#3cf
}
.nav
dd
ul
{
float:left
font-size:0
z-index:888
}
.nav
dd
li
a
{
clear:left
width:150px
margin-top:0
font-size:14px
}
.nav
dd
li
a:hover
{
margin-right:1px
}
首页
关于我们
公司简介
公司文化
企业荣誉
联系我们
新闻动态
国内新闻
国外新闻
产品展示
111
222
工具/材料notepad++
浏览器
打开Notepad++,先输入个页面框架<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<hade>
</hade>
<body>
</body>
框架好了,那么就该定义页面的title,关键词keyword,和描述description<meta charset="UTF-8" content="text/html" http-equiv="content-type">
<title>纯css二级导航下拉菜单</title>
<meta name="keyword" content="搜狗略懂">
<meta name="description" content="描述">
这些内容只能在<head></head>中完成。
定义页面使用的css样式,也是需要在<head>里定义的。<style type="text/css">
* {
margin:0
padding:0
}
.jiao ul li a:hover{
color:#red
}
ul, li {
list-style:none
}
a {
text-decoration:none
}
.jiao {
border:5px solid #pink
border-right:none
overflow:hidden
float:left
margin:200px 0 0 600px
}
.jiao ul li ul li a {
border-right:solid
border-top:2px dotted #666
background:#black
}
.jiao>ul>li { float:left}
.jiao ul li a { width:150pxheight:80pxtext-align:centerline-height:100pxdisplay:blockborder-right:5px solid #redbackground:#redcolor:#red}
.jiao ul li ul { position:absolutedisplay:none}
.jiao ul li:hover ul{ display:block}
.jiao>ul>li>ul>li { float:none}
<!--nav>ul只选择nav下一级里面的ul元素
nav ul选择nav内所包含的所有ul元素
nav>ul比nav ul限定更严格,必须后面的元素只比前面的低一个级别。
这里根据你的需求来自己定义。
-->
</style>
添加一个DIV标签,在页面中划分出一个块来,用来显示。div中所用的样式为刚才咱们声明的样式“jiao”这个盒子来描述
然后使用无序标签<ul>+样式<li>来实现模块。<div class="jiao">
<ul>
<li><a href="#">搜狗略懂</a>
<ul>
<li><a href="#">搜狗问问</a></li>
<li><a href="#">搜狗输入法</a></li>
<li><a href="#">搜狗浏览器</a></li>
<li><a href="#">搜狐</a></li>
</ul>
</div>
放上全部的代码吧,可以参考一下啊,<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">//允许你通过一个网址来识别你的标记
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<meta name="keyword" content="利用css实现下拉菜单">
<meta name="description" content="搜狗略懂、css分享">
<title>css实现下拉导航栏菜单</title>
<style type="text/css">
* {
margin:0
padding:0
}
.jiao ul li a:hover{
color:#red
}
ul, li {
list-style:none
}
a {
text-decoration:none
}
.jiao {
border:5px solid #pink
border-right:none
overflow:hidden
float:left
margin:200px 0 0 600px
}
.jiao ul li ul li a {
border-right:solid
border-top:2px dotted #666
background:#black
}
.jiao>ul>li { float:left}
.jiao ul li a { width:150pxheight:80pxtext-align:centerline-height:100pxdisplay:blockborder-right:5px solid #redbackground:#redcolor:#red}
.jiao ul li ul { position:absolutedisplay:none}
.jiao ul li:hover ul{ display:block}
.jiao>ul>li>ul>li { float:none}
<!--nav>ul只选择nav下一级里面的ul元素
nav ul选择nav内所包含的所有ul元素
nav>ul比nav ul限定更严格,必须后面的元素只比前面的低一个级别。
这里根据你的需求来自己定义。
-->
</style>
</head>
<body>
<div class="jiao">
<ul>
<li><a href="#">搜狗略懂</a>
<ul>
<li><a href="#">搜狗问问</a></li>
<li><a href="#">搜狗输入法</a></li>
<li><a href="#">搜狗浏览器</a></li>
<li><a href="#">搜狐</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
如果要添加更多的菜单,只需要后边继续添加<ul>/<li>即可
特别提示写代码过程中一定要记得换行,开头留空,否则过后找东西,连你自己都不知道写的是什么。何谈从哪里找起?
制作下拉菜单有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及以上)。