分析小米商城左侧菜单的布局和效果实现

时间:2024-04-05 08:46:35

小米左侧菜单如图:

分析小米商城左侧菜单的布局和效果实现

分析小米商城左侧菜单的布局和效果实现

也就是说,在没有点击左侧菜单的时候,背景是一个轮播图,一旦点击了左侧菜单,或者说鼠标在左侧菜单上滑动,那么就会触发左侧菜单的动画演示,这次就是来分析动画演示的具体是怎么实现的,以及他是怎么布局的。

首先在这个区域,可以看见是有两个部分组成,分别是轮播图和左侧的开始菜单,但是你可以看见因为这两个是重叠在一起的,因此可以知道 轮播图 肯定是使用了 position:absolute 来进行定位的,至于左侧开始菜单,也可以使用position:absolute来定位,但是也可以不用,因此优先选择不用。又因为左侧开始菜单是在上层,左侧菜单有没有使用定位,而轮播图使用了定位,并且又在下层,因此可以知道轮播图的 z-index属性值 必须是负数,可以是 -1,暂时综合以上分析,布局如下:

(为了方便,把必要样式写在标签内部了)

<div class="container">position:relative

<div class="slide"> 轮播图   z-index:-1  position:absolute  top:0  left:0 </div>

<ul class="options">  左侧菜单  </ul>

</div>

通过动画效果可以知道,左侧菜单的选项切换动画没有过度,由选项延伸出来的扩展菜单页面的切换动画也是没有过度的,因此不用设置 transition 属性,但是扩展菜单页面是怎么布局的,实际上一眼就可以看出来,右边的扩展菜单页面是使用 z-index 把它隐藏在轮播图的下面了,知道点击左侧菜单的时候,会触发相应的页面,并且会修改 z-index 属性值,让它大于轮播图的z-index的属性值,于是就会让扩展菜单展现出来,因此左侧菜单内部可以这么布局:

<ul class="options">  左侧菜单

<li>  选项   <div>   扩展菜单   未触发时:z-index:-1         触发时:z-index:1  </div>  </li>

 </ul>

综合以上,可以知道布局是这样的:

<div class="container">position:relative

          <div class="slide"> 轮播图   z-index:-1  position:absolute  top:0  left:0 </div>

          <ul class="options">  左侧菜单

                    <li>  选项   <div>   扩展菜单   未触发时:z-index:-1         触发时:z-index:1  </div>  </li>

          </ul>

</div>

为了更加达到更好的效果,可以让选项切换的时候加上过度的效果,会更舒服,因此代码如下:

分析小米商城左侧菜单的布局和效果实现

效果为:

分析小米商城左侧菜单的布局和效果实现

分析小米商城左侧菜单的布局和效果实现

分析小米商城左侧菜单的布局和效果实现

分析小米商城左侧菜单的布局和效果实现

分析小米商城左侧菜单的布局和效果实现

 

在实现一个功能之前,要进行布局的分析,这样才能更加高效的实现动画效果。