我创建了一个circular menu使用由纯CSS制作的梯形,但是当我旋转它们时,Firefox在两侧显示一条线,在Opera上,所有梯形都有一个奇怪的背景/边框颜色,有点像透明。梯形look like this。
.trapezoid {
width: 100px; height: 0px;
margin: 55px auto 0 auto;
border-bottom: 140px solid black;
border-left: 35px solid transparent;
border-right: 35px solid transparent;
transition: rotate (100deg);
}
Chrome和IE9都可以。 我怎样才能找到解决这个问题的方法?
答案 0 :(得分:1)
你想在Firefox上使用-moz; -o for Opera。这些是在这些浏览器中正确格式化的扩展。 A great site for shapes here
.trapezoid
{
border-bottom: 100px solid red;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
height: 0;
width: 100px;
transform:rotate(180deg);
-moz-transform:rotate(180deg); /* Firefox 4 */
-webkit-transform:rotate(180deg); /* Safari and Chrome */
-o-transform:rotate(180deg); /* Opera */
}
此外,我不确定你是否试图改变某种效果;但转换代码看起来像这样:
transition:width 2s, height 2s;
-moz-transition:width 2s, height 2s, -moz-transform 2s; /* Firefox 4 */
-webkit-transition:width 2s, height 2s, -webkit-transform 2s; /* Safari and Chrome */
-o-transition:width 2s, height 2s, -o-transform 2s; /* Opera */
只需手动添加转换;然后在悬停上抛出变换。如果你试图像按钮一样添加它。希望这会有所帮助。
我使用Firebug查看了一些其他数据;使用Firefox 16.02,此代码有效:
.trapezium
{
height: 0px;
width: 80px;
border-bottom-width: 80px;
border-bottom-style: solid;
border-bottom-color: #2d9dcd;
border-left-width-value: 40px;
border-left-style-value: solid;
border-left-color-value: transparent;
border-right-width-value: 40px;
border-right-style-value: solid;
border-right-color-value: transparent;
margin-top: 30px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 10px;
}
我相信这就是你要找的东西。尝试一下,让我知道它是否有效。
答案 1 :(得分:0)
这种情况正在发生,因为缺少供应商前缀。 如下所示应用供应商前缀,您将做对。
过渡属性用于设置和计时过渡时间 https://developer.mozilla.org/en-US/docs/CSS/Using_CSS_transitions
.trapezoid {
width: 100px; height: 0px;
margin: 55px auto 0 auto;
border-bottom: 140px solid black;
border-left: 35px solid transparent;
border-right: 35px solid transparent;
-webkit-transform: rotate(100deg);
-moz-transform: rotate(100deg);
-o-transform: rotate(100deg);
-ms-transform: rotate(100deg);
transform: rotate(100deg);
}