我目前正在研究一些使用scale的css动画.有没有办法限制子元素不按比例缩放,只有父元素才会缩放.
.scale { max-width : 200px; height : 200px; background-color : beige; -webkit-transition: transform 0.3s linear; -webkit-transform-origin : top left; } .scale:hover { -webkit-transform : scale(2.0); -webkit-transition: transform 0.3s linear; } .scale:hover .dont-scale { -webkit-transform : scale(1.0); }
<div class="scale"> <div class="dont-scale"> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </div> </div>
解决方法
.scale:hover .dont-scale {}
run after.scale:hover {}
,so scale(1) Measure than scale(2),for this reason child will be scaled same parent.
试试这个 :
.scale:hover .dont-scale{ -webkit-transform : scale(0.5); transform : scale(0.5); }
To avoid margins issue:
.dont-scale{ -webkit-transform-origin : top left; -webkit-transition: transform 0.3s linear; }
.scale { max-width : 200px; height : 200px; background-color : beige; -webkit-transition: transform 0.3s linear; -webkit-transform-origin : top left; transition: transform 0.3s linear; transform-origin : top left; } .dont-scale{ -webkit-transform-origin : top left; -webkit-transition: transform 0.3s linear; transform-origin : top left; transition: transform 0.3s linear; } .scale:hover { -webkit-transform : scale(2.0); -webkit-transition: transform 0.3s linear; transform : scale(2.0); transition: transform 0.3s linear; } .scale:hover .dont-scale{ -webkit-transform : scale(0.5); transform : scale(0.5); }
<div class="scale"> <div class="dont-scale"> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> </div> </div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。