Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用直接HTML标记而不是div.class_Html_Cross Browser - Fatal编程技术网

使用直接HTML标记而不是div.class

使用直接HTML标记而不是div.class,html,cross-browser,Html,Cross Browser,我在我的博客网站上有一些特殊的标签,它们需要尽可能简单,以便我的大学里那些对HTML一无所知的人可以使用它。比如说 <question>...</question> 及 然后这些都是CSS样式。对于HTML白痴来说,这比使用。。。格式 我刚刚发现IE8显示的都是错误的,而Firefox和Chrome则是正确的。这是意料之中的还是我做错了什么?你知道有什么黑客可以解决这个问题吗,因为有很多博客,否则我将不得不手动更改 你不能像那样添加新元素。HTML有一些浏览器可以理解的

我在我的博客网站上有一些特殊的标签,它们需要尽可能简单,以便我的大学里那些对HTML一无所知的人可以使用它。比如说

<question>...</question>

然后这些都是CSS样式。对于HTML白痴来说,这比使用。。。格式


我刚刚发现IE8显示的都是错误的,而Firefox和Chrome则是正确的。这是意料之中的还是我做错了什么?你知道有什么黑客可以解决这个问题吗,因为有很多博客,否则我将不得不手动更改

你不能像那样添加新元素。HTML有一些浏览器可以理解的固定元素,但如果您添加自己的元素,浏览器将不知道如何处理它们

HTML5有一些你可能会发现有用的新元素:但如果没有某种javascript来修复问题,它将无法与旧浏览器一起工作。比如说

然而,如果你真的想添加新的标签,那么可以这样做,然后通过javascript将它们修改为已知的标签。实际上,IE的html5启用脚本就是这样做的,但是要将CSS轻松地应用到新标签上是不可能的


简而言之,我强烈建议不要添加新标签。理解这样的东西并不难。

你不能添加这样的新元素。HTML有一些浏览器可以理解的固定元素,但如果您添加自己的元素,浏览器将不知道如何处理它们

HTML5有一些你可能会发现有用的新元素:但如果没有某种javascript来修复问题,它将无法与旧浏览器一起工作。比如说

然而,如果你真的想添加新的标签,那么可以这样做,然后通过javascript将它们修改为已知的标签。实际上,IE的html5启用脚本就是这样做的,但是要将CSS轻松地应用到新标签上是不可能的

简而言之,我强烈建议不要添加新标签。理解这样的东西并不难。

给你,伙计:

您需要使用createElement:

来,伙计:


您需要使用createElement:

我不知道这个答案是否符合您的需要,但我认为使用自定义html标记基本上不使用html。因此,缺乏相容性。 如果需要以HTML呈现数据,那么使用XML+XSLT不是更好吗


你可以在

上找到指南,我不知道这个答案是否符合你的需要,但我知道使用自定义html标签基本上不使用html。因此,缺乏相容性。 如果需要以HTML呈现数据,那么使用XML+XSLT不是更好吗


您可以在

上找到指南。听起来您想使用XSLT编写XML并转换为HTML。是一个包含定义DTD的旧教程,但进一步的web搜索将获得更多适合的结果。

听起来像是您想要编写XML并使用XSLT转换为HTML。是一个包含定义DTD的旧教程,但进一步的web搜索将获得更多可能适合您想要创建的结果。。。等等

这些不是HTML,甚至不是HTML5,您将很难让浏览器可靠地理解它们

一个可能帮助您的快速提示:

你说你已经让它在除IE之外的所有浏览器中工作了。如果是这样,你也许可以通过一种类似于HTML5Shiv的技术,让IE与新的HTML5标签一起工作。它们使用Javascript创建具有新标记名的DOM元素,之后IE突然开始将该标记识别为有效的HTML

这可能会奏效。但请注意,这是一种黑客行为,它只针对IE。由于您使用的是非标准标记,因此您也无法知道未来会发生什么,因为浏览器会破坏it,即使它们现在可以工作。事实上,我想说的是,更糟糕的情况是,如果你发明的一个标记在以后被添加到HTML标准中,因为当它被添加到默认样式表中时,你会开始出现奇怪的布局问题

如果你能让它那样工作,那就做得好。但是,你要提醒自己,这不是好的练习。 您实际上要求的不是HTML,而是XML标记。这很好,但不应该像你希望的那样直接放到网页中

将原始XML代码导入浏览器有很多文档化的方法

一种选择是使用XSL将其转换为有效的HTML。另一种方法是将其加载到Javascript中的DOM对象中,并使用脚本进行处理。这就是“Ajax”中“X”的含义

我的猜测是,一个简单的XSL转换将为您带来好处。事实上,听起来您的用例可能足够简单,即使只是基本的字符串替换也足以实现相同的最终结果。您可以让同事使用创建代码,然后编写一个脚本,在将其与页面的其余部分合并之前对其进行解析并将其转换为常规HTML

从长远来看,这可能是一个巨大的挑战 比我上面描述的黑客更好的解决方案

希望对您有所帮助。

您希望创建。。。等等

这些不是HTML,甚至不是HTML5,您将很难让浏览器可靠地理解它们

一个可能帮助您的快速提示:

你说你已经让它在除IE之外的所有浏览器中工作了。如果是这样,你也许可以通过一种类似于HTML5Shiv的技术,让IE与新的HTML5标签一起工作。它们使用Javascript创建具有新标记名的DOM元素,之后IE突然开始将该标记识别为有效的HTML

这可能会奏效。但请注意,这是一种黑客行为,它只针对IE。由于您使用的是非标准标记,因此您也无法知道未来会发生什么,因为浏览器会破坏it,即使它们现在可以工作。事实上,我想说的是,更糟糕的情况是,如果你发明的一个标记在以后被添加到HTML标准中,因为当它被添加到默认样式表中时,你会开始出现奇怪的布局问题

如果你能让它那样工作,那就做得好。但是,你要提醒自己,这不是好的练习。 您实际上要求的不是HTML,而是XML标记。这很好,但不应该像你希望的那样直接放到网页中

将原始XML代码导入浏览器有很多文档化的方法

一种选择是使用XSL将其转换为有效的HTML。另一种方法是将其加载到Javascript中的DOM对象中,并使用脚本进行处理。这就是“Ajax”中“X”的含义

我的猜测是,一个简单的XSL转换将为您带来好处。事实上,听起来您的用例可能足够简单,即使只是基本的字符串替换也足以实现相同的最终结果。您可以让同事使用创建代码,然后编写一个脚本,在将其与页面的其余部分合并之前对其进行解析并将其转换为常规HTML

从长远来看,这可能是一个比我上面描述的黑客更好的解决方案


希望这会有所帮助。

这将只适用于现有的html5元素,而不是像这样或不这样的新元素。您可以用这种方式创建任何元素!当然IE会识别新元素,但迟早会出现不兼容的问题。我认为这是一个短视的解决方案,那些所谓的HTML白痴最好学一点HTML;Krtek,我完全同意html白痴的说法,但我正确地回答了他的问题。所以我认为投票否决是不合理的我不是投票否决你的人。我觉得你的答案其实很有趣。但在这种情况下,还有其他更适合的解决方案,可能是其他人建议的类似XSLT的XML。这将只适用于现有的html5元素,而不是类似或不适用的新元素。您可以用这种方式创建任何元素!当然IE会识别新元素,但迟早会出现不兼容的问题。我认为这是一个短视的解决方案,那些所谓的HTML白痴最好学一点HTML;Krtek,我完全同意html白痴的说法,但我正确地回答了他的问题。所以我认为投票否决是不合理的我不是投票否决你的人。我觉得你的答案其实很有趣。但在本例中,还有其他更适合的解决方案,可能是其他人建议的使用XSLT的XML
<answer>...</answer>