我想用隐藏的子div扩展div到左边?

时间:2013-07-13 13:16:59

标签: jquery html css

我想制作侧边栏div,其中隐藏了子div。当翻转父div时,它将展开并且子div暴露并且在rollout div上回到其原始大小折叠。 我希望我的侧边栏与此类似。 http://www.hosting.com/它的联系方式,我真的想要这样。

CSS

#Sidebar {
    width: 40px;
    height: 40px;
    margin-right: 0px;
    top: 300px;
    position: fixed;
    right: 0px;
    background-image: url(chat.png);
    background-repeat: no-repeat;
    background-size: cover;
    color: #FFF;
    -webkit-transition: all 1s ease 0s;
    -moz-transition: all 1s ease 0s;
    -ms-transition: all 1s ease 0s;
    -o-transition: all 1s ease 0s;
    transition: all 1s ease 0s;
    background-color: #F90;
    }
#Sidebar:hover {
    height: 50px;
    width: 100px;
}
.divchild {
    height: 25px;
    width: 25px;
    background-color: #0F3;
    top: 5px;
    right: 0px;
    margin: auto;
    position: relative;
}

HTML

<a href="#">
<div class="Sidbaredges" id="Sidebar">
 <div class="divchild"></div>
 </div>
</a>

4 个答案:

答案 0 :(得分:1)

试试这个

http://jsfiddle.net/mqzMx/

CSS

#Sidebar {
    width: 40px;
    height: 40px;
    margin-right: 0px;
    top: 300px;
    position: fixed;
    right: 0px;
    background-image: url(chat.png);
    background-repeat: no-repeat;
    background-size: cover;
    color: #FFF;
    -webkit-transition: all 1s ease 0s;
    -moz-transition: all 1s ease 0s;
    -ms-transition: all 1s ease 0s;
    -o-transition: all 1s ease 0s;
    transition: all 1s ease 0s;
    background-color: #F90;


}
#Sidebar:hover {
    height: 50px;
    width: 100px;
    float:left;
}
.divchild {
    height: 25px;
    width: 25px;
    background-color: #0F3;
    top: 7px;
    left: 10px;
    margin: auto;
    position: relative;
    text-align:left;
    display:inline-block;
}

答案 1 :(得分:0)

<!DOCTYPE HTML>
<head>
<script type="text/javascript">
function mouse_over()
{
    document.getElementById('divchild').style.display = 'block';
}
function mouse_out()
{
    document.getElementById('divchild').style.display = 'none';
}
</script>
<style type="text/css">
#Sidebar {
    width: 40px;
    height: 40px;
    margin-right: 0px;
    top: 300px;
    position: fixed;
    right: 0px;
    background-image: url(chat.png);
    background-repeat: no-repeat;
    background-size: cover;
    color: #FFF;
    -webkit-transition: all 1s ease 0s;
    -moz-transition: all 1s ease 0s;
    -ms-transition: all 1s ease 0s;
    -o-transition: all 1s ease 0s;
    transition: all 1s ease 0s;
    background-color: #F90;
}
#Sidebar:hover {
    height: 50px;
    width: 100px;
}
.divchild {
    height: 25px;
    width: 25px;
    background-color: #0F3;
    top: 5px;
    right: 0px;
    margin: auto;
    position: relative;
}

</style>
<meta charset="UTF-8">
<title>css test</title>
</head>
<body>
<a href="#">
<div class="Sidbaredges" id="Sidebar" onMouseOver="mouse_over();" onMouseOut="mouse_out();">
  <div class="divchild" id="divchild" style="display:none;"></div>
</div>
</a>
</body>
</html>

我也使用javascript。

答案 2 :(得分:0)

这个小提琴正确使用cssjquery

http://jsfiddle.net/UcQf4/3/

答案 3 :(得分:0)

检查此演示http://jsfiddle.net/yeyene/hGKLj/

$(document).ready(function () {
    $("#Sidebar, #Sidebar .divchild").mouseover(function () {
        $(this).stop().animate({ right: '0px'}, 600);
    }).mouseout(function () {
        $(this).stop().animate({ right: '-170px'}, 600);
    });
});