28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je cherche à faire un style css qui serait un reset de toutes les propriétés css.

En effet, dans une page dynamique, j'utilise un texte qui a été mis en forme par un éditeur de texte riche (ckeditor).

Si je fais
<div>#mon texte venant de l'éditeur#</div>

Le texte affiché sera mis en page en fonction des styles et héritages css des blocs dans lesquels il s'affiche.

Je souhaite faire un style que j'applique à mon div et qui appliquerait la valeur 'initial' à toutes les propriétés qui auraient été modifiée auparavant.

Est ce possible ?

Merci de votre aide.
Bonjour,

Ce n'est pas vraiment possible en simple CSS (les valeurs que tu pourrais définir pour div seraient héritée, mais ne se substitueraient pas à celles des éléments contenus dans le div).

Une solution pourrait être de faire un traitement PHP pour supprimer les styles appliqués par l'éditeur.

Une autre solution serait de reconfigurer l'éditeur afin de ne pas laisser à ses utilisateurs le loisir d'appliquer des styles personnels.
Merci pour cette réponse.
Mais justement, c'est l'inverse que je cherche à faire, à savoir retrouver la mise en page de l'éditeur en écrasant les styles prédéfinis.

Je sens que je vais devoir faire une classe css dans laquelle je place un 'initial' pour toutes les propriétés critiques.

Par exemple, actuellement, j'ai un font-weight normal sur la balise strong. Du coup, quand on veut mettre du gras dans l'éditeur ça n'a aucun effet. Un peu inutile d'avoir mis un éditeur...

Encore merci,
A bientot
Tu ne peux effectivement pas dire en CSS que l'héritage des propriétés CSS doit être bloqué (ce serait parfois utile mais ça n'existe pas), ou que des sélecteurs qui s'appliquent à tes éléments, par exemple un a {...}, ne doivent pas s'appliquer (ce serait assez étrange...).

Pour insérer un document dont la mise en forme est spécifique dans un autre document, il y a un élément HTML nommé IFRAME qui peut être utile. Smiley smile
Dans certains cas ça peut être une solution intéressante. Le seul problème avec IFRAME c'est que l'élément IFRAME lui-même doit avoir une hauteur fixe, ce qui est pas terrible. On peut contourner le problème avec un peu de JavaScript, mais c'est pas idéal.

Une solution pragmatique, utilisable dans beaucoup de cas, consiste à avoir des styles CSS bien définis et à la portée limitée. De sorte que quand tu ajoutes un nouveau module de contenu à la page il n'hérite pas de dizaines de styles existants si tu ne le souhaites pas.
Modifié par Florent V. (15 Nov 2010 - 14:06)