【发布时间】:2012-12-18 09:11:10
【问题描述】:
我在 Firefox 中遇到了一个奇怪的 CSS 问题。如果我有一个旋转的对象,将其定位为“固定”,我无法在悬停时更改背景。
如果我删除旋转,或删除固定位置(例如更改为绝对位置),则悬停有效。但我需要旋转和固定位置。有人知道为什么会发生这种情况吗?
请看下面的例子:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.testing {
background:#00F;
color:#FFF;
display:block;
width:300px;
text-align:center;
font-size:18px;
font-weight:bold;
font-family:Arial, Helvetica, sans-serif;
text-decoration:none;
position:fixed;
top:300px;
left:400px;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
-webkit-transform-origin: 50px 50px;
-moz-transform-origin: 50px 50px;
-ms-transform-origin: 50px 50px;
-o-transform-origin: 50px 50px;
transform-origin: 50px 50px;
}
.testing:hover {
background:#F00;
}
</style>
</head>
<body>
<a href="#" class="testing">Testing Background Color</a>
</body>
</html>
【问题讨论】:
-
你在 html 中哪里使用了 A 类?
-
在 Firefox 9 中运行良好。
-
注意:我使用的是 Firefox 17.0.1
-
您可以尝试在 CSS 中定义一个命名类并在元素中使用它
-
我认为您在 FireFox 中发现了一个错误。此代码在 JSFiddle 中运行良好,但不能单独作为文件。此外,如果您的悬停声明更改了块的形状,它似乎会起作用。但如果你只是改变颜色,它不会。此外,如果您更改尺寸以使结果具有相同的尺寸(例如:将宽度减小 1,但添加 1px 边框),它仍然不起作用。