如何在父项悬停时向子元素添加CSS3过渡

时间:2013-07-05 13:12:18

标签: html css3 transitions

<!doctype html>
<html>
 <head>
   <meta charset="utf-8">
   <title>CSS Transition</title>
   <style>
     .child{ display: none; }
     .parent:hover > .child{ display: block; }
   </style>
 </head>
 <body>
  <div class="parent">
   <div class="child">Content</div>
  </div>
 </body>
</html>

我在上面创建了一个简单的布局,展示了我想要实现的概念。我现在要做的是做一个CSS3过渡,让孩子在父母徘徊时轻松过渡。但是,我不知道将转换代码放在何处以便它可以工作。

1 个答案:

答案 0 :(得分:12)

对于隐藏的子div,请使用height: 0;overflow: hidden;代替display: none;,然后在悬停时显示的子项上添加指定的高度。这将允许进行过渡。

我会这样做:http://jsfiddle.net/atjG8/1/

.parent {
    background: red;
}
.child {
    overflow: hidden;
    height: 0;
    background: blue;
    -webkit-transition: all .8s ease;
    -moz-transition: all .8s ease;
    -ms-transition: all .8s ease;
    -o-transition: all .8s ease;
    transition: all .8s ease;
    color: white;
}
.parent:hover > .child {
    height: 30px;
    display: block;
}

例如添加了颜色......