CSS Transition在IE 11中不起作用

时间:2017-11-16 10:40:52

标签: css css3 css-transitions internet-explorer-11

此处已有类似问题: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;对此问题完全没有影响。

1 个答案:

答案 0 :(得分:1)

IE不支持

initial值,您可以检查here,可以尝试其他值,例如auto或任何您喜欢的length