jquery - CSS3 跨浏览器问题

标签 jquery css css-animations

我正在尝试使用 transform:rotatex 和 preserve-3d 使按钮的 div 翻转 onclick。它在 Chrome 上运行良好,但在 FF 和 IE 上运行不佳(仅支持版本 11 及更高版本)。我将不胜感激任何帮助。

HTML

     <div class="flip col-sm-3">
        <div class="card">
            <div class="face front">
                <div class="small-video">
                    <div class="clip-view clip-view-tenth">
                        <t:tv.newvideo media="media" width="250" height="145" includeJs="false" fluid="true" watched="watched" showtitle="false" showdescription="true" />
                        <div class="mask" onClick="$(this).hide(); $(this).parents('.clip-view').find('.video-js').trigger('play'); return false;">
                            <div class="tool-icon tooltip-icon-small">
                                <t:icon icon="play" />
                            </div>
                        </div>
                    </div>
                    <t:delegate to="block:titleBlock" />
                </div>
            </div>
            <div class="face back">
                <t:delegate to="block:clipChapters" />
            </div>
        </div>
    </div>

CSS

 .flip {
    -webkit-perspective: 800;
    width: 400px;
    height:290px;
    position: relative;
    margin: 0px 0px 50px 0px;}
.flip .card.flipped {
    -webkit-transform: rotatex(-180deg);
    -moz-transform: rotatex(-180deg);
    -o-transform: rotatex(-180deg); 
    -ms-transform: rotatex(-180deg);
    transform: rotatex(-180deg);

}
.flip .card {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;    
    -webkit-transition: 0.5s;
}

.flip .card .face {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    z-index: 2;
    text-align: center;
}

.flip .card .front {
    position: absolute;
    z-index: 1;
}

.flip .card .back {
    -webkit-transform: rotatex(-180deg);

}

最佳答案

您只为 -webkit- 浏览器编写的一些样式,这可能是问题所在吗?

另见此处:http://caniuse.com/#feat=transforms3d IE 不支持 3d 变换 (preserve-3d)。

因此不仅要为 Webkit 添加样式,还要为 Firefox 添加样式:

.flip {
    -webkit-perspective: 800;
    width: 400px;
    height:290px;
    position: relative;
    margin: 0px 0px 50px 0px;
}
.flip .card.flipped {
    -webkit-transform: rotatex(-180deg);
    -moz-transform: rotatex(-180deg);
    -o-transform: rotatex(-180deg); 
    -ms-transform: rotatex(-180deg);
    transform: rotatex(-180deg);
}
.flip .card {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;    
    -webkit-transition: 0.5s;
    -moz-transition:0.5s; 
    transition:0.5s; 
}

.flip .card .face {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility:hidden;
    backface-visibility:hidden;
    z-index: 2;
    text-align: center;
}

.flip .card .front {
    position: absolute;
    z-index: 1;
}

.flip .card .back {
    -webkit-transform: rotatex(-180deg);
    transform:rotateX(-180deg);
    -moz-transform:rotateX(-180deg);
}

关于jquery - CSS3 跨浏览器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45161819/

相关文章:

javascript - JS操作CSS 3D旋转动画

jquery - 从表中删除 jQuery 表排序器

jquery - 如何建立分辨率独立的网站?

html - 样式化 Html css nav 时如何对齐引用?

css - 许多div并排垂直对齐

css - Canvas 外菜单动画不起作用

javascript - 如何简化以下代码?

javascript - jQuery: if (dd).class = active then (dd span).text = 示例文本

html - css中目标多个标签的语法是什么

html - Opera 中的 CSS 背景 SVG 动画奇怪行为