首先,我为一篇冗长的帖子道歉。我正在尝试使用CSS,HTML和JavaScript,所以请不要建议使用std。库。
1)我发现人们在CSS,HTML和JavaScript中使用不同的方法来实现导航栏上的“淡入/淡出效果”,使用CSS和JavaScript的一些方法是:
a)使用属性“left”获取屏幕外的子菜单。默认左:-500px; onmouseover- left:-10px
b)使用属性“可见性”。默认可见性:“隐藏”和onmouseover- 能见度:visbile
c)使用属性“display”。默认显示:无和onmouseover-显示:块
我的问题是哪一个是最好的方法,为什么?
2)我在这个jsfiddle中使用了方法a):http://jsfiddle.net/A7TND/。
CSS
.teal-box{
left:-10px;
}
HTML
<div class="level1" onmouseover="showSubs("+")">
的Javascript
switch (vwFlg){
case "+" :
elmt.style.left = "-10px";
...
}
在示例中,我不确定当我在主要项目(收藏夹)和子项目(jsfiddle,google)之间移动时是否反复调用该函数,我的问题是: a)在主要项目(收藏夹)和子项目(谷歌和jsfiddle)之间的鼠标移动过程中是否会一遍又一遍地调用它? b)那个(一遍又一遍地调用javascript函数)如何影响页面的响应性?
3.我使用
CSS
.sel-row {
border-style:solid;
border-width:1px;
background-image:url("\lb_sel.gif");
background-repeat:repeat-x-y;
background-color:#CDD2D7 ;
border-color:#8B96A2 ;
height:20px;
}
答案 0 :(得分:0)
我这样做的方法是让隐藏元素成为悬停元素的子元素,然后使用绝对定位+显示隐藏/显示
<li>
Button Copy
<span>HIDE SHOW ME</span>
</li>
li {
position:relative;
}
li:hover span {
display:block;
}
li span {
position:absolute;
top:25px;
left:0;
display:none;
}
你也在为不透明度制作动画吗?
使用javascript向元素添加类,使用CSS3进行动画处理,但要理解不使用CSS3的浏览器。此外,不要再使用显示器了。
<li>
Button Copy
<span>HIDE SHOW ME</span>
</li>
li {
position:relative;
}
li.show span {
opacity:0;
}
li span {
position:absolute;
top:25px;
left:0;
opacity:1;
-webkit-transition: all .8s ease-in;
-moz-transition: all .8s ease-in;
-o-transition: all .8s ease-in;
-ms-transition: all .8s ease-in;
transition: all .8s ease-in;
}
使用不支持css3的浏览器,我使用Modernizr + jQuery作为后备。你必须把它变成一个切换。
if (!Modernizr.csstransitions) { // if browser doesn't support css3.transitions
$('li span').animate({ "opacity": '1' }, 800);
} else { // if browser does support css3.transitions
$('li').addClass('show');
}