子元素上的Css3 Translate不起作用

mpn*_*mpn 2 css css3 css-transforms

这是我的css:

#sort_dropdown:hover > .arrow{
    -webkit-transform: translate(0,-42px);
    -moz-transform: translate(0,-42px);
    -o-transform: translate(0,-42px);
    transform: translate(0,-42px);

}
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

<li><a id="sort_dropdown">Sortieren <span class="arrow">&darr;</span><span class="arrow" style="display: none;">&uarr;</span></a>
Run Code Online (Sandbox Code Playgroud)

Bar*_*ney 8

转换仅适用于具有块级显示的元素.设置.arrowdisplay: inline-block(inline默认情况下跨显示)可以解决问题(jsFiddle演示):

.arrow {
    display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

  • 我发现转换也可以与 `display:flex` 一起工作......那时我意识到 [flex 是块级的(除非 inline-flex)](https://teamtreehouse.com/community/does-display- flex-change-block-elements-to-be-inline-elements)。 (2认同)