第一步:编辑菜单的HTML代码。
目前成都创新互联已为千余家的企业提供了网站建设、域名、网站空间、绵阳服务器托管、企业网站设计、溧阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
菜单包含三个列表项,分别取名为“Menu1”、“Menu2”、“Menu3”。
XML/HTML Code
div class="css3Menus"
ul
liMenu1/li
liMenu2/li
liMenu3/li
/ul
/div
第二步:设置菜单的背景。
在该步骤中,把导航的背景设置为黑色。宽度、高度和内边距为可选项,可以不设置。
CSS Code
.span style="width: auto; height: auto; float: none;" id="4_nwp"a style="text-decoration: none;" mpid="4" target="_blank" href=";app_id=0c=newscf=1001ch=0di=128fv=0is_app=0jk=e2fbae28688be8a0k=css3k0=css3kdi0=0luki=10n=10p=baiduq=06011078_cprrb=0rs=1seller_id=1sid=a0e88b6828aefbe2ssp2=1stid=0t=tpclicked3_hctu=u1922429u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F2453%2Ehtmlurlid=0" id="4_nwl"span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;"css3/span/a/spanMenus {
background: #14080a;
width:506px;
height:260px;
padding:20px;
}
如下图:
第三步:利用border-radius,制作圆形导航。
该步中,利用CSS3的一些酷的功能,尤其是border-radius ,将每个列表项的背景设置为黄色,形状为圆形。
CSS Code
ul {
list-style: none;
}
li {
float:left;
font: 14px/10px Arial, Verdana, sans-serif;
color:#FFF;
background-color:#CCCC00;
width: 80px;
height: 80px;
padding:20px;
margin:0 30px 0 0;
-webkit-border-radius: 60px;
-moz-border-radius: 60px;
border-radius: 60px;
}
菜单看起来呈下面样子:
第四步:设置菜单的对齐方式。
本步骤中,将为每个列表项设置特定的背景颜色与位置:
CSS Code
li#menu1 {
background-color: #00FFCC;
}
li#menu2 {
background-color: #CC9900;
margin-top:100px;
}
li#menu3 {
background-color: #33FF66;
margin-top:50px;
}
现在菜单看起来呈下面样子:
第五步:设置菜单中链接的对齐方式。
CSS Code
li a {
color:#FFF;
text-decoration:none;
display:span style="width: auto; height: auto; float: none;" id="2_nwp"a style="text-decoration: none;" mpid="2" target="_blank" href=";app_id=0c=newscf=1001ch=0di=128fv=0is_app=0jk=e2fbae28688be8a0k=blockk0=blockkdi0=0luki=7n=10p=baiduq=06011078_cprrb=0rs=1seller_id=1sid=a0e88b6828aefbe2ssp2=1stid=0t=tpclicked3_hctu=u1922429u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F2453%2Ehtmlurlid=0" id="2_nwl"span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;"block/span/a/span;
width: 80px;
height: 45px; text-align: center;
padding:35px 0 0 0;
margin:0 40px 0 0;
-webkit-border-radius: 40px;
-moz-border-radius: 40px;
border-radius: 40px;
}
li#menu1 a {
background-color: #FF0000;
}
li#menu2 a {
background-color: #660033;
}
li#menu3 a {
background-color: #66CCCC;
}
菜单现阶段的样子:
第六步:定义另一种效果,当鼠标悬浮在链接上时进行展现。
CSS Code
li a:hover,
li a:focus,
li a:active {
width: 120px;
height:65px;
padding:55px 0 0 0;
margin:-20px 0 0 -20px;
-webkit-border-radius: 60px;
-moz-border-radius: 60px;
border-radius: 60px;
}
菜单样式如图:
第七步:最后为导航增加动画效果。
CSS Code
li a:hover,
li a:focus,
li a:active {
-webkit-animation-name:bounce;
-webkit-animation-duration:1s;
-webkit-animation-iteration-count:4;
-webkit-animation-direction:alternate;
}
@-webkit-keyframes bounce{span style="width: auto; height: auto; float: none;" id="1_nwp"a style="text-decoration: none;" mpid="1" target="_blank" href=";app_id=0c=newscf=1001ch=0di=128fv=0is_app=0jk=e2fbae28688be8a0k=fromk0=fromkdi0=0luki=2n=10p=baiduq=06011078_cprrb=0rs=1seller_id=1sid=a0e88b6828aefbe2ssp2=1stid=0t=tpclicked3_hctu=u1922429u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F2453%2Ehtmlurlid=0" id="1_nwl"span style="color:#0000ff;font-size:14px;width:auto;height:auto;float:none;"from/span/a/span{margin:0 40px 0 0;}
to{margin:120px 40px 0 0;}
}
菜单所产生的动画效果:
可以去下载网站下载安装,就可以使用。把产生的HTML和CSS打开,html复制到你网页中相应的位置。CSS复制到你的样式文件里就可以
使用方法时里面有向导,很方便你做出多种导航栏样式,可以作为参考只要输入文字调整好颜色,很快就制作出好看的CSS网页导航菜单来来!然后软件有自动发布的功能导出标准的 html + css 文件
鼠标经过时换张图片就可以,大概如下:
.top_menu1{ height:40px; line-height:40px; text-align:right; padding-right:10px;}
.top_menu1 a{ height:40px; line-height:40px;}
.top_menu1 a:visited,.top_menu1 a:link{ color:#555;}
.top_menu1 a:hover{ text-decoration:underline;background:url(../images/top_m1.jpg) top left repeat-x;color:#123123 }
注意,hover时的background是关键的!
HTML5+CSS3实现全屏导航栏菜单,悬停在右上角的小图标,点击以圆形扩散的方式绽开全屏导航栏,这种方式的导航栏很吸睛,运用也越来越广,赶紧学起来呀!
效果:
源码:
1.boder-radis圆角的制作
2.linear-gradient渐变背景的制作
3.box-shadow阴影效果的制作
4.transition转换效果的制作
5.transparent透明效果
6.CCS3中before的作用
实现的效果图如下:
搭建HTML容器
一级菜单ul的样式修饰:
设置一级菜单的宽度、整体居中显示、用border设置颜色为#222的1像素宽的边框、用background-color设置背景颜色为#111、用background-image和linear-gradient设置背景图片为#444和#111的渐变效果、用border-radius设置圆角边框为6px、用before和after的方式给一级ul填充内容是清除二级浮动的一种方式保证背景能够包裹所有ul内的元素
.top-nav{width:969px;margin:60px auto;border:1px solid #222;background-color:#111; background-image:linear-gradient(#444,#111);border-radius:6px;box-shadow:0 1px 1px #777; padding:0;list-style:none;} .top-nav:before,.top-nav:after{content: "";display: table;} .top-nav:after{clear: both;}
一级菜单内li的样式修饰:
用float将所有的li左浮动、用boder-right给每一个li制作一个左边框效果、用box-shadow制作阴影效果、position:relative是为了下面二级菜单的显示二级菜单会以absolute的方式定位
.top-nav li{float: left;border-right:1px solid #222;box-shadow:1px 0 0 #444;position: relative;}
一级菜单内li中a元素以及鼠标移动到a元素上之后的样式修饰
这些属性比较简单,就不作一一介绍了
.top-nav li a{float:left;text-decoration: none;padding:12px 30px;font-size:12px;font-weight:bold;text-shadow: 0 2px 0 #000;color: #999;} .top-nav li a:hover{color: #fafafa;}
二级菜单ul的样式修饰
二级菜单默认是隐藏状态,用绝对定位的方式(相对于一级菜单)将二级菜单定位在top:38px;left:0;的位置上、同样给二级菜单设置渐变背景色和阴影的效果box-shadow中的rgba属性可以制作透明度的效果、用opacity这是透明级别为0、用transition制作一个过度显示和隐藏的效果
.top-nav li ul{visibility: hidden;position: absolute;list-style: none;top:38px;left: 0;z-index: 1;padding: 0; background-color: #444;background-image: linear-gradient(#444,#111);box-shadow: 0 -1px 0 rgba(255,255,255,.3);border-radius: 3px;opacity: 0;margin: 20px 0 0 0;transition: all .2s ease-in-out; }
当鼠标移动到一级菜单栏的时候二级菜单栏显示
hover属性的应用
.top-nav li:hover ul{opacity: 1;visibility: visible;margin: 0;}
设置二级菜单li和a的样式
方法和一级菜单的li和a的修饰差不多,不做过多的解释
.top-nav ul li{float: none;display: block;border: 0;box-shadow: 0 1px 0 #111,0 2px 0 #666;} .top-nav ul a{padding: 10px;width: 130px;display: block;float: none;} .top-nav ul a:hover{background-color: #0186ba;background-image: linear-gradient(#04acec,#0186ba);} .top-nav ul li:first-child a{border-radius: 3px 3px 0 0;} .top-nav ul li:last-child a{border-radius: 0 0 3px 3px;}
三角形的制作
用css3制作三角形的的方法就是四边设置同样宽度的border,将要保留的那一边的border设置颜色,其他三边的颜色设置为透明(transparent),则保留颜色的那一边的三角形就制作出来了
.top-nav ul li:first-child a:before{ content: "";position: absolute;left:40px;top: -6px; display: block;width: 0;border-bottom: 6px solid #444;border-left: 6px solid transparent; border-right: 6px solid transparent; } .top-nav ul li:first-child a:hover:before{border-bottom-color:#04acec; }
三级菜单位置的变换
将三级菜单定位到二级菜单的右边显示
.top-nav ul ul{top:0;left: 150px;margin: 0 0 0 20px;box-shadow: -1px 0 0 rgba(255,255,255,.3);} .top-nav ul ul li:first-child a:before{left: -6px;top: 50%;margin-top: -6px;border-left: 0;border-bottom: 6px solid transparent; border-top: 6px solid transparent;border-right: 6px solid #3b3b3b;} .top-nav ul ul li:first-child a:hover:before{border-right-color:#0299d3;border-bottom-color:transparent;}
完整代码(其中有针对IE6的兼容性处理)
!DOCTYPE html html head meta charset="UTF-8" !--script src=""/script-- title用CSS3实现动画效果的制作/title style type="text/css" .top-nav{width:969px;margin:60px auto;border:1px solid #222;background-color:#111; background-image:linear-gradient(#444,#111);border-radius:6px;box-shadow:0 1px 1px #777; padding:0;list-style:none;} .top-nav:before,.top-nav:after{content: "";display: table;} .top-nav:after{clear: both;} /*针对IE6,_margin,_height是针对IE6的,其他浏览器中不需要*/ .top-nav{z-index: 1;} .top-nav li{float: left;border-right:1px solid #222;box-shadow:1px 0 0 #444;position: relative;} .top-nav li a{float:left;text-decoration: none;padding:12px 30px;font-size:12px;font-weight:bold; text-shadow: 0 2px 0 #000;color: #999;} .top-nav li a:hover{color: #fafafa;} .top-nav li ul{visibility: hidden;position: absolute;list-style: none;top:38px;left: 0;z-index: 1;padding: 0; background-color: #444;background-image: linear-gradient(#444,#111);box-shadow: 0 -1px 0 rgba(255,255,255,.3); border-radius: 3px;opacity: 0;margin: 20px 0 0 0;transition: all .2s ease-in-out; _margin:0; } .top-nav li:hover ul{opacity: 1;visibility: visible;margin: 0;} .top-nav ul li{float: none;display: block;border: 0;box-shadow: 0 1px 0 #111,0 2px 0 #666;} .top-nav ul a{padding: 10px;width: 130px;display: block;float: none;_height:10px;} .top-nav ul a:hover{background-color: #0186ba;background-image: linear-gradient(#04acec,#0186ba);} .top-nav ul li:first-child a{border-radius: 3px 3px 0 0;} .top-nav ul li:last-child a{border-radius: 0 0 3px 3px;} .top-nav ul li:first-child a:before{ content: "";position: absolute;left:40px;top: -6px; display: block;width: 0;border-bottom: 6px solid #444;border-left: 6px solid transparent; border-right: 6px solid transparent; } .top-nav ul li:first-child a:hover:before{border-bottom-color:#04acec; } .top-nav ul ul{top:0;left: 150px;margin: 0 0 0 20px;_margin:0;box-shadow: -1px 0 0 rgba(255,255,255,.3);} .top-nav ul ul li:first-child a:before{left: -6px;top: 50%;margin-top: -6px;border-left: 0;border-bottom: 6px solid transparent; border-top: 6px solid transparent;border-right: 6px solid #3b3b3b;} .top-nav ul ul li:first-child a:hover:before{border-right-color:#0299d3;border-bottom-color:transparent;} /style script type="text/javascript" !--针对IE6处理hover的问题-- // $(function () { // if($.browser.msie $.broswer.version.substr(0,1)7){ // $("li").has("ul").mouseover(function () { // $(this).children("ul").css("visibility","visible"); // }).mouseout(function () { // $(this).children("ul").css("visibility","hidden"); // }); // } // }) /script /head body ul lia href="#"首页/a/li lia href="#"课程大厅/a/li lia href="#"学习中心 +/a ul lia href="#"视频学习/a ul lia href="#"css/a/li lia href="#"js/a/li lia href="#"jquery/a/li /ul /li lia href="#"案例学习/a/li lia href="#"交流平台/a/li /ul /li lia href="#"关于我们/a/li /ul /body