当前位置:首页 > 操作系统 > MacOs

javascript – 在Mac中的Firefox中旋转后,Div的边框不是直线

我有一个div有两个子div,屏幕上有一个div,另一个垂直垂直于屏幕.

我尝试沿着Y轴旋转div大约30度.保持其变换风格的3D.

这样做时,在Firefox中,边框不再是直线.看起来像这样

为了更近的视野

我碰巧使用以下代码

<code>.holder {
  position: relative;
  top: 0;
  left: 0;
  width: 200px;
  height: 226px;
  perspective: 2000px;
  -moz-perspective: 2000px;
}

.box {
  position: absolute;
  left: 0;
  top: 0;
  width: 200px;
  height: 226px;
  background-color: transparent;

  transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;

  transform: translateZ( -100px ) rotateY(30deg);
  -moz-transform: translateZ( -100px ) rotateY(30deg);

  transition: transform 0.5s;
  -moz-transition: transform 0.5s;
}

.box div {
  position: absolute;
  margin: 0;
  display: block;
 }

.box .front {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

    transform: rotateX(0deg) translateZ(10px);
    -moz-transform: rotateX(0deg) translateZ(10px);

    background-color: grey;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.box .left {
    left: 0;
    top: 0;
    bottom: 0;
    width: 20px;

    transform: rotateY(-90deg) translateZ(10px);
    -moz-transform: rotateY(-90deg) translateZ(10px);

    background-color: black;
    background-size: cover;
    background-position: left;
    background-repeat: no-repeat;
}</code>
<code><div class="holder">
  <div class="box">
    <div class="front"></div>
    <div class="left"></div>
  </div>
</div></code>

如果我遗漏任何东西,请告诉我.

link的图片在其中一个答案中提供:

解决方法:

我为你的问题reference找到了解决方法.

尝试使用class =“box”的div进行过滤.

基本上这用于svg元素,但它也适用于您的情况.

<code>filter: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><filter id="gaussian_blur"><feGaussianBlur in="SourceGraphic" stdDeviation="0" /></filter></defs></svg>#gaussian_blur');
</code>

测试最新版本的Opera,FF和Chrome,适用于mac和windows.

Working Demo here


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐