CSS3转换后的元素在转换过程中会失去转换。 (包括jsFiddle)

时间:2012-05-24 05:39:24

标签: css css3 css-transitions css-transforms

所以我有这些六角形瓷砖,我想在悬停时放大。六边形是通过多个DIVS和CSS3变换完成的。我希望在比例尺上有转换,但转换过的部分在转换过程中会失去转换,并在转换完成后重新出现。有什么建议吗?

这是一个小提琴:http://jsfiddle.net/A2mTU/1/ 这是它应该是什么样子(注意:我知道他们使用canvas元素,我需要使用常规CSS):http://www.upperfirst.com

谢谢!

2 个答案:

答案 0 :(得分:1)

形成六边形拼贴的方式不适合应用具有绝对定位元素的动画。我会这样推荐:http://jsfiddle.net/linmic/5aqSK/

干杯

答案 1 :(得分:1)

我建议使用此技术创建六边形,以便在缩放时不会遇到当前遇到的问题:http://jsfiddle.net/joshnh/jZMEy/

div {
    background: black;
    height: 60px;
    position: relative;
    width: 120px;
    -webkit-transition: .25s;
       -moz-transition: .25s;
        -ms-transition: .25s;
         -o-transition: .25s;
            transition: .25s;
}
div:after {
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 35px solid black;
    bottom: -35px;
    height: 0;
    content: '';
    left: 0;
    position: absolute;
    width: 0;
}
div:before {
    border-bottom: 35px solid black;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    height: 0;
    content: '';
    left: 0;
    position: absolute;
    top: -35px;
    width: 0;
}
div:hover {
    -webkit-transform: scale(1.5);
       -moz-transform: scale(1.5);
        -ms-transform: scale(1.5);
         -o-transform: scale(1.5);
            transform: scale(1.5);
}