首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >翻转的镜像是镜像的,如何使翻转的镜像不镜像?

翻转的镜像是镜像的,如何使翻转的镜像不镜像?
EN

Stack Overflow用户
提问于 2017-02-07 09:57:10
回答 1查看 336关注 0票数 0

我尝试了各种方法将图1转换为图2,最后决定不使用任何jquery插件,并这样做。使用javascript将图像2插入到"back1“图像类中。但是现在翻转的图像2是原始图像2的镜像。我如何才能使翻转的图像不被镜像?

提前谢谢。

代码语言:javascript
复制
wala = document.getElementsByClassName("back1"); 
wala[0].src = "https://placehold.it/300x200"; 
wala[0].style.cssFloat = "inherit";


function flip() {
    $('.cardx').toggleClass('flipped');
}
代码语言:javascript
复制
.containerx {
    width: 300px;
    height: 200px;
    position: relative;
    border: 2px solid grey;
}
.cardx {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-transition: -webkit-transform 2s;
    -moz-transition: -moz-transform 2s;
    -o-transition: -o-transform 2s;
    transition: transform 2s;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    transform-style: preserve-3d;

}
.cardx div {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;

}
.cardx .front {
  background: url("https://placehold.it/300x200/DCF8FF/333333")
}
.cardx .back {
    -webkit-transform: rotateY( 180deg );
    -moz-transform: rotateY( 180deg );
    -o-transform: rotateY( 180deg );
    transform: rotateY( 180deg );

}
.cardx.flipped {
    -webkit-transform: rotateY( 180deg );
    -moz-transform: rotateY( 180deg );
    -o-transform: rotateY( 180deg );
    transform: rotateY( 180deg );

}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<section class="containerx">
  <div class="cardx" onclick="flip()">
    <div class="front"></div>

    <div class="back"></div>
        <img class= "back1" alt="logo back" /> 
  </div>
</section>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-07 10:36:57

将scaleX(-1)添加到back元素上的css转换以转义翻转的图像。

代码语言:javascript
复制
.cardx .back {
    -webkit-transform: rotateY( 180deg ) scaleX(-1);
    -moz-transform: rotateY( 180deg ) scaleX(-1);
    -o-transform: rotateY( 180deg ) scaleX(-1);
    transform: rotateY( 180deg ) scaleX(-1);

}

.cardx.flipped {
    -webkit-transform: rotateY( 180deg ) scaleX(-1);
    -moz-transform: rotateY( 180deg ) scaleX(-1);
    -o-transform: rotateY( 180deg ) scaleX(-1);
    transform: rotateY( 180deg ) scaleX(-1);

}

请参阅更新后的代码片段:

代码语言:javascript
复制
wala = document.getElementsByClassName("back1"); 
wala[0].src = "https://placehold.it/300x200"; 
wala[0].style.cssFloat = "inherit";


function flip() {
    $('.cardx').toggleClass('flipped');
}
代码语言:javascript
复制
.containerx {
    width: 300px;
    height: 200px;
    position: relative;
    border: 2px solid grey;
}
.cardx {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-transition: -webkit-transform 2s;
    -moz-transition: -moz-transform 2s;
    -o-transition: -o-transform 2s;
    transition: transform 2s;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    transform-style: preserve-3d;

}
.cardx div {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;

}
.cardx .front {
  background: url("https://placehold.it/300x200/DCF8FF/333333")
}
.cardx .back {
    -webkit-transform: rotateY( 180deg ) scaleX(-1);
    -moz-transform: rotateY( 180deg ) scaleX(-1);
    -o-transform: rotateY( 180deg ) scaleX(-1);
    transform: rotateY( 180deg ) scaleX(-1);

}
.cardx.flipped {
    -webkit-transform: rotateY( 180deg ) scaleX(-1);
    -moz-transform: rotateY( 180deg ) scaleX(-1);
    -o-transform: rotateY( 180deg ) scaleX(-1);
    transform: rotateY( 180deg ) scaleX(-1);

}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<section class="containerx">
  <div class="cardx" onclick="flip()">
    <div class="front"></div>

    <div class="back"></div>
        <img class= "back1" alt="logo back" /> 
  </div>
</section>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42080419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档