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受到影响?
解决方法
而不是变换:scaleX尝试改变宽度
.wrapper:hover .parent { opacity: 1; width: 100%; }
http://jsfiddle.net/cdmkoao4/3/
更新:
老实说,我没有看到任何理由为什么你会使用scaleX而不是宽度,但这是我想出的唯一解决方案.只是不要将.child与.parent嵌套,使它们成为单独的div,其位置为:absolute.在悬停时,你只使用scaleX .parent,而你只改变.child的不透明度(我仍然使用相同的类,即使它们不再具有父子状态).
http://jsfiddle.net/cdmkoao4/9/
你需要玩转换延迟时间来获得你想要的确切效果.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。