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);
}