一段HTML 导航栏特效`谁帮我改下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一段HTML 导航栏特效`谁帮我改下相关的知识,希望对你有一定的参考价值。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css 菜单</title>
<style>
body
background-color:#FFFFFF;
#fbtn
display:none;
overflow:hidden;
border-style:solid;
border-width:1px;
border-color:#e1e1c9 #e1e1c9 #6e6e56 #6e6e56;
padding:1 1 1 1;
width:115px;
height:30px;
#fbtn_txt
position:relative;
#fbtn_txt div
height:30px;
padding-top:11px;
font-size:9px;
font-family:small fonts;
color:#800080;
text-align:center;
cursor:hand;
#fbtn_mask
background-color:#ffffff;
position:relative;
width:100%;
height:100%;
</style>
</head>
<body>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M1</div>
<div>my name is fireyy</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M1</div>
<div>my name is fireyy</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<script>
var current=null;
var t=null;
for(var i=0;i<fbtn.length;i++)
fbtn_txt[i].style.posTop=-30;
fbtn_mask[i].style.posTop=-30;
fbtn[i].index=i;
fbtn[i].style.display="block";
fbtn[i].onmouseover=function()
if(!current)
current=this;
domove(this.index);
else if(current!=this)
domove(current.index);
domove(this.index);
current=this;
fbtn[i].onmouseout=function()
if(event.toElement==this.parentElement&t==this)
domove(this.index);
current=null;
function domove(num)
var o=fbtn_txt[num];
var m=fbtn_mask[num];
if(o.style.posTop<-60)
o.style.display="none";
var t=o.children[1].innerHTML;
o.children[1].innerHTML=o.children[0].innerHTML;
o.children[0].innerHTML=t;
o.style.posTop=-30;
o.style.display="block";
if(m.style.posTop>30)
m.style.posTop=-30;
else
m.style.posTop=0;
else
m.style.posTop+=3;
o.style.posTop-=3;
setTimeout('domove('+num+')',15);
</script>
</body>
</html>
以上代码是当鼠标移动到按钮上的时候按钮字从下往上走`
我想让他从左往右 `关键应该是改script部分吧 告示来指点下啊 讲的详细点 谢谢
很急啊` ` 拜托高手们来指点下咯
我试过把 posTop 全改成 posRight 不行 ``上面还有要修改的地方````
我QQ 179844442\
还没改好哇` 哪位高手来帮我啊
真的很急 我加分` 再给 200!!!!!!!!!!!!
楼下的几个你们发的那个不太行哦` ` 新出现的那些文字 不是移动出来的
是直接变出来的``不过移开的文字倒是往右移走的
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css 菜单</title>
<style>
body
background-color:#FFFFFF;
#fbtn
/*display:none; */
overflow:hidden;
position:relative;
width:115px;
height:30px;
border-style:solid;
border-width:1px;
border-color:#0e0eff;
padding:1px;
#fbtn_txt
position:absolute;
float:right;
right:0px;
width:250px;
height:30px;
#fbtn_txt div
width:115px;
height:30px;
float:right;
padding-top:11px;
font-size:9px;
font-family:small fonts;
color:#800080;
text-align:center;
cursor:pointer;
</style>
</head>
<body>
<div id=fbtn>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M1</div>
<div>my fhoujun </div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M1</div>
<div>my fhoujun</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<script>
var current=null;
var t=null;
for(var i=0;i<fbtn.length;i++)
fbtn[i].index=i;
fbtn[i].style.display="block";
fbtn[i].onmouseover=function()
if(!current)
current=this;
domove(this.index);
else if(current!=this)
domove(current.index);
domove(this.index);
current=this;
fbtn[i].onmouseout=function()
if(event.toElement==this.parentElement&t==this)
domove(this.index);
current=null;
function domove(i)
var o=fbtn[i].firstChild;
var x=fbtn[i].firstChild.firstChild.offsetWidth;
if(o.style.posRight<(-x))
o.style.posRight=0;
var t=o.removeChild(o.firstChild);
o.appendChild(t);
else
o.style.posRight-=3;
setTimeout('domove('+i+')',15);
</script>
</body>
</html>本回答被提问者采纳 参考技术B <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css 菜单</title>
<style>
body
background-color:#FFFFFF;
#fbtn
display:none;
overflow:hidden;
border-style:solid;
border-width:1px;
border-color:#e1e1c9 #e1e1c9 #6e6e56 #6e6e56;
padding:1 1 1 1;
width:115px;
height:30px;
#fbtn_txt
position:relative;
#fbtn_txt div
height:30px;
padding-top:11px;
font-size:9px;
font-family:small fonts;
color:#800080;
text-align:center;
cursor:hand;
#fbtn_mask
background-color:#ffffff;
position:relative;
width:100%;
height:100%;
</style>
</head>
<body>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M1</div>
<div>my name is fireyy</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M1</div>
<div>my name is fireyy</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<script>
var current=null;
var t=null;
for(var i=0;i<fbtn.length;i++)
fbtn_txt[i].style.posTop=-30;
fbtn_mask[i].style.posTop=-30;
fbtn[i].index=i;
fbtn[i].style.display="block";
fbtn[i].onmouseover=function()
if(!current)
current=this;
domove(this.index);
else if(current!=this)
domove(current.index);
domove(this.index);
current=this;
fbtn[i].onmouseout=function()
if(event.toElement==this.parentElement&t==this)
domove(this.index);
current=null;
function domove(num)
var o=fbtn_txt[num];
var m=fbtn_mask[num];
if(o.style.posRight<-25)
o.style.display="none";
var t=o.children[1].innerHTML;
o.children[1].innerHTML=o.children[0].innerHTML;
o.children[0].innerHTML=t;
o.style.posRight=-5;
o.style.display="block";
if(m.style.posRight>30)
m.style.posRight=-30;
else
m.style.posRight=0;
else
m.style.posRight+=3;
o.style.posRight-=3;
setTimeout('domove('+num+')',15);
</script>
</body>
</html> 参考技术C <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css 菜单</title>
<style>
body
background-color:#FFFFFF;
#fbtn
display:none;
overflow:hidden;
border-style:solid;
border-width:1px;
border-color:#e1e1c9 #e1e1c9 #6e6e56 #6e6e56;
padding:1 1 1 1;
width:115px;
height:30px;
#fbtn_txt
position:relative;
#fbtn_txt div
height:30px;
padding-top:11px;
font-size:9px;
font-family:small fonts;
color:#800080;
text-align:center;
cursor:hand;
#fbtn_mask
background-color:#ffffff;
position:relative;
width:100%;
height:100%;
</style>
</head>
<body>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M1</div>
<div>my name is fireyy</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M1</div>
<div>my name is fireyy</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_mask></div>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<script>
var current=null;
var t=null;
for(var i=0;i<fbtn.length;i++)
fbtn_txt[i].style.posTop=-30;
fbtn_mask[i].style.posTop=-30;
fbtn[i].index=i;
fbtn[i].style.display="block";
fbtn[i].onmouseover=function()
if(!current)
current=this;
domove(this.index);
else if(current!=this)
domove(current.index);
domove(this.index);
current=this;
fbtn[i].onmouseout=function()
if(event.toElement==this.parentElement&t==this)
domove(this.index);
current=null;
//由左向右滚动
function domove(num)
var o=fbtn_txt[num];
var m=fbtn_mask[num];
//将计算上端的位置改为右端、下同
if(o.style.posRight < -60)
o.style.display="none";
var t=o.children[1].innerHTML;
o.children[1].innerHTML=o.children[0].innerHTML;
o.children[0].innerHTML=t;
//这里也有所改动,目的是让还原的时候回到原来位置
o.style.posRight = 0;
o.style.display="block";
if(m.style.posRight>30)
m.style.posRight=-30;
else
m.style.posRight=0;
else
m.style.posRight+=3;
o.style.posRight-=3;
setTimeout('domove('+num+')',15);
</script>
</body>
</html> 参考技术D 最一开始误会你的意思了,以为你的只是想改成水平的导航条的,代码1..
然后就帮你改...可是改完后.才知道你只是想改成水平方向上运行.
先把改成水平导航条的代码贴上来吧,试下看效果..
水平方向运行的,在代码2
代码1:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css 菜单</title>
<style>
body
background-color:#FFFFFF;
#nav width:880px;
height:30px;
#fbtn
overflow:hidden;
position:relative;
width:100px;
height:30px;
float:left;
border-style:solid;
border-width:1px;
border-color:#0e0eff;
padding:1px;
#fbtn_txt
position:absolute;
float:left;
width:250px;
#fbtn_txt div
width:100px;
height:30px;
float:left;
padding-top:11px;
font-size:9px;
font-family:small fonts;
color:#800080;
text-align:center;
cursor:pointer;
</style>
</head>
<body>
<div id="nav">
<div id=fbtn>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M1</div>
<div>my fhoujun </div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M1</div>
<div>my fhoujun</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
</div>
<script>
var current=null;
var t=null;
for(var i=0;i<fbtn.length;i++)
fbtn[i].index=i;
fbtn[i].style.display="block";
fbtn[i].onmouseover=function()
if(!current)
current=this;
domove(this.index);
else if(current!=this)
domove(current.index);
domove(this.index);
current=this;
fbtn[i].onmouseout=function()
if(event.toElement==this.parentElement&t==this)
domove(this.index);
current=null;
function domove(i)
var o=fbtn[i].firstChild;
var x=fbtn[i].firstChild.firstChild.offsetWidth;
if(o.style.posLeft<(-x))
o.style.posLeft=0;
var t=o.removeChild(o.firstChild);
o.appendChild(t);
else
o.style.posLeft-=3;
setTimeout('domove('+i+')',15);
</script>
</body>
</html>
代码2:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>css 菜单</title>
<style>
body
background-color:#FFFFFF;
#fbtn
/*display:none; */
overflow:hidden;
position:relative;
width:115px;
height:30px;
border-style:solid;
border-width:1px;
border-color:#0e0eff;
padding:1px;
#fbtn_txt
position:absolute;
float:right;
right:0px;
width:250px;
height:30px;
#fbtn_txt div
width:115px;
height:30px;
float:right;
padding-top:11px;
font-size:9px;
font-family:small fonts;
color:#800080;
text-align:center;
cursor:pointer;
</style>
</head>
<body>
<div id=fbtn>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M1</div>
<div>my fhoujun </div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G1</div>
<div>good morning</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>G2</div>
<div>good evening</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M1</div>
<div>my fhoujun</div>
</div>
</div>
<div id=fbtn>
<div id=fbtn_txt>
<div>M2</div>
<div>mm mm i love u</div>
</div>
</div>
<script>
var current=null;
var t=null;
for(var i=0;i<fbtn.length;i++)
fbtn[i].index=i;
fbtn[i].style.display="block";
fbtn[i].onmouseover=function()
if(!current)
current=this;
domove(this.index);
else if(current!=this)
domove(current.index);
domove(this.index);
current=this;
fbtn[i].onmouseout=function()
if(event.toElement==this.parentElement&t==this)
domove(this.index);
current=null;
function domove(i)
var o=fbtn[i].firstChild;
var x=fbtn[i].firstChild.firstChild.offsetWidth;
if(o.style.posRight<(-x))
o.style.posRight=0;
var t=o.removeChild(o.firstChild);
o.appendChild(t);
else
o.style.posRight-=3;
setTimeout('domove('+i+')',15);
</script>
</body>
</html>
要是回答的内容有问题,或认为不妥,请发送百度消息给我,消息内容加上本页网址哦。。
· 第5个回答 2008-05-21 刚刚去吃饭了。另外你说的不太明白。。是想怎么左右移动?
css小案例:导航栏特效
css小案例:导航栏特效,实现如下图所示效果;
首先可以将html代码写出:
1 <nav class="cl-effect-1"> 2 <a href="#">Umbrella</a> 3 <a href="#">Ineffable</a> 4 <a href="#">Lilt</a> 5 <a href="#">Mellifluous</a> 6 <a href="#">Serendipity</a> 7 </nav>
css部分:
1 nav{ 2 text-align: center; 3 } 4 nav a { 5 position: relative; 6 display: inline-block; 7 margin: 15px 25px; 8 outline: none; 9 color: #fff; 10 text-decoration: none; 11 text-transform: uppercase; 12 letter-spacing: 1px; 13 font-weight: 400; 14 text-shadow: 0 0 1px rgba(255,255,255,0.3); 15 font-size: 1.35em; 16 } 17 18 nav a:hover, 19 nav a:focus { 20 outline: none; 21 } 22 .cl-effect-1 a { 23 margin: 0 10px; 24 padding: 10px 20px; 25 } 26 27 .cl-effect-1 a::before { 28 position: absolute; 29 top: 0; 30 left: 0; 31 width: 100%; 32 height: 2px; 33 background: #fff; 34 content: ‘‘; 35 -webkit-transition: top 0.3s; 36 -moz-transition: top 0.3s; 37 transition: top 0.3s; 38 } 39 40 .cl-effect-1 a::after { 41 position: absolute; 42 top: 0; 43 left: 0; 44 width: 2px; 45 height: 2px; 46 background: #fff; 47 content: ‘‘; 48 -webkit-transition: height 0.3s; 49 -moz-transition: height 0.3s; 50 transition: height 0.3s; 51 } 52 53 .cl-effect-1 a:hover::before { 54 top: 100%; 55 opacity: 1; 56 } 57 58 .cl-effect-1 a:hover::after { 59 height: 100%; 60 }
代码很简单,下面就其中的要素重点来解析。
一、可以看出我们所写的html部分文字内容为小写,而显示效果为全大写,这里有一个css属性:text-transform 定义文本的大小写状态,此属性对中文无意义。
取值:capitalize | uppercase | lowercase | none | inherit
none |
默认。定义带有小写字母和大写字母的标准的文本。 |
capitalize |
文本中的每个单词以大写字母开头。 |
uppercase |
定义仅有大写字母。 |
lowercase |
定义无大写字母,仅有小写字母。 |
inherit |
规定应该从父元素继承 text-transform 属性的值。 |
所以这里通过css部分写入text-transform: uppercase;来实现。
二、伪元素
1、 基本语法
在了解进阶的应用之前,先来了解一下语法规则。平常仅仅需要将这两个伪元素用于添加一些自定义字符时,只需使用伪类使用的单冒号写法,以保证浏览器的兼容性:
Html代码
1 p:before {}
不过,在 CSS3 中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了 display 或者 width 等属性时使得显示脱离了原本元素后,建议按照标准双写。过于老的浏览器可能会存在支持问题,不过伪元素大多是配合 CSS3 使用,就无所谓向下兼容了:
Html代码
1 img::after {}
这两个伪类下特有的属性 content ,用于在 CSS 渲染中向元素逻辑上的头部或尾部添加内容。注意这些添加不会改变文档内容,不会出现在 DOM 中,不可复制,仅仅是在 CSS 渲染层加入。比较有用的是以下几个值:
· [String] - 使用引号包括一段字符串,将会向元素内容中添加字符串。示例:
Html代码
1 a:after { content: "↗"; }
· attr() – 调用当前元素的属性,可以方便的比如将图片的 Alt 提示文字或者链接的 Href 地址显示出来。示例:
Html代码
1 a:after { content:"(" attr(href) ")"; }
· url() / uri() – 用于引用媒体文件。示例:
Html代码
1 h1::before { content: url(logo.png); }
· counter() – 调用计数器,可以不使用列表元素实现序号功能。具体请参见 counter-increment 和 counter-reset 属性的用法。示例:
Html代码
1 h2:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }
2、进阶技巧
清除浮动是一个时常会遇到的问题,不少人的解决办法是添加一个空的 div 应用 clear:both; 属性。现在,无需增加没有意义的元素,仅需要以下样式即可在元素尾部自动清除浮动:
Html代码
1 .clear-fix { *overflow: hidden; *zoom: 1; } 2 3 .clear-fix:after { display: table; content: ""; width: 0; clear: both; }
许多人喜欢给 blockquote 引用段添加巨大的引号作为背景,这种时候我们就可以用 :before 来代替 background 了,即可以给背景留下空间,还可以直接使用文字而非图片:
Html代码
1 blockquote::before { 2 3 content: open-quote; 4 5 position: absolute; 6 7 z-index: -1; 8 9 color: #DDD; 10 11 font-size: 120px; 12 13 font-family: serif; 14 15 font-weight: bolder; 16 17 }
用 :before 和 :after 伪类结合更多 CSS3 强大的特性,还可以完成非常多有意思的特效和 Hack。
取值:capitalize | uppercase | lowercase | none | inherit
!--[endif]-->!--[if>!--[endif]-->!--[if>!--[endif]-->!--[if>!--[endif]-->!--[if>以上是关于一段HTML 导航栏特效`谁帮我改下的主要内容,如果未能解决你的问题,请参考以下文章