首页 > 一个菜单栏的显示效果

一个菜单栏的显示效果

http://www.html5tricks.com/demo/pure-css3-ver-slider-menu/index.html

这个特效实现的原理是什么呢?我指的是,鼠标滑过时,红色的背景有一个可见的、平滑的移动过程,是想必是做了绝对定位,但是根据什么定位到那个位置的?

谢谢~


这段css固定位置:

.menu li:nth-child(1):hover ~ .ribbon_wrap{ 
    top: 8px; 
}
.menu li:nth-child(2):hover ~ .ribbon_wrap{  
    top: 43px;
}
.menu li:nth-child(3):hover ~ .ribbon_wrap{  
    top: 78px; 
}
.menu li:nth-child(4):hover ~ .ribbon_wrap{
    top: 113px;
}
.menu li:nth-child(5):hover ~ .ribbon_wrap{
    top: 148px;
}

这段CSS移动过去:

.ribbon_wrap {
    position: absolute;
    top: 8px;
    left: -20px;
    z-index: 1;
    transition: top 0.4s;
}

这里的transition让css的top属性在修改时以0.4秒的时间平滑的过渡过去。


根据parent元素ul定位的

//网页源代码,ul的类名为menu
.menu {
    position: relative;
    width: 170px;
    padding: 5px 0;
    line-height: 35px;
    border-radius: 5px;
    background: -webkit-linear-gradient(top,#dbdbdb,#999);
}
【热门文章】
【热门文章】