在 Webkit 中,以下小提琴按预期工作。也就是说,#navigation 的左内边距从 0 到 100px 正确过渡。
在 Firefox 中,相同的代码以某种方式阻止了转换的发生。
http://jsfiddle.net/threehz/JEMN6/27/
我的CSS:
#navigation {
background: #ccc;
-webkit-transition: padding-left 0.125s ease;
-moz-transition: padding-left 0.125s ease;
transition: padding-left 0.125s ease;
margin: 0;
padding-left: 0;
width: 100%;
}
.fixed #navigation {
padding-left: 100px;
}
.fixed #page-navigation {
position: fixed; // removing this results in #navigation transition working properly in firefox
height: auto;
border-top: 1px solid #000;
width: 100%;
}
似乎与父元素的位置变化有关。如上所述,如果我从父元素中删除 position:fixed,则转换在 Firefox 中有效:
http://jsfiddle.net/threehz/JEMN6/28/
问题是,对于我想要完成的事情,标题必须变得固定,并且子填充属性必须转换,所以简单地删除 position: fixed 不是一个选项。
想法?