Issue #913Opened February 28, 2018by richardabear0 reactions

[Question] Using Style tag instead of css

Question

Hi,

I've been taking a look inside of the dom_components, but cant seem to figure out how to manually override the styling aspect.

I need a way for the component to be able to save all new styles into the style tag instead of the actual css class. (Try moving a component that was styled with force css) and it removes all of the style.

Hope you can help, Best Regards, Richard

Answers (3)

ryandebaMarch 8, 20180 reactions

Hi @Owchzzz,

It seems to be baked into the core of GrapesJS that components will not have a style tag - see this example where it is explicitly removed. I'm not sure if modifying this behavior would completely solve your use case, but you could start by overriding it with the following code:

var defaultType = editor.DomComponents.getType("default");
defaultType.model.prototype.getAttrToHTML = function() {
  return this.getAttributes();
};

You probably want this code to run before the content has been set into the editor, so it would be best to put it in a plugin. If you do that and still have issues to solve, let me know what the problems are and I can try to look into some more.

Amir2828August 28, 20190 reactions

So did you mange to find any complete solution that leaves the style tags intact with no changes?

amenkApril 17, 20210 reactions

The solution by @ryandeba seems to influence only the use of inline style attributes like <div style="...">. (but for me those were also not filtered out without overwriting that prototype. We are having the problem that

<style>
...
</style>

is filtered out, not sure if the OP has the same problem

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.