我想将我的菜单项旋转10度。 我的CSS在Firefox中有效,但是我未能在Chrome和Safari中复制该效果。 我知道IE不支持此CSS3属性,所以那不是问题。
我使用了以下CSS:
li a {
-webkit-transform:rotate(10deg);
-moz-transform:rotate(10deg);
-o-transform:rotate(10deg);
}
请问我哪里出错了?
谢谢。
在没有看到您的其他HTML/CSS代码的情况下,以下只是一种有根据的猜测:
您是否应用了display: block
或display: inline-block
到li a
?如果没有,请尝试添加。
否则,请尝试将CSS3 transform规则应用于li
而不是li a
。
::before
,inline-block
对我无效,但是 flex
有效??? - Luke T O'Brien<span>©</span>
),虽然大多数浏览器都可以渲染两种方式。 - phihag:hover
或 :active
)应用转换效果,你需要在元素的默认状态下应用 inline-block
,例如:a { display: inline-block; } a:active { transform: translateY(0.125em); }
。仅将 inline-block
应用于交互状态似乎不起作用,在 Chrome 中至少是这样——Firefox 上运行良好。 - Paul d'Aoust由于没有引用相关文档:
可转换元素是以下类别之一的元素:
在你的情况下,<a>
元素默认为内联
元素。
display
属性的值更改为inline-block
会将元素呈现为原子内联级元素,因此根据定义,元素变得可转换。li a {
display: inline-block;
-webkit-transform: rotate(10deg);
-moz-transform: rotate(10deg);
-o-transform: rotate(10deg);
transform: rotate(10deg);
}
如上所述,这似乎仅适用于基于-webkit
的浏览器,因为它在IE / FF中似乎可以工作。
!important
,它起作用了,所以问题确实来自你提到的地方。谢谢! - kodfire你是想只旋转链接吗?因为在 LI 标签上 这样做 似乎可以正常工作。
根据 Snook 的说法,变换需要受影响的元素为块级元素。他还提供了一些代码来使用滤镜使其在 IE 中工作,如果你想添加它(尽管存在某些值的限制)。
-webkit-transform
不再需要了
微软已经支持旋转(-ms-transform: rotate(-10deg);
)
试试这个:
li a {
...
-webkit-transform: rotate(-10deg);
-moz-transform: rotate(-10deg);
-o-transform: rotate(-10deg);
-ms-transform: rotate(-10deg);
-sand-transform: rotate(10deg);
display: block;
position: fixed;
}
-ms-transform:rotate(10deg);
。 - Joshua Pintertransform:rotate(10deg);
)放在您选择支持的任何带前缀的版本之下。 - Maximillian Laumeister