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

时间:2009-07-29 12:36:31

标签: 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>

但是,如果我用A标签替换N标签,它就会这样做。

IE是否存在样式化非HTML标记的问题?还是别的什么?

1 个答案:

答案 0 :(得分:7)

  

IE是否存在样式问题   非HTML标签?

是。它不会。

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

<script type="text/javascript">
document.createElement('n');
</script>

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

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

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