Domanda

Sto lavorando a un CMS. Una delle sue funzioni è la modifica di "blocchi" HTML in un editor Wysiwyg che vengono visualizzati come singole pagine.

Ho un'area nel CMS in cui questi blocchi vengono visualizzati in anteprima.

I blocchi si affidano a un file "fondazione.css" che viene caricato nell'editor Wysiwyg. Fa alcuni piccoli reimposti, definisce un carattere predefinito e un colore di testo ed è nel complesso molto semplice.

Il CMS, ovviamente, viene fornito con una tonnellata di dichiarazioni CSS, molte delle quali influenzano impostazioni generali come dimensioni del carattere, famiglia, colore, altezza della linea, imbottiture e simili.

Naturalmente, quando provo a visualizzare un pezzo HTML in una pagina CMS, sembra diverso da quando viene visualizzato solo con il foglio di stile Fondazione.CSS.

Qualcuno può pensare a un modo per pulire un'area definita in una pagina HTML (diciamo, un div) da tutte le definizioni di stile precedente? Non posso.

  • Un IFRAME che mostra il blocco e l'incorporamento della fondazione.CSS mi aiuterebbe, ma temo che il flusso di lavoro dell'utente quando devono essere resi 5-10 iFrames e quindi regolati in altezza tramite JS una volta caricati. Che schifo.

  • Ho pensato di "sollevare" tutti gli altri CS su una sotto-Classe (cioè regolare il CSS del CMS), ma ciò comporterebbe il tocco di molti file, alcuni probabilmente il codice sorgente PHP, e preferirei non farlo.

Non credo che questa abbia una soluzione ma non lo sai mai.

È stato utile?

Soluzione

Potresti dare a tutti i div che contengono un codice dall'editor Wysiwyg una classe e quindi ripristinare tutto all'interno di quel div.

Altri suggerimenti

Ci sono RESET CSS fogli di stile disponibili; Potresti modificarli, forse?

Aggiungendo a ciò che GSTO ha detto che puoi avere un po 'di stile come

div.clearCss *
{
  property: value !important 
}

Con tutte le proprietà di stile pertinenti reset. Questo stile dovrebbe applicarsi a qualsiasi cosa sotto un elemento con set ClearCSS in quanto la sua classe, quindi dovresti solo applicare quella classe all'elemento genitore.

Stai usando un editor Wysiwyg specifico in CMS? Ho scoperto che Telerik Radeditor ti permetterà di utilizzare fogli di stile specifici per l'area di editing effettiva dell'editor. L'editore che stai usando potrebbe anche essere in grado di farlo.

Buona fortuna e spero che questo aiuti.

Se prendi Tinymce Ad esempio, usano anche un iforame, penso che abbiano avuto gli stessi problemi come te. Lo uso nel mio backend e su alcune pagine 4 iframe. Non vedo alcun problema di prestazione.

Con TinyMce è possibile comprimere le funzioni di cui hai bisogno (in PHP, JSP, .NET e Coldfusion), questo ti dà un ottimo sweetboost.

Pensaci due volte, bevore scrivi il tuo editore Wysiwyg, gli altri sono ben testati e hanno una cuccetta di ottime plugin per quasi ogni esigenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top