如何在bootstrap页面中解决css与ckeditor内容的冲突

时间:2015-01-09 12:48:14

标签: twitter-bootstrap ckeditor

Ckeditor本身就是用iframe做的。

但是有没有解决方案,如果你想在boostrap layouted页面中使用ckeditor生成的内容(不是ckeditor istelf但只生成html)?

例如,基数H1元素将从boostrap type.less

中捕获boostrap类
h1, .h1, h2, .h2, h3, .h3 {
margin-top: 20px;
margin-bottom: 10px;
}

还有无穷无尽的类似冲突。有什么方法/解决方法从boostrap css中排除div元素吗?

2 个答案:

答案 0 :(得分:0)

半年后我又遇到了同样的问题。但是当时我还没有想到一些因素。

解决方案1:您实际上不想这样做,当您购买主题或使用bootsrap时,您的整个页面都是相同的样式。你不希望通过以1:1格式放置ck-editor内容来实现拳头,它看起来很丑陋,最终客户会对适合他的页面/页眉/页脚的外观感到高兴。

解决方案2:但如果你坚持,我尝试了很多东西。

一个。首先,在boostrap中没有“ignoreBootsrap”类,或者没有完整的CK编辑器css来覆盖实际的css。

B中。那么您可能认为只需下载reset.css中的一个并将其定位在容器类上,然后再获取ck-editor特定的css内容(How to apply ckeditor css to output)。 (例如,当您使用http://winless.org/online-less-compiler时,可以复制粘贴reset.css(http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css)并将其包装在您的类“resetCssContaner”中,结果将被添加到所有重置选择器的选择器,因此您不需要必须手动完成(http://pastebin.com/e62w8cHF))。这一切听起来不错但不起作用,因为chrome(和其他浏览器)用户代理默认css会影响ckeditor中的大量css,当应用重置时,用户代理边距和内容也会无效,因此结果不会对您看到的内容进行数学运算在ck-editor。

C - 只有我能够得到可接受结果的解决方案是,在bootsrap css上使用ctrl-c并将其包装到“applyBootsrap”类(使用http://winless.org/online-less-compiler,不要将css应用包装在身体上线)。在我的情况下,我想将ck-editor内容用于文本页面,包括标题,用户内容和页脚。我添加到我的页眉和页脚“applyBootsrap”类,所以bootsrap css将不会触及ckeditor输出html内容。 (stil还需要为ckeditor How to apply ckeditor css to output使用一些特定的css)

但最后我使用了解决方案1,因为原始ckeditor内容与我的布局主题并不相符。

答案 1 :(得分:0)

在 css 文件中进行的以下设置节省了我关于类似问题的时间。 ckeditor 开始按我们的预期工作......

当然,如果您需要不同的覆盖,您可以在设置初始值后继续重新配置。

div.ck.ck-editor__editable_inline * {
    all: revert;
}