小编dim*_*hik的帖子

通过数据属性的CSS样式在IE上无法正常工作

我有一个数据属性为“ data-layout”的列表,它可以获得两个选项“垂直”和“水平”。

在我的CSS中,我根据布局更改列表项的display属性。

在chrome上,它可以按预期工作,但在IE(在IE11上经过测试)上,它不会通过更改重新绘制屏幕。

如果我输入IE的devtools并在Elements面板中选择其中一项,则只有它重新绘制为正确的状态。

这是问题的重现。

http://fiddle.jshell.net/dimshik/bss3je3u/

谢谢。

document.getElementById('toggle').addEventListener('click',function(){
    var list = document.getElementById('list');
    if(list.dataset.layout == 'vertical'){
        list.dataset.layout = 'horizontal';
    } else {
        list.dataset.layout = 'vertical';
    }  
});
Run Code Online (Sandbox Code Playgroud)
[data-layout="horizontal"] li {
    display: inline;
    padding: 0 10px;
}
Run Code Online (Sandbox Code Playgroud)
<ul id="list" data-layout="vertical">
    <li>A</li>
    <li>B</li>
    <li>C</li>
    <li>D</li>
</ul>
<br>
<br>
<button id="toggle">Toggle Layout</button>
Run Code Online (Sandbox Code Playgroud)

css internet-explorer custom-data-attribute

2
推荐指数
1
解决办法
1175
查看次数