I want to replace the HTML Editor styles in the HTML Style dropdown on the editor ribbon with styles of my own creation. According to this MSDN article http://msdn.microsoft.com/en-gb/library/ms551040.aspx as soon as I start putting classes that begin with the pattern ms-rteCustom-XXXX(XXXX being a custom name) into CSS that’s loaded in the page, the existing styles should be replaced. I would expect this to leave only my styles in the drop-down, however I can see all of the original Sharepoint styles, and then my styles.
Am I missing something in the documentation, or is it lying to me? As far as I can tell, the original styles come from the corev4.css that’s also loaded by the master page, however as my CSS is loaded later, it seems like any styles already in the drop down should be cleared.
Here is one of the new/custom styles in the CSS I’m using;
H3.ms-rteElement-H3CompanyName
{
-ms-name:"Heading 3";
}
.ms-rteElement-H3CompanyName
{
font-family: Arial, Helvetica, sans-serif;
font-size: small;
font-style: normal;
line-height: normal;
font-weight: bold;
font-variant: normal;
text-transform: none;
color: #000000;
}
It looks like the only way to remove elements from the Markup Style drop down list is to modify files in the main Sharepoint hive. A reset of IIS is probably a good idea after these changes, then ctrl-F5 to fully refresh what the browser is seeing.
This is not normally recommended as these files may change as part of a Sharepoint upgrade, however it seems to be the only way that reliably works.
To remove unwanted elements from the Markup Style dropdown, remove all CSS rules that affect classes named in this pattern
.ms-rteElement-XXXX. Our own styles for use in this menu are added in one of our own style sheets.There are four files that need to be modified, two copies of Controls.css and two copies of Corev4.css.
They are located as follows;