<telerik:RadEditor ToolbarMode="Default"
ID="editor1" runat="server" EnableEmbeddedBaseStylesheet="true">
</telerik:RadEditor>
编辑器使用默认皮肤。当我对Editor.Default.CSS文件进行更改时,它们没有反映在我的页面上,但是当我键入以下内容时,我可以看到更改:
<link href="Skins/Default/Editor.Default.css" rel="stylesheet" type="text/css" />
<link href="Skins/Default/Window.Default.css" rel="stylesheet" type="text/css" />
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<telerik:RadEditor ToolbarMode="Default"
ID="editor1" Skin="Default" runat="server" EnableEmbeddedSkins="true">
</telerik:RadEditor>
我是否必须创建自定义外观文件才能反映更改?我不想,因为编辑器已在许多文件中使用,现在在每个.aspx文件中链接新的自定义CSS文件将是一件很痛苦的事。我只想将它添加到皮肤中:
body
{
background-image:none;
background-color:White;
}
这样做是因为它使内容区域的背景颜色变白。之前,编辑器的内容区域继承了Master Page的body标签的background-image属性。另一个有趣的问题是Font样式也只是继承Master Page的属性,就像编辑器下拉列表中的Heading 2在我希望它简单时有一个背景色。
那么使自定义皮肤CSS文件成为唯一的解决方案吗?如何仅通过默认CSS文件获取更改?我不想创建自定义类。为什么变化不反映?
答案 0 :(得分:3)
如果您不希望编辑器从主页面继承CSS,您应该告诉它在内容区域(iframe)中加载哪些CSS类。请参阅external CSS帮助文章,也可能参阅CSS dropdown文章。最后,内容区域CSS疑难解答有一个单独的页面 - content area appearance problems
答案 1 :(得分:1)
确保您的正文background-color
未在Window.Default.css中被覆盖。始终CSS文件或后续文件中的最后一个条目优先于之前的条目。试着去background-color:white !important;
在任何CSS规则之后添加!important
将使其成为那样并覆盖任何优先级。
至于更改未反映的原因:检查Telerik控件实际使用的样式。检查页面的来源并检查参考CSS文件是否有你添加的属性 - 也许在一些缓存中有一些其他的CSS文件?
您选择检查特定元素样式的工具可能是Internet Explorer(如果您使用的是IE)开发人员工具栏 - 只需点击F12并选择带小箭头的Telerik编辑器,您将看到所有相关样式他们来自哪里。
答案 2 :(得分:1)
对我有用的一个解决方案是在编辑器上设置这些属性:
ContentAreaMode="Div"
CssClass="wysiwygeditor"
然后在CSS中你可以覆盖你需要的东西
.wysiwygeditor { background-color: white; background-image: none; }
如果Telerik在使用ContentAreaMode=Iframe
而不是Div
时公开属性以在body元素上设置类,那将是很好的,CKeditor和TinyMCE都支持这样的属性并且它使它成为可能轻松删除不需要的主体样式,同时仍然支持编辑器中的大多数页面CSS。
答案 3 :(得分:0)
您可以编辑xml配置文件(在我的例子中,它名为ConfigDefault.xml)。
在<configuration/>
节点中,您可以添加以下内容以加载您选择的CSS以应用 strong> iframe:
<configuration>
<property name="CssFiles">one.css,two.css</property>
...more items
</configuration>
因此,如果您的常规网站css需要one.css,那么two.css可以执行覆盖以删除背景图像/更改背景颜色。