如何在悬停时更改响应div的宽度?

时间:2014-09-03 18:56:14

标签: html css hover

我正在尝试创建一个重复的sidemenu,它被缩小直到悬停,然后使用ccs扩展。

当允许通过内容设置div宽度时,我可以在悬停时使div更小,但是当我将其设置为最大宽度并悬停时,它表现得很奇怪并且不会扩展宽度。

HTML

<aside id="sidebar" class="right">

   <li id="nav_menu-11" class="widget widget_nav_menu">
      <h1>Myzone Related Pages</h1>
      <div class="menu-myzone-container">

      <ul id="menu-myzone" class="menu">
        <li id="menu-item-1236" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1236"><a href="xxx">How to Use MyZone</a></li>

        <li id="menu-item-1237" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1237"><a href="xxxx">myzone</a></li>

      </ul>
      </div>
   </li>
   <li id="video_widget-2" class="widget widget_video_widget"><h1>Myzone Video</h1>
      <div class="video-wrapper">   
      </div>
   </li>
</aside>

CSS

#sidebar{
    display: block !important;
    position: fixed !important;
    width: 8% !important;   
    z-index: 100 !important;
}

#sidebar :hover {
    width: 50% !important;
}

#menu-myzone{
    max-width: 100%;        
}

.right h1 {
    font-size: 10px !important;
}

.menu-myzone-container ul li a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

#sidebar li {
    max-width: 100%;
    display:block;
    position: relative !important;
    height: 50px;
}

#video_widget-2{
    display:none !important;
    position: relative !important;
}


.widget_video_widget {
   width: 95%;
}

#sidebar h1{
   text-align: left !important; 
}

#sidebar li{
    list-style-type: none;
}

的jsfiddle:

http://jsfiddle.net/k8wg9r9h/

3 个答案:

答案 0 :(得分:1)

过渡的基础是:

div {
    width: 100px;
    height: 100px;
    background: red;
    -webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
    transition: width 2s;
}

div:hover {
    width: 300px;
}

答案 1 :(得分:1)

您需要删除&#39;#sidebar&#39;之间的空格。和&#39;:悬停&#39;。像这样:

#sidebar:hover {
    width: 50%;
}

它适用于我(改变div的大小)。

答案 2 :(得分:0)

div {
    width: 400px;
    height: 120px;
    background: red;
}

div:hover {
    width: 250px;
}