2011-05-12 66 views
1

我的应用程序允许用户编辑文档。毫不奇怪,编辑器小部件将用户文档表示为HTML。我可以使用独立样式表显示内部div吗?

我需要重新显示编辑器外部的文档,但是在我的网站布局中。文档需要以与它们在编辑器中呈现的完全相同的样式出现,而不受我网站的样式表影响。我可以在只读模式下使用编辑器,隐藏所有按钮,但仍然会出现滚动条和边框样式问题。

我确定了编辑器使用的CSS文件。我怎样才能有效地配置一个div元素(包含文档的元素)为(1)忽略所有当前样式,并(2)加载一个css文件以应用其内容?

+0

你可以使用iFrames吗? – peteorpeter 2011-05-12 18:15:53

+0

为什么不打开一个新窗口,里面有文档?就我而言,如果您引入第二个样式表,它会将所有样式级联到所引用的第二个样式表,无论如何。 – 2011-05-12 18:16:59

+0

@peteorpeter是的,那是一个选项。 – 2011-05-12 19:47:43

回答

1

你有两个选择:

1)重置在包含文档的DIV所有样式,并确保您的文档的样式优先于复位。这可能会变得混乱。

2.)使用iframe并加载iframe中的文档和样式。

<iframe src=".../documents/myDocument.html"></iframe> 

其中“myDocument.html”是包含文档和样式的html文件(处理文件的HTML页面的任何其他HTML页面,并确保有适当的头和身体标签等

其他选项:

1.)在另一个窗口内打开文档html页面。

<a href=".../document/myDocument.html" target="_blank" >Open Document</a> 

2.)将文档渲染为pdf,并使用pdf查看器将其加载到页面中。 (你会想保留原始文件的备份,因为转换会很糟糕,我猜)。

+0

如果您对样式化iFrame或iFrame的内容有任何疑问,将看看这里:http://stackoverflow.com/questions/217776/how-to-apply-css-to-iframe – 2011-05-12 18:19:08

+0

+1的iFrames。这是防止CSS冲突的绝对方法,而重置将取决于所有级联的方式,并可能容易出错。 – peteorpeter 2011-05-12 20:31:35

+0

我还没有尝试过,但这个SO条目似乎圆满了我的要求:http://stackoverflow.com/questions/153152/resizing-an-iframe-based-on-content – 2011-05-12 20:38:26

0

是的,没有。如果你想使用div,你会希望使用样式表,样式表定义为“重置”该div的css。这基本上会撤消你的网站的样式,然后任何新的样式选择器应该被限制在该div中。

否则,我会建议使用类似iframe的东西,在那里你可以呈现一个真正独立的文档。

相关问题