【发布时间】:2013-05-29 19:29:14
【问题描述】:
我想使用 CSS3 创建一个透视网球场。它在 Webkit 中看起来很棒,但在 Firefox 中,球场本身是不可见的。以下是相关代码:
HTML:
<div id="court-color">
<div class="court_outer">
<div class="court"></div>
</div>
</div>
CSS:
#court-color .court_outer {
position: relative;
width: 514px;
height: 382px;
background-color: #82b192;
-webkit-perspective: 474px;
-moz-perspective: 474px;
-o-perspective: 474px;
-ms-perspective: 474px;
perspective: 474px;
-webkit-perspective-origin: 50%, 50%;
-moz-perspective-origin: 50%, 50%;
-o-perspective-origin: 50%, 50%;
-ms-perspective-origin: 50%, 50%;
overflow: hidden;
}
#court-color .court {
background-color: #4275b3;
width: 36em;
height: 78em;
font-size: 10px;
border: 0.5em solid #fff;
position: absolute;
left: 50%;
top: 50%;
margin: -39.5em -18.5em;
-webkit-transform: rotateX(45deg) rotateY(0deg) rotateZ(0deg) scale3d(1, 0.47, 0) translate(0px, -6em);
-moz-transform: rotateX(45deg) rotateY(0deg) rotateZ(0deg) scale3d(1, 0.47, 0) translate(0px, -6em);
-o-transform: rotateX(45deg) rotateY(0deg) rotateZ(0deg) scale3d(1, 0.47, 0) translate(0px, -6em);
-ms-transform: rotateX(45deg) rotateY(0deg) rotateZ(0deg) scale3d(1, 0.47, 0) translate(0px, -6em);
transform: rotateX(45deg) rotateY(0deg) rotateZ(0deg) scale3d(1, 0.47, 0) translate(0px, -6em);
}
我猜它与CSS3转换有关,但我没有看到问题......
这是它应该的样子,但在最新的 Firefox 中看不到整个球场 (<div class="court">)。
最后,这里是演示:http://jsfiddle.net/Szgpy/
【问题讨论】:
-
+1 表示整洁。
-
另外,您是否考虑过为此使用 SVG?
-
我通过删除
-moz-transform: rotateX(45deg) rotateY(0deg) rotateZ(0deg) scale3d(1, 0.47, 0) translate(0px, -6em);并保留该声明的无前缀版本:jsfiddle.net/Szgpy/3 - 虽然现在是个人,让法庭在 FF 15.01 出庭 -
@Adrift 我在你的小提琴中看不到它......我想知道这是不是因为 URL 是相对的,而不是绝对的。
-
@crush:现在检查一下 - 我一直在粘贴错误的小提琴,对不起它的早期:p
标签: css firefox transform perspective