HTML
<div class="wrapper">
<div class="parent">
<div class="child">
lorem ipsum
</div>
</div>
</div>
CSS
.wrapper {
width: 300px;
height: 300px;
margin: 30px auto;
border: 1px dashed #ccc;
overflow:hidden;
}
.parent {
width: 1px;
height: 100px;
background-color: #f00;
opacity: 0;
margin: 0 auto;
-webkit-transition: all 0.4s ease;
transition: all 0.4s ease;
}
.wrapper:hover .parent {
opacity: 1;
-webkit-transform: scaleX(300);
transform: scaleX(300);
}
.wrapper . parent .child {
-webkit-transform: none;
transform: none;
}
我希望在悬停.wrapper div时只扩展.parent元素。但它也会影响两个div(父级和子级),尽管为.child div提供transform:none属性。如何防止.child受到影响?
答案 0 :(得分:5)
而不是transform: scaleX
尝试更改宽度
.wrapper:hover .parent {
opacity: 1;
width: 100%;
}
http://jsfiddle.net/cdmkoao4/3/
<强>更新强>
老实说,我认为你没有使用scaleX
代替width
的原因,但这是我提出的唯一解决方案。只是不要将.child
与.parent
嵌套,使它们与position: absolute
分开。在悬停时,您只需scaleX
.parent
,而您只更改opacity
的{{1}}(我仍然使用相同的课程,即使他们没有{ {1}}状态了。)
http://jsfiddle.net/cdmkoao4/9/
你需要花费.child
时间来获得你想要的确切效果。