一组时尚的侧边栏菜单和下拉列表UI设计

当前位置:主页 > CSS3库 > UI界面设计 > 一组时尚的侧边栏菜单和下拉列表UI设计
一组时尚的侧边栏菜单和下拉列表UI设计
分享:

    插件介绍

    这是一款非常时尚的可伸展的侧边栏菜单和select下拉列表以及手风琴式垂直下拉列表UI设计效果。它们通过简单的CSS样式设置,以及和jQuery,jqueryUI的配合,制作出非常时尚的web组件UI设计效果。

    浏览器兼容性

    浏览器兼容性
    时间:2015-09-09
    阅读:
简要教程

这是一款非常时尚的可伸展的侧边栏菜单和select下拉列表以及手风琴式垂直下拉列表UI设计效果。它们通过简单的CSS样式设置,以及和jQuery,jqueryUI的配合,制作出非常时尚的web组件UI设计效果。

制作方法

HTML结构

侧边栏的HTML结构使用在<div>中嵌套无序列表的HTML结构。

<div id="sidebar-menu">
    <div id="toggleMenu">
        <div class="list"></div>
        <div class="thumbs"></div>    
    </div> 
    <ul>
      <li class="DASHBOARD"><span>DASHBOARD</span></li>
        <li class="USERS"><span>USERS</span></li>
        <li class="PRIORITY"><span>PRIORITY</span></li>
        <li class="COLLECTIONS"><span>COLLECTIONS</span></li>
        <li class="ARCHIVED"><span>ARCHIVED</span></li>
        <li class="DELETED"><span>DELETED</span></li>
        <li class="TRENDS"><span>TRENDS</span></li>
        <li class="TASKS"><span>TASKS</span></li>
        <li class="FILTERS"><span>FILTERS</span></li>
        <li class="STATS"><span>STATS</span></li>
        <li class="SETTINGS"><span>SETTINGS</span></li>        
    </ul>
</div>               
              

select下拉列表的HTML结构如下:

<div id="dropdown">
  <div id="drop-select">Select a branch</div>
    <div id="dropdown-list">
      <div class="header">Group header</div>
        <ul>
          <li>Filmore District</li>
            <li>Mission District</li>
            <li>Northshare Beach</li>
            <li>Some other branch</li>
        </ul>
    </div>
</div>                
              

手风琴垂直下拉列表的HTML结构如下:

<div class="sortable-accordion">
    <h3>GROUP 1</h3>
    <div class="inner">
         <ul class="sortable">
            <li class="ui-state-default">Item 1</li>  
            ...  
        </ul> 
    </div>
    <h3>GROUP 2</h3>
    <div class="inner">
        <ul class="sortable">
           <li class="ui-state-default">Item 1</li>  
           ...         
        </ul> 
    </div>
    <h3>GROUP 3</h3>
    <div class="inner">
        <ul class="sortable">
            <li class="ui-state-default">Item 1</li>  
            ... 
        </ul> 
    </div>
</div>                
              
CSS样式

这3个UI组件的CSS样式都非常简单。其中侧边栏菜单的样式如下:它使用绝对定位来设置各个元素的位置,并给各个元素设置适当的大小,颜色和padding值。

#sidebar-menu{
  background:#229bdc;
  overflow:hidden;
  border-radius:5px;
  position:absolute;
  top: 60px;
  left: 0;
  height:62 0px;
  width:55px;
  color:#abe2ff;
  font-size:12px;
  font-weight:900;
  -webkit-transition: all 200ms ease-out;
       -moz-transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
        -ms-transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
         -o-transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
            transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
}
#sidebar-menu.animate{
  width:210px;
  -webkit-transition: all 200ms ease-out;
       -moz-transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
        -ms-transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
         -o-transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000);
            transition: all 300ms cubic-bezier(0.000, 0.995, 0.990, 1.000); 
}

#toggleMenu{
  background:#1888c4;
  height:37px;
}
#toggleMenu .list{
  position:absolute;
  top: 12px;
  cursor:pointer;
  right: 8px;;
  height:30px;
  width:30px;
  height:30px;
  background:url("../img/toggle-list.png") 0 0 no-repeat; 
}
#toggleMenu .thumbs{
  position:absolute;
  display:none; 
  top: 9px;
  cursor:pointer;
  right: 3px;
  height:30px;
  width:30px;
  height:30px;
  background:url("../img/toggle-thumbs.png") 0 0 no-repeat;
}

#sidebar-menu li{
  background:url("../img/sidemenu-sprite.png") 0 0 no-repeat;
  padding: 15px 0 15px 54px;
  margin: 1px 4px 1px 4px;
  list-style: none;
}                
              

最后为菜单列表中的每个元素设置一个背景图像作为小图标。

JAVASCRIPT

在垂直手风琴下拉列表效果中,每一个列表项都是可以用鼠标进行拖动排序的。这是通过jqueryUI的sortable()方法来实现的。

$('.sortable').sortable({ placeholder: 'ui-sortable-placeholder' }).find('li').append('<span class=\'options\'></span>');                
              

其它的操作都是在点击相应元素的时候使用toggleClass()来切换相应的class,以及显示和隐藏相应的元素。