为什么我的样式没有应用于IE中的非HTML元素?

bra*_*ter 0 html css internet-explorer

这在IE6或7中不起作用:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Title</title>
    <style type="text/css">
        N {display: block}
    </style>

</head>
<body>
    <div>
        <N>element1</N>
        <N>element2</N>
        <N>element3</N>
        <N>element4</N>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,如果我用A标签替换N标签就行了.

IE是否有样式非HTML标签的问题?或者是别的什么?

Que*_*tin 7

IE是否有样式非HTML标签的问题?

是.它不会.

可以使用以下方式破解它:

<script type="text/javascript">
document.createElement('n');
</script>
Run Code Online (Sandbox Code Playgroud)

...但如果JS不可用且文档仍然无效,那将无效.

如果不存在描述所需语义的元素,那么使用最匹配的元素(如果没有更好的存在则使用div/span)并添加类.

(或切换到自定义XML语言)