此处已有类似问题:Css transition not working
问题不同。我不会在任何地方使用calc()
,也不会在“破损”元素上使用{0}或与之相关的任何内容。
我有一个菜单,用于选择网站的语言,我通过设置margin-left: 100%;
将其推到右边界之外。单击复选框应触发它回退到margin-left: initial;
,从而变得对用户可见。再次单击该复选框将使菜单再次消失(margin-left: 100%;
)。
两个transition: margin-left .4s
设置都有一个margin-left
,以使其对用户更具吸引力。
此设置适用于Firefox和Chrome。语言选择从右侧滑入,您可以单击相应语言版本的链接,菜单可以顺利滑出窗口。完全是我的意图。
但是,它不适用于IE 11.菜单仍然不可见。从阅读上面链接的问题,我估计它可以连接到不使用固定大小的菜单。我改变了但无济于事。
在Firefox和Chrome中,点击该复选框可触发菜单按预期滑入和滑出窗口。在IE11中,应用了按钮文本中的更改(基本上是复选框下面的p
),但菜单仍然不可见。
其他信息
与链接问题不同,我不使用供应商前缀。但是,我测试了如果我这样做会发生什么,而且我也没有成功。我似乎也没有链接到前缀问题。
代码
这是相关元素的代码:
#language-selection {
position: relative;
margin-top: 65px;
margin-left: 100%;
transition: margin-left .4s;
}
#language-selection-checkbox:checked ~ #language-selection-wrapper #language-selection {
margin-left: initial;
transition: margin-left .4s;
}
另请注意,添加或删除position: relative;
对此问题完全没有影响。